Mercedes.VehicleManagement.API

<back to all web services

VehicleDetailsRequest

Vehicle
Requires Authentication
The following routes are available for this service:
GET/v1/details/{vehicleType}/{Identifier}Get Vehicle Details
GET/details/{vehicleType}/{Identifier}Get Vehicle Details
import 'package:servicestack/servicestack.dart';

class VehicleAuditDetails implements IConvertible
{
    String? userId;
    bool? status;
    String? notes;
    String? creationDate;

    VehicleAuditDetails({this.userId,this.status,this.notes,this.creationDate});
    VehicleAuditDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        userId = json['userId'];
        status = json['status'];
        notes = json['notes'];
        creationDate = json['creationDate'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'userId': userId,
        'status': status,
        'notes': notes,
        'creationDate': creationDate
    };

    getTypeName() => "VehicleAuditDetails";
    TypeContext? context = _ctx;
}

class BackOrderVehicleDetailsBase implements IConvertible
{
    String? vin;
    String? commissionNumber;
    String? description;
    String? model;
    String? fullModelYearCode;
    int? retailerId;
    String? imageUrl;
    String? colour;
    String? colourDescription;
    String? bodyStyle;
    String? fuelType;
    String? transmission;
    String? transmissionType;
    String? package;
    List<String>? packages = [];
    String? line;
    String? upholstery;
    String? upholsteryDescription;
    String? usageCode;
    String? account;
    String? nst;
    String? baumuster;
    double? electricRange;
    double? electricConsumption;
    double? retailPrice_ExVAT;
    double? actualPrice;
    double? otrPrice;
    String? vehicleType;
    bool? secured;
    String? productionDate;
    DateTime? portArrivalDate;
    String? displayRetailer;
    String? location;
    String? bm7NST;
    bool? isAvailableOnline;
    bool? isSpecialistCar;
    bool? isSellable;
    bool? inBackOrderAccount;
    List<VehicleAuditDetails>? vehicleAuditDetails = [];
    List<String>? ispVehicleCustomerDescriptions;
    bool? underOffer;
    bool? isAllocatedToBackOrder;

    BackOrderVehicleDetailsBase({this.vin,this.commissionNumber,this.description,this.model,this.fullModelYearCode,this.retailerId,this.imageUrl,this.colour,this.colourDescription,this.bodyStyle,this.fuelType,this.transmission,this.transmissionType,this.package,this.packages,this.line,this.upholstery,this.upholsteryDescription,this.usageCode,this.account,this.nst,this.baumuster,this.electricRange,this.electricConsumption,this.retailPrice_ExVAT,this.actualPrice,this.otrPrice,this.vehicleType,this.secured,this.productionDate,this.portArrivalDate,this.displayRetailer,this.location,this.bm7NST,this.isAvailableOnline,this.isSpecialistCar,this.isSellable,this.inBackOrderAccount,this.vehicleAuditDetails,this.ispVehicleCustomerDescriptions,this.underOffer,this.isAllocatedToBackOrder});
    BackOrderVehicleDetailsBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        vin = json['vin'];
        commissionNumber = json['commissionNumber'];
        description = json['description'];
        model = json['model'];
        fullModelYearCode = json['fullModelYearCode'];
        retailerId = json['retailerId'];
        imageUrl = json['imageUrl'];
        colour = json['colour'];
        colourDescription = json['colourDescription'];
        bodyStyle = json['bodyStyle'];
        fuelType = json['fuelType'];
        transmission = json['transmission'];
        transmissionType = json['transmissionType'];
        package = json['package'];
        packages = JsonConverters.fromJson(json['packages'],'List<String>',context!);
        line = json['line'];
        upholstery = json['upholstery'];
        upholsteryDescription = json['upholsteryDescription'];
        usageCode = json['usageCode'];
        account = json['account'];
        nst = json['nst'];
        baumuster = json['baumuster'];
        electricRange = JsonConverters.toDouble(json['electricRange']);
        electricConsumption = JsonConverters.toDouble(json['electricConsumption']);
        retailPrice_ExVAT = JsonConverters.toDouble(json['retailPrice_ExVAT']);
        actualPrice = JsonConverters.toDouble(json['actualPrice']);
        otrPrice = JsonConverters.toDouble(json['otrPrice']);
        vehicleType = json['vehicleType'];
        secured = json['secured'];
        productionDate = json['productionDate'];
        portArrivalDate = JsonConverters.fromJson(json['portArrivalDate'],'DateTime',context!);
        displayRetailer = json['displayRetailer'];
        location = json['location'];
        bm7NST = json['bm7NST'];
        isAvailableOnline = json['isAvailableOnline'];
        isSpecialistCar = json['isSpecialistCar'];
        isSellable = json['isSellable'];
        inBackOrderAccount = json['inBackOrderAccount'];
        vehicleAuditDetails = JsonConverters.fromJson(json['vehicleAuditDetails'],'List<VehicleAuditDetails>',context!);
        ispVehicleCustomerDescriptions = JsonConverters.fromJson(json['ispVehicleCustomerDescriptions'],'List<String>',context!);
        underOffer = json['underOffer'];
        isAllocatedToBackOrder = json['isAllocatedToBackOrder'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'vin': vin,
        'commissionNumber': commissionNumber,
        'description': description,
        'model': model,
        'fullModelYearCode': fullModelYearCode,
        'retailerId': retailerId,
        'imageUrl': imageUrl,
        'colour': colour,
        'colourDescription': colourDescription,
        'bodyStyle': bodyStyle,
        'fuelType': fuelType,
        'transmission': transmission,
        'transmissionType': transmissionType,
        'package': package,
        'packages': JsonConverters.toJson(packages,'List<String>',context!),
        'line': line,
        'upholstery': upholstery,
        'upholsteryDescription': upholsteryDescription,
        'usageCode': usageCode,
        'account': account,
        'nst': nst,
        'baumuster': baumuster,
        'electricRange': electricRange,
        'electricConsumption': electricConsumption,
        'retailPrice_ExVAT': retailPrice_ExVAT,
        'actualPrice': actualPrice,
        'otrPrice': otrPrice,
        'vehicleType': vehicleType,
        'secured': secured,
        'productionDate': productionDate,
        'portArrivalDate': JsonConverters.toJson(portArrivalDate,'DateTime',context!),
        'displayRetailer': displayRetailer,
        'location': location,
        'bm7NST': bm7NST,
        'isAvailableOnline': isAvailableOnline,
        'isSpecialistCar': isSpecialistCar,
        'isSellable': isSellable,
        'inBackOrderAccount': inBackOrderAccount,
        'vehicleAuditDetails': JsonConverters.toJson(vehicleAuditDetails,'List<VehicleAuditDetails>',context!),
        'ispVehicleCustomerDescriptions': JsonConverters.toJson(ispVehicleCustomerDescriptions,'List<String>',context!),
        'underOffer': underOffer,
        'isAllocatedToBackOrder': isAllocatedToBackOrder
    };

    getTypeName() => "BackOrderVehicleDetailsBase";
    TypeContext? context = _ctx;
}

class BackOrderVehicleDetails extends BackOrderVehicleDetailsBase implements IConvertible
{
    String? engine;

    BackOrderVehicleDetails({this.engine});
    BackOrderVehicleDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        engine = json['engine'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'engine': engine
    });

    getTypeName() => "BackOrderVehicleDetails";
    TypeContext? context = _ctx;
}

class VehicleDetailsResponse implements IConvertible
{
    BackOrderVehicleDetails? vehicle;

    VehicleDetailsResponse({this.vehicle});
    VehicleDetailsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        vehicle = JsonConverters.fromJson(json['vehicle'],'BackOrderVehicleDetails',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'vehicle': JsonConverters.toJson(vehicle,'BackOrderVehicleDetails',context!)
    };

    getTypeName() => "VehicleDetailsResponse";
    TypeContext? context = _ctx;
}

class VehicleDetailsRequest implements IGet, IConvertible
{
    String? identifier;
    String? vehicleType;

    VehicleDetailsRequest({this.identifier,this.vehicleType});
    VehicleDetailsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        identifier = json['identifier'];
        vehicleType = json['vehicleType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'identifier': identifier,
        'vehicleType': vehicleType
    };

    getTypeName() => "VehicleDetailsRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'uat_api_vehicle_mgt_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
    'VehicleAuditDetails': TypeInfo(TypeOf.Class, create:() => VehicleAuditDetails()),
    'BackOrderVehicleDetailsBase': TypeInfo(TypeOf.Class, create:() => BackOrderVehicleDetailsBase()),
    'List<VehicleAuditDetails>': TypeInfo(TypeOf.Class, create:() => <VehicleAuditDetails>[]),
    'BackOrderVehicleDetails': TypeInfo(TypeOf.Class, create:() => BackOrderVehicleDetails()),
    'VehicleDetailsResponse': TypeInfo(TypeOf.Class, create:() => VehicleDetailsResponse()),
    'VehicleDetailsRequest': TypeInfo(TypeOf.Class, create:() => VehicleDetailsRequest()),
});

Dart VehicleDetailsRequest 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/details/{vehicleType}/{Identifier} 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

<VehicleDetailsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.VehicleManagement.API.Shared.POCO.V3">
  <Vehicle>
    <Account>String</Account>
    <ActualPrice>0</ActualPrice>
    <Baumuster>String</Baumuster>
    <Bm7NST>String</Bm7NST>
    <BodyStyle>String</BodyStyle>
    <Colour>String</Colour>
    <ColourDescription>String</ColourDescription>
    <CommissionNumber>String</CommissionNumber>
    <Description>String</Description>
    <DisplayRetailer>String</DisplayRetailer>
    <ElectricConsumption>0</ElectricConsumption>
    <ElectricRange>0</ElectricRange>
    <FuelType>String</FuelType>
    <FullModelYearCode>String</FullModelYearCode>
    <ImageUrl>String</ImageUrl>
    <InBackOrderAccount>false</InBackOrderAccount>
    <IsAllocatedToBackOrder>false</IsAllocatedToBackOrder>
    <IsAvailableOnline>false</IsAvailableOnline>
    <IsSellable>false</IsSellable>
    <IsSpecialistCar>false</IsSpecialistCar>
    <IspVehicleCustomerDescriptions xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </IspVehicleCustomerDescriptions>
    <Line>String</Line>
    <Location>String</Location>
    <Model>String</Model>
    <NST>String</NST>
    <OTRPrice>0</OTRPrice>
    <Package>String</Package>
    <Packages xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </Packages>
    <PortArrivalDate>0001-01-01T00:00:00</PortArrivalDate>
    <ProductionDate>String</ProductionDate>
    <RetailPrice_ExVAT>0</RetailPrice_ExVAT>
    <RetailerId>0</RetailerId>
    <Secured>false</Secured>
    <Transmission>String</Transmission>
    <TransmissionType>String</TransmissionType>
    <UnderOffer>false</UnderOffer>
    <Upholstery>String</Upholstery>
    <UpholsteryDescription>String</UpholsteryDescription>
    <UsageCode>String</UsageCode>
    <VehicleAuditDetails>
      <VehicleAuditDetails>
        <CreationDate>String</CreationDate>
        <Notes>String</Notes>
        <Status>false</Status>
        <UserId>String</UserId>
      </VehicleAuditDetails>
    </VehicleAuditDetails>
    <VehicleType>String</VehicleType>
    <Vin>String</Vin>
    <Engine>String</Engine>
  </Vehicle>
</VehicleDetailsResponse>