Mercedes.VehicleManagement.API

<back to all web services

VehicleByCommissionNumberRequest

Vehicle
Requires Authentication
The following routes are available for this service:
GET/v1/{VehicleType}/Vehicle/{vehicleIdentifier}Get vehicle data by commission number
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OfferVehicle:
    retail_price_ex_v_a_t: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Offer:
    id: int = 0
    offer_type: Optional[str] = None
    campaign_name: Optional[str] = None
    from_: Optional[str] = field(metadata=config(field_name='from'), default=None)
    to: Optional[str] = None
    value: Optional[str] = None
    net: Optional[Decimal] = None
    offer_vehicle: Optional[OfferVehicle] = None
    pending: bool = False
    document_url: Optional[str] = None
    personalised: bool = False
    is_personalised_monetary_offer: bool = False
    campaign_v_i_p_discount: bool = False
    offer_value_net: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PersonalisedOffer(Offer):
    category: Optional[str] = None
    description: Optional[str] = None
    reference: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Message:
    id: int = 0
    vin: Optional[str] = None
    campaign_id: int = 0
    value: Optional[str] = None
    campaign_description: Optional[str] = None
    from_: Optional[str] = field(metadata=config(field_name='from'), default=None)
    to: Optional[str] = None
    document_url: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OfferHistory:
    id: int = 0
    audit_type: Optional[str] = None
    offer_type: Optional[str] = None
    source: Optional[str] = None
    from_: Optional[str] = field(metadata=config(field_name='from'), default=None)
    to: Optional[str] = None
    personalised: bool = False
    value: Optional[str] = None
    net: Optional[str] = None
    vat: Optional[str] = None
    description: Optional[str] = None
    vin: Optional[str] = None
    gssn: Optional[str] = None
    creation: Optional[str] = None
    modified: Optional[str] = None
    user_id: Optional[str] = None
    user: int = 0
    offer_id: int = 0
    commission_number: Optional[str] = None
    campaign_id: Optional[int] = None
    campaign_description: Optional[str] = None
    creation_date: datetime.datetime = datetime.datetime(1, 1, 1)
    is_used_car_offer: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FinanceOffer:
    campaign_description: Optional[str] = None
    terms_and_conditions: Optional[str] = None
    label: Optional[str] = None
    campaign_id: int = 0
    document_url: Optional[str] = None
    from_: Optional[str] = field(metadata=config(field_name='from'), default=None)
    id: int = 0
    to: Optional[str] = None
    value: Optional[str] = None
    vin: Optional[str] = None
    enabled: bool = False
    pending: bool = False
    offer_type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleByIdentifierResponse:
    campaign_offers: List[Offer] = field(default_factory=list)
    campaign_personalised_offers: List[PersonalisedOffer] = field(default_factory=list)
    campaign_o_l_e_v_grant_offers: List[Offer] = field(default_factory=list)
    campaign_messages: List[Message] = field(default_factory=list)
    offer_histories: Optional[List[OfferHistory]] = None
    finance_offers: Optional[List[FinanceOffer]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleDataBase:
    vin: Optional[str] = None
    description: Optional[str] = None
    model: Optional[str] = None
    otr: Optional[str] = None
    retail_price_ex_v_a_t: Optional[str] = None
    actual_price: Optional[str] = None
    fuel_type: Optional[str] = None
    transmission: Optional[str] = None
    transmission_type: Optional[str] = None
    colour: Optional[str] = None
    colour_code: Optional[str] = None
    colour_description: Optional[str] = None
    commission_number: Optional[str] = None
    offer_available: bool = False
    campaign_discount_offer_total: int = 0
    campaign_discount_offer_total_current: int = 0
    campaign_discount_offer_total_pending: int = 0
    campaign_service_offer_total: int = 0
    campaign_service_offer_total_current: int = 0
    campaign_service_offer_total_pending: int = 0
    campaign_custom_offer_total: int = 0
    campaign_personalised_offer_total_current: int = 0
    campaign_personalised_offer_total_pending: int = 0
    campaign_personalised_offer_total: int = 0
    campaign_custom_offer_total_current: int = 0
    campaign_custom_offer_total_pending: int = 0
    campaign_other_offer_total: int = 0
    campaign_other_offer_total_current: int = 0
    campaign_other_offer_total_pending: int = 0
    retailer_discount_offer_total: int = 0
    retailer_discount_offer_total_current: int = 0
    retailer_discount_offer_total_pending: int = 0
    retailer_service_offer_total: int = 0
    retailer_service_offer_total_current: int = 0
    retailer_service_offer_total_pending: int = 0
    retailer_custom_offer_total: int = 0
    retailer_custom_offer_total_current: int = 0
    retailer_custom_offer_total_pending: int = 0
    retailer_warranty_offer_total: int = 0
    retailer_warranty_offer_total_current: int = 0
    retailer_warranty_offer_total_pending: int = 0
    retailer_offer_total: int = 0
    retailer_offer_total_current: int = 0
    retailer_offer_total_pending: int = 0
    campaign_offer_total: int = 0
    campaign_offer_total_current: int = 0
    campaign_offer_total_pending: int = 0
    campaign_and_offer_total: int = 0
    campaign_and_offer_total_current: int = 0
    campaign_and_offer_total_pending: int = 0
    offer_total: int = 0
    offer_total_current: int = 0
    offer_total_pending: int = 0
    creation: Optional[str] = None
    modified: Optional[str] = None
    electric_range: int = 0
    electric_consumption: int = 0
    port_arrival_date: Optional[datetime.datetime] = None
    days_since_port_arrival: Optional[int] = None
    retail_price_inc_v_a_t: Decimal = decimal.Decimal(0)
    body_style: Optional[str] = None
    upholstery: Optional[str] = None
    upholstery_code: Optional[str] = None
    upholstery_type: Optional[str] = None
    package_names: List[str] = field(default_factory=list)
    line: Optional[str] = None
    current_retailer_offer_price: Decimal = decimal.Decimal(0)
    retail_price: Optional[str] = None
    vat_qualifying: bool = False
    retailer_id: int = 0
    gssn_id: Optional[str] = None
    no_image: bool = False
    image_url: Optional[str] = None
    is_available_online: bool = False
    is_back_ordered: bool = False
    creation_date: Optional[str] = None
    maintenance_date: Optional[str] = None
    registration_number: Optional[str] = None
    registration_date: Optional[datetime.datetime] = None
    mileage: Optional[int] = None
    trade_in_date: Optional[datetime.datetime] = None
    source: Optional[str] = None
    vehicle_type: Optional[str] = None
    offer_amount: Optional[str] = None
    offer_expiry: Optional[str] = None
    active_offers: List[int] = field(default_factory=list)
    campaign_messages_total: int = 0
    under_offer: bool = False
    is_display_stock: bool = False
    display_retailer: Optional[str] = None
    display_retailer_gssn_id: Optional[str] = None
    location: Optional[str] = None
    account: Optional[str] = None
    account_type: Optional[str] = None
    usage_code: Optional[str] = None
    bm7_n_s_t: Optional[str] = None
    is_sellable: bool = False
    secured: bool = False
    specialist: bool = False
    is_motability_retailer: bool = False
    upholstery_description: Optional[str] = None
    in_back_order_account: bool = False
    full_model_year_code: Optional[str] = None
    production_date: Optional[datetime.datetime] = None
    baumuster: Optional[str] = None
    is_motability: bool = False
    pip_advance_rental_gross: Optional[Decimal] = None
    wpms_advance_rental_gross: Optional[Decimal] = None
    isp_vehicle_customer_descriptions: Optional[List[str]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleData(VehicleDataBase):
    engine: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Equipment:
    id: int = 0
    code: Optional[str] = None
    description: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleIdentifierData(VehicleData):
    retailer: Optional[str] = None
    has_motability_error: bool = False
    equipment: List[Equipment] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleByCommissionNumberResponse(VehicleByIdentifierResponse):
    vehicle: Optional[VehicleIdentifierData] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class VehicleByCommissionNumberRequest(IGet):
    vehicle_identifier: Optional[str] = None
    vehicle_type: Optional[str] = None

Python VehicleByCommissionNumberRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /v1/{VehicleType}/Vehicle/{vehicleIdentifier} HTTP/1.1 
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<VehicleByCommissionNumberResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.Shared.POCO">
  <CampaignMessages>
    <Message>
      <CampaignDescription>String</CampaignDescription>
      <CampaignId>0</CampaignId>
      <DocumentUrl>String</DocumentUrl>
      <From>String</From>
      <Id>0</Id>
      <To>String</To>
      <Value>String</Value>
      <Vin>String</Vin>
    </Message>
  </CampaignMessages>
  <CampaignOLEVGrantOffers>
    <Offer>
      <CampaignName>String</CampaignName>
      <CampaignVIPDiscount>false</CampaignVIPDiscount>
      <DocumentUrl>String</DocumentUrl>
      <From>String</From>
      <Id>0</Id>
      <IsPersonalisedMonetaryOffer>false</IsPersonalisedMonetaryOffer>
      <Net>0</Net>
      <OfferType>String</OfferType>
      <OfferValueNet>0</OfferValueNet>
      <OfferVehicle>
        <RetailPriceExVAT>String</RetailPriceExVAT>
      </OfferVehicle>
      <Pending>false</Pending>
      <Personalised>false</Personalised>
      <To>String</To>
      <Value>String</Value>
    </Offer>
  </CampaignOLEVGrantOffers>
  <CampaignOffers>
    <Offer>
      <CampaignName>String</CampaignName>
      <CampaignVIPDiscount>false</CampaignVIPDiscount>
      <DocumentUrl>String</DocumentUrl>
      <From>String</From>
      <Id>0</Id>
      <IsPersonalisedMonetaryOffer>false</IsPersonalisedMonetaryOffer>
      <Net>0</Net>
      <OfferType>String</OfferType>
      <OfferValueNet>0</OfferValueNet>
      <OfferVehicle>
        <RetailPriceExVAT>String</RetailPriceExVAT>
      </OfferVehicle>
      <Pending>false</Pending>
      <Personalised>false</Personalised>
      <To>String</To>
      <Value>String</Value>
    </Offer>
  </CampaignOffers>
  <CampaignPersonalisedOffers>
    <PersonalisedOffer>
      <CampaignName>String</CampaignName>
      <CampaignVIPDiscount>false</CampaignVIPDiscount>
      <DocumentUrl>String</DocumentUrl>
      <From>String</From>
      <Id>0</Id>
      <IsPersonalisedMonetaryOffer>false</IsPersonalisedMonetaryOffer>
      <Net>0</Net>
      <OfferType>String</OfferType>
      <OfferValueNet>0</OfferValueNet>
      <OfferVehicle>
        <RetailPriceExVAT>String</RetailPriceExVAT>
      </OfferVehicle>
      <Pending>false</Pending>
      <Personalised>false</Personalised>
      <To>String</To>
      <Value>String</Value>
      <Category>String</Category>
      <Description>String</Description>
      <Reference>String</Reference>
    </PersonalisedOffer>
  </CampaignPersonalisedOffers>
  <FinanceOffers>
    <FinanceOffer>
      <CampaignDescription>String</CampaignDescription>
      <CampaignId>0</CampaignId>
      <DocumentUrl>String</DocumentUrl>
      <Enabled>false</Enabled>
      <From>String</From>
      <Id>0</Id>
      <Label>String</Label>
      <OfferType>String</OfferType>
      <Pending>false</Pending>
      <TermsAndConditions>String</TermsAndConditions>
      <To>String</To>
      <Value>String</Value>
      <Vin>String</Vin>
    </FinanceOffer>
  </FinanceOffers>
  <OfferHistories>
    <OfferHistory>
      <AuditType>String</AuditType>
      <CampaignDescription>String</CampaignDescription>
      <CampaignId>0</CampaignId>
      <CommissionNumber>String</CommissionNumber>
      <Creation>String</Creation>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <Description>String</Description>
      <From>String</From>
      <Gssn>String</Gssn>
      <Id>0</Id>
      <IsUsedCarOffer>false</IsUsedCarOffer>
      <Modified>String</Modified>
      <Net>String</Net>
      <OfferId>0</OfferId>
      <OfferType>String</OfferType>
      <Personalised>false</Personalised>
      <Source>String</Source>
      <To>String</To>
      <User>0</User>
      <UserId>String</UserId>
      <VAT>String</VAT>
      <Value>String</Value>
      <Vin>String</Vin>
    </OfferHistory>
  </OfferHistories>
  <Vehicle>
    <Account>String</Account>
    <AccountType>String</AccountType>
    <ActiveOffers xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:int>0</d3p1:int>
    </ActiveOffers>
    <ActualPrice>String</ActualPrice>
    <Baumuster>String</Baumuster>
    <Bm7NST>String</Bm7NST>
    <BodyStyle>String</BodyStyle>
    <CampaignAndOfferTotal>0</CampaignAndOfferTotal>
    <CampaignAndOfferTotalCurrent>0</CampaignAndOfferTotalCurrent>
    <CampaignAndOfferTotalPending>0</CampaignAndOfferTotalPending>
    <CampaignCustomOfferTotal>0</CampaignCustomOfferTotal>
    <CampaignCustomOfferTotalCurrent>0</CampaignCustomOfferTotalCurrent>
    <CampaignCustomOfferTotalPending>0</CampaignCustomOfferTotalPending>
    <CampaignDiscountOfferTotal>0</CampaignDiscountOfferTotal>
    <CampaignDiscountOfferTotalCurrent>0</CampaignDiscountOfferTotalCurrent>
    <CampaignDiscountOfferTotalPending>0</CampaignDiscountOfferTotalPending>
    <CampaignMessagesTotal>0</CampaignMessagesTotal>
    <CampaignOfferTotal>0</CampaignOfferTotal>
    <CampaignOfferTotalCurrent>0</CampaignOfferTotalCurrent>
    <CampaignOfferTotalPending>0</CampaignOfferTotalPending>
    <CampaignOtherOfferTotal>0</CampaignOtherOfferTotal>
    <CampaignOtherOfferTotalCurrent>0</CampaignOtherOfferTotalCurrent>
    <CampaignOtherOfferTotalPending>0</CampaignOtherOfferTotalPending>
    <CampaignPersonalisedOfferTotal>0</CampaignPersonalisedOfferTotal>
    <CampaignPersonalisedOfferTotalCurrent>0</CampaignPersonalisedOfferTotalCurrent>
    <CampaignPersonalisedOfferTotalPending>0</CampaignPersonalisedOfferTotalPending>
    <CampaignServiceOfferTotal>0</CampaignServiceOfferTotal>
    <CampaignServiceOfferTotalCurrent>0</CampaignServiceOfferTotalCurrent>
    <CampaignServiceOfferTotalPending>0</CampaignServiceOfferTotalPending>
    <Colour>String</Colour>
    <ColourCode>String</ColourCode>
    <ColourDescription>String</ColourDescription>
    <CommissionNumber>String</CommissionNumber>
    <Creation>String</Creation>
    <CreationDate>String</CreationDate>
    <CurrentRetailerOfferPrice>0</CurrentRetailerOfferPrice>
    <DaysSincePortArrival>0</DaysSincePortArrival>
    <Description>String</Description>
    <DisplayRetailer>String</DisplayRetailer>
    <DisplayRetailerGssnId>String</DisplayRetailerGssnId>
    <ElectricConsumption>0</ElectricConsumption>
    <ElectricRange>0</ElectricRange>
    <FuelType>String</FuelType>
    <FullModelYearCode>String</FullModelYearCode>
    <GssnId>String</GssnId>
    <ImageUrl>String</ImageUrl>
    <InBackOrderAccount>false</InBackOrderAccount>
    <IsAvailableOnline>false</IsAvailableOnline>
    <IsBackOrdered>false</IsBackOrdered>
    <IsDisplayStock>false</IsDisplayStock>
    <IsMotability>false</IsMotability>
    <IsMotabilityRetailer>false</IsMotabilityRetailer>
    <IsSellable>false</IsSellable>
    <IspVehicleCustomerDescriptions xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </IspVehicleCustomerDescriptions>
    <Line>String</Line>
    <Location>String</Location>
    <MaintenanceDate>String</MaintenanceDate>
    <Mileage>0</Mileage>
    <Model>String</Model>
    <Modified>String</Modified>
    <NoImage>false</NoImage>
    <OfferAmount>String</OfferAmount>
    <OfferAvailable>false</OfferAvailable>
    <OfferExpiry>String</OfferExpiry>
    <OfferTotal>0</OfferTotal>
    <OfferTotalCurrent>0</OfferTotalCurrent>
    <OfferTotalPending>0</OfferTotalPending>
    <Otr>String</Otr>
    <PackageNames xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </PackageNames>
    <PipAdvanceRentalGross>0</PipAdvanceRentalGross>
    <PortArrivalDate>0001-01-01T00:00:00</PortArrivalDate>
    <ProductionDate>0001-01-01T00:00:00</ProductionDate>
    <RegistrationDate>0001-01-01T00:00:00</RegistrationDate>
    <RegistrationNumber>String</RegistrationNumber>
    <RetailPrice>String</RetailPrice>
    <RetailPriceExVAT>String</RetailPriceExVAT>
    <RetailPriceIncVAT>0</RetailPriceIncVAT>
    <RetailerCustomOfferTotal>0</RetailerCustomOfferTotal>
    <RetailerCustomOfferTotalCurrent>0</RetailerCustomOfferTotalCurrent>
    <RetailerCustomOfferTotalPending>0</RetailerCustomOfferTotalPending>
    <RetailerDiscountOfferTotal>0</RetailerDiscountOfferTotal>
    <RetailerDiscountOfferTotalCurrent>0</RetailerDiscountOfferTotalCurrent>
    <RetailerDiscountOfferTotalPending>0</RetailerDiscountOfferTotalPending>
    <RetailerId>0</RetailerId>
    <RetailerOfferTotal>0</RetailerOfferTotal>
    <RetailerOfferTotalCurrent>0</RetailerOfferTotalCurrent>
    <RetailerOfferTotalPending>0</RetailerOfferTotalPending>
    <RetailerServiceOfferTotal>0</RetailerServiceOfferTotal>
    <RetailerServiceOfferTotalCurrent>0</RetailerServiceOfferTotalCurrent>
    <RetailerServiceOfferTotalPending>0</RetailerServiceOfferTotalPending>
    <RetailerWarrantyOfferTotal>0</RetailerWarrantyOfferTotal>
    <RetailerWarrantyOfferTotalCurrent>0</RetailerWarrantyOfferTotalCurrent>
    <RetailerWarrantyOfferTotalPending>0</RetailerWarrantyOfferTotalPending>
    <Secured>false</Secured>
    <Source>String</Source>
    <Specialist>false</Specialist>
    <TradeInDate>0001-01-01T00:00:00</TradeInDate>
    <Transmission>String</Transmission>
    <TransmissionType>String</TransmissionType>
    <UnderOffer>false</UnderOffer>
    <Upholstery>String</Upholstery>
    <UpholsteryCode>String</UpholsteryCode>
    <UpholsteryDescription>String</UpholsteryDescription>
    <UpholsteryType>String</UpholsteryType>
    <UsageCode>String</UsageCode>
    <VATQualifying>false</VATQualifying>
    <VehicleType>String</VehicleType>
    <Vin>String</Vin>
    <WpmsAdvanceRentalGross>0</WpmsAdvanceRentalGross>
    <Engine>String</Engine>
    <Equipment xmlns:d3p1="http://schemas.datacontract.org/2004/07/Mercedes.OS.Vehicle.Shared.POCO">
      <d3p1:Equipment>
        <d3p1:Code>String</d3p1:Code>
        <d3p1:Description>String</d3p1:Description>
        <d3p1:Id>0</d3p1:Id>
      </d3p1:Equipment>
    </Equipment>
    <HasMotabilityError>false</HasMotabilityError>
    <Retailer>String</Retailer>
  </Vehicle>
</VehicleByCommissionNumberResponse>