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 'package:servicestack/servicestack.dart';

class OfferVehicle implements IConvertible
{
    String? retailPriceExVAT;

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

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

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

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

class Offer implements IConvertible
{
    int? id;
    String? offerType;
    String? campaignName;
    String? from;
    String? to;
    String? value;
    double? net;
    OfferVehicle? offerVehicle;
    bool? pending;
    String? documentUrl;
    bool? personalised;
    bool? isPersonalisedMonetaryOffer;
    bool? campaignVIPDiscount;
    double? offerValueNet;

    Offer({this.id,this.offerType,this.campaignName,this.from,this.to,this.value,this.net,this.offerVehicle,this.pending,this.documentUrl,this.personalised,this.isPersonalisedMonetaryOffer,this.campaignVIPDiscount,this.offerValueNet});
    Offer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        offerType = json['offerType'];
        campaignName = json['campaignName'];
        from = json['from'];
        to = json['to'];
        value = json['value'];
        net = JsonConverters.toDouble(json['net']);
        offerVehicle = JsonConverters.fromJson(json['offerVehicle'],'OfferVehicle',context!);
        pending = json['pending'];
        documentUrl = json['documentUrl'];
        personalised = json['personalised'];
        isPersonalisedMonetaryOffer = json['isPersonalisedMonetaryOffer'];
        campaignVIPDiscount = json['campaignVIPDiscount'];
        offerValueNet = JsonConverters.toDouble(json['offerValueNet']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'offerType': offerType,
        'campaignName': campaignName,
        'from': from,
        'to': to,
        'value': value,
        'net': net,
        'offerVehicle': JsonConverters.toJson(offerVehicle,'OfferVehicle',context!),
        'pending': pending,
        'documentUrl': documentUrl,
        'personalised': personalised,
        'isPersonalisedMonetaryOffer': isPersonalisedMonetaryOffer,
        'campaignVIPDiscount': campaignVIPDiscount,
        'offerValueNet': offerValueNet
    };

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

class PersonalisedOffer extends Offer implements IConvertible
{
    String? category;
    String? description;
    String? reference;

    PersonalisedOffer({this.category,this.description,this.reference});
    PersonalisedOffer.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class Message implements IConvertible
{
    int? id;
    String? vin;
    int? campaignId;
    String? value;
    String? campaignDescription;
    String? from;
    String? to;
    String? documentUrl;

    Message({this.id,this.vin,this.campaignId,this.value,this.campaignDescription,this.from,this.to,this.documentUrl});
    Message.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        vin = json['vin'];
        campaignId = json['campaignId'];
        value = json['value'];
        campaignDescription = json['campaignDescription'];
        from = json['from'];
        to = json['to'];
        documentUrl = json['documentUrl'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'vin': vin,
        'campaignId': campaignId,
        'value': value,
        'campaignDescription': campaignDescription,
        'from': from,
        'to': to,
        'documentUrl': documentUrl
    };

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

class OfferHistory implements IConvertible
{
    int? id;
    String? auditType;
    String? offerType;
    String? source;
    String? from;
    String? to;
    bool? personalised;
    String? value;
    String? net;
    String? vat;
    String? description;
    String? vin;
    String? gssn;
    String? creation;
    String? modified;
    String? userId;
    int? user;
    int? offerId;
    String? commissionNumber;
    int? campaignId;
    String? campaignDescription;
    DateTime? creationDate;
    bool? isUsedCarOffer;

    OfferHistory({this.id,this.auditType,this.offerType,this.source,this.from,this.to,this.personalised,this.value,this.net,this.vat,this.description,this.vin,this.gssn,this.creation,this.modified,this.userId,this.user,this.offerId,this.commissionNumber,this.campaignId,this.campaignDescription,this.creationDate,this.isUsedCarOffer});
    OfferHistory.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        auditType = json['auditType'];
        offerType = json['offerType'];
        source = json['source'];
        from = json['from'];
        to = json['to'];
        personalised = json['personalised'];
        value = json['value'];
        net = json['net'];
        vat = json['vat'];
        description = json['description'];
        vin = json['vin'];
        gssn = json['gssn'];
        creation = json['creation'];
        modified = json['modified'];
        userId = json['userId'];
        user = json['user'];
        offerId = json['offerId'];
        commissionNumber = json['commissionNumber'];
        campaignId = json['campaignId'];
        campaignDescription = json['campaignDescription'];
        creationDate = JsonConverters.fromJson(json['creationDate'],'DateTime',context!);
        isUsedCarOffer = json['isUsedCarOffer'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'auditType': auditType,
        'offerType': offerType,
        'source': source,
        'from': from,
        'to': to,
        'personalised': personalised,
        'value': value,
        'net': net,
        'vat': vat,
        'description': description,
        'vin': vin,
        'gssn': gssn,
        'creation': creation,
        'modified': modified,
        'userId': userId,
        'user': user,
        'offerId': offerId,
        'commissionNumber': commissionNumber,
        'campaignId': campaignId,
        'campaignDescription': campaignDescription,
        'creationDate': JsonConverters.toJson(creationDate,'DateTime',context!),
        'isUsedCarOffer': isUsedCarOffer
    };

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

class FinanceOffer implements IConvertible
{
    String? campaignDescription;
    String? termsAndConditions;
    String? label;
    int? campaignId;
    String? documentUrl;
    String? from;
    int? id;
    String? to;
    String? value;
    String? vin;
    bool? enabled;
    bool? pending;
    String? offerType;

    FinanceOffer({this.campaignDescription,this.termsAndConditions,this.label,this.campaignId,this.documentUrl,this.from,this.id,this.to,this.value,this.vin,this.enabled,this.pending,this.offerType});
    FinanceOffer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        campaignDescription = json['campaignDescription'];
        termsAndConditions = json['termsAndConditions'];
        label = json['label'];
        campaignId = json['campaignId'];
        documentUrl = json['documentUrl'];
        from = json['from'];
        id = json['id'];
        to = json['to'];
        value = json['value'];
        vin = json['vin'];
        enabled = json['enabled'];
        pending = json['pending'];
        offerType = json['offerType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'campaignDescription': campaignDescription,
        'termsAndConditions': termsAndConditions,
        'label': label,
        'campaignId': campaignId,
        'documentUrl': documentUrl,
        'from': from,
        'id': id,
        'to': to,
        'value': value,
        'vin': vin,
        'enabled': enabled,
        'pending': pending,
        'offerType': offerType
    };

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

class VehicleByIdentifierResponse implements IConvertible
{
    List<Offer>? campaignOffers = [];
    List<PersonalisedOffer>? campaignPersonalisedOffers = [];
    List<Offer>? campaignOLEVGrantOffers = [];
    List<Message>? campaignMessages = [];
    List<OfferHistory>? offerHistories;
    List<FinanceOffer>? financeOffers;

    VehicleByIdentifierResponse({this.campaignOffers,this.campaignPersonalisedOffers,this.campaignOLEVGrantOffers,this.campaignMessages,this.offerHistories,this.financeOffers});
    VehicleByIdentifierResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        campaignOffers = JsonConverters.fromJson(json['campaignOffers'],'List<Offer>',context!);
        campaignPersonalisedOffers = JsonConverters.fromJson(json['campaignPersonalisedOffers'],'List<PersonalisedOffer>',context!);
        campaignOLEVGrantOffers = JsonConverters.fromJson(json['campaignOLEVGrantOffers'],'List<Offer>',context!);
        campaignMessages = JsonConverters.fromJson(json['campaignMessages'],'List<Message>',context!);
        offerHistories = JsonConverters.fromJson(json['offerHistories'],'List<OfferHistory>',context!);
        financeOffers = JsonConverters.fromJson(json['financeOffers'],'List<FinanceOffer>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'campaignOffers': JsonConverters.toJson(campaignOffers,'List<Offer>',context!),
        'campaignPersonalisedOffers': JsonConverters.toJson(campaignPersonalisedOffers,'List<PersonalisedOffer>',context!),
        'campaignOLEVGrantOffers': JsonConverters.toJson(campaignOLEVGrantOffers,'List<Offer>',context!),
        'campaignMessages': JsonConverters.toJson(campaignMessages,'List<Message>',context!),
        'offerHistories': JsonConverters.toJson(offerHistories,'List<OfferHistory>',context!),
        'financeOffers': JsonConverters.toJson(financeOffers,'List<FinanceOffer>',context!)
    };

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

class VehicleDataBase implements IConvertible
{
    String? vin;
    String? description;
    String? model;
    String? otr;
    String? retailPriceExVAT;
    String? actualPrice;
    String? fuelType;
    String? transmission;
    String? transmissionType;
    String? colour;
    String? colourCode;
    String? colourDescription;
    String? commissionNumber;
    bool? offerAvailable;
    int? campaignDiscountOfferTotal;
    int? campaignDiscountOfferTotalCurrent;
    int? campaignDiscountOfferTotalPending;
    int? campaignServiceOfferTotal;
    int? campaignServiceOfferTotalCurrent;
    int? campaignServiceOfferTotalPending;
    int? campaignCustomOfferTotal;
    int? campaignPersonalisedOfferTotalCurrent;
    int? campaignPersonalisedOfferTotalPending;
    int? campaignPersonalisedOfferTotal;
    int? campaignCustomOfferTotalCurrent;
    int? campaignCustomOfferTotalPending;
    int? campaignOtherOfferTotal;
    int? campaignOtherOfferTotalCurrent;
    int? campaignOtherOfferTotalPending;
    int? retailerDiscountOfferTotal;
    int? retailerDiscountOfferTotalCurrent;
    int? retailerDiscountOfferTotalPending;
    int? retailerServiceOfferTotal;
    int? retailerServiceOfferTotalCurrent;
    int? retailerServiceOfferTotalPending;
    int? retailerCustomOfferTotal;
    int? retailerCustomOfferTotalCurrent;
    int? retailerCustomOfferTotalPending;
    int? retailerWarrantyOfferTotal;
    int? retailerWarrantyOfferTotalCurrent;
    int? retailerWarrantyOfferTotalPending;
    int? retailerOfferTotal;
    int? retailerOfferTotalCurrent;
    int? retailerOfferTotalPending;
    int? campaignOfferTotal;
    int? campaignOfferTotalCurrent;
    int? campaignOfferTotalPending;
    int? campaignAndOfferTotal;
    int? campaignAndOfferTotalCurrent;
    int? campaignAndOfferTotalPending;
    int? offerTotal;
    int? offerTotalCurrent;
    int? offerTotalPending;
    String? creation;
    String? modified;
    int? electricRange;
    int? electricConsumption;
    DateTime? portArrivalDate;
    int? daysSincePortArrival;
    double? retailPriceIncVAT;
    String? bodyStyle;
    String? upholstery;
    String? upholsteryCode;
    String? upholsteryType;
    List<String>? packageNames = [];
    String? line;
    double? currentRetailerOfferPrice;
    String? retailPrice;
    bool? vatQualifying;
    int? retailerId;
    String? gssnId;
    bool? noImage;
    String? imageUrl;
    bool? isAvailableOnline;
    bool? isBackOrdered;
    String? creationDate;
    String? maintenanceDate;
    String? registrationNumber;
    DateTime? registrationDate;
    int? mileage;
    DateTime? tradeInDate;
    String? source;
    String? vehicleType;
    String? offerAmount;
    String? offerExpiry;
    List<int>? activeOffers = [];
    int? campaignMessagesTotal;
    bool? underOffer;
    bool? isDisplayStock;
    String? displayRetailer;
    String? displayRetailerGssnId;
    String? location;
    String? account;
    String? accountType;
    String? usageCode;
    String? bm7NST;
    bool? isSellable;
    bool? secured;
    bool? specialist;
    bool? isMotabilityRetailer;
    String? upholsteryDescription;
    bool? inBackOrderAccount;
    String? fullModelYearCode;
    DateTime? productionDate;
    String? baumuster;
    bool? isMotability;
    double? pipAdvanceRentalGross;
    double? wpmsAdvanceRentalGross;
    List<String>? ispVehicleCustomerDescriptions;

    VehicleDataBase({this.vin,this.description,this.model,this.otr,this.retailPriceExVAT,this.actualPrice,this.fuelType,this.transmission,this.transmissionType,this.colour,this.colourCode,this.colourDescription,this.commissionNumber,this.offerAvailable,this.campaignDiscountOfferTotal,this.campaignDiscountOfferTotalCurrent,this.campaignDiscountOfferTotalPending,this.campaignServiceOfferTotal,this.campaignServiceOfferTotalCurrent,this.campaignServiceOfferTotalPending,this.campaignCustomOfferTotal,this.campaignPersonalisedOfferTotalCurrent,this.campaignPersonalisedOfferTotalPending,this.campaignPersonalisedOfferTotal,this.campaignCustomOfferTotalCurrent,this.campaignCustomOfferTotalPending,this.campaignOtherOfferTotal,this.campaignOtherOfferTotalCurrent,this.campaignOtherOfferTotalPending,this.retailerDiscountOfferTotal,this.retailerDiscountOfferTotalCurrent,this.retailerDiscountOfferTotalPending,this.retailerServiceOfferTotal,this.retailerServiceOfferTotalCurrent,this.retailerServiceOfferTotalPending,this.retailerCustomOfferTotal,this.retailerCustomOfferTotalCurrent,this.retailerCustomOfferTotalPending,this.retailerWarrantyOfferTotal,this.retailerWarrantyOfferTotalCurrent,this.retailerWarrantyOfferTotalPending,this.retailerOfferTotal,this.retailerOfferTotalCurrent,this.retailerOfferTotalPending,this.campaignOfferTotal,this.campaignOfferTotalCurrent,this.campaignOfferTotalPending,this.campaignAndOfferTotal,this.campaignAndOfferTotalCurrent,this.campaignAndOfferTotalPending,this.offerTotal,this.offerTotalCurrent,this.offerTotalPending,this.creation,this.modified,this.electricRange,this.electricConsumption,this.portArrivalDate,this.daysSincePortArrival,this.retailPriceIncVAT,this.bodyStyle,this.upholstery,this.upholsteryCode,this.upholsteryType,this.packageNames,this.line,this.currentRetailerOfferPrice,this.retailPrice,this.vatQualifying,this.retailerId,this.gssnId,this.noImage,this.imageUrl,this.isAvailableOnline,this.isBackOrdered,this.creationDate,this.maintenanceDate,this.registrationNumber,this.registrationDate,this.mileage,this.tradeInDate,this.source,this.vehicleType,this.offerAmount,this.offerExpiry,this.activeOffers,this.campaignMessagesTotal,this.underOffer,this.isDisplayStock,this.displayRetailer,this.displayRetailerGssnId,this.location,this.account,this.accountType,this.usageCode,this.bm7NST,this.isSellable,this.secured,this.specialist,this.isMotabilityRetailer,this.upholsteryDescription,this.inBackOrderAccount,this.fullModelYearCode,this.productionDate,this.baumuster,this.isMotability,this.pipAdvanceRentalGross,this.wpmsAdvanceRentalGross,this.ispVehicleCustomerDescriptions});
    VehicleDataBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        vin = json['vin'];
        description = json['description'];
        model = json['model'];
        otr = json['otr'];
        retailPriceExVAT = json['retailPriceExVAT'];
        actualPrice = json['actualPrice'];
        fuelType = json['fuelType'];
        transmission = json['transmission'];
        transmissionType = json['transmissionType'];
        colour = json['colour'];
        colourCode = json['colourCode'];
        colourDescription = json['colourDescription'];
        commissionNumber = json['commissionNumber'];
        offerAvailable = json['offerAvailable'];
        campaignDiscountOfferTotal = json['campaignDiscountOfferTotal'];
        campaignDiscountOfferTotalCurrent = json['campaignDiscountOfferTotalCurrent'];
        campaignDiscountOfferTotalPending = json['campaignDiscountOfferTotalPending'];
        campaignServiceOfferTotal = json['campaignServiceOfferTotal'];
        campaignServiceOfferTotalCurrent = json['campaignServiceOfferTotalCurrent'];
        campaignServiceOfferTotalPending = json['campaignServiceOfferTotalPending'];
        campaignCustomOfferTotal = json['campaignCustomOfferTotal'];
        campaignPersonalisedOfferTotalCurrent = json['campaignPersonalisedOfferTotalCurrent'];
        campaignPersonalisedOfferTotalPending = json['campaignPersonalisedOfferTotalPending'];
        campaignPersonalisedOfferTotal = json['campaignPersonalisedOfferTotal'];
        campaignCustomOfferTotalCurrent = json['campaignCustomOfferTotalCurrent'];
        campaignCustomOfferTotalPending = json['campaignCustomOfferTotalPending'];
        campaignOtherOfferTotal = json['campaignOtherOfferTotal'];
        campaignOtherOfferTotalCurrent = json['campaignOtherOfferTotalCurrent'];
        campaignOtherOfferTotalPending = json['campaignOtherOfferTotalPending'];
        retailerDiscountOfferTotal = json['retailerDiscountOfferTotal'];
        retailerDiscountOfferTotalCurrent = json['retailerDiscountOfferTotalCurrent'];
        retailerDiscountOfferTotalPending = json['retailerDiscountOfferTotalPending'];
        retailerServiceOfferTotal = json['retailerServiceOfferTotal'];
        retailerServiceOfferTotalCurrent = json['retailerServiceOfferTotalCurrent'];
        retailerServiceOfferTotalPending = json['retailerServiceOfferTotalPending'];
        retailerCustomOfferTotal = json['retailerCustomOfferTotal'];
        retailerCustomOfferTotalCurrent = json['retailerCustomOfferTotalCurrent'];
        retailerCustomOfferTotalPending = json['retailerCustomOfferTotalPending'];
        retailerWarrantyOfferTotal = json['retailerWarrantyOfferTotal'];
        retailerWarrantyOfferTotalCurrent = json['retailerWarrantyOfferTotalCurrent'];
        retailerWarrantyOfferTotalPending = json['retailerWarrantyOfferTotalPending'];
        retailerOfferTotal = json['retailerOfferTotal'];
        retailerOfferTotalCurrent = json['retailerOfferTotalCurrent'];
        retailerOfferTotalPending = json['retailerOfferTotalPending'];
        campaignOfferTotal = json['campaignOfferTotal'];
        campaignOfferTotalCurrent = json['campaignOfferTotalCurrent'];
        campaignOfferTotalPending = json['campaignOfferTotalPending'];
        campaignAndOfferTotal = json['campaignAndOfferTotal'];
        campaignAndOfferTotalCurrent = json['campaignAndOfferTotalCurrent'];
        campaignAndOfferTotalPending = json['campaignAndOfferTotalPending'];
        offerTotal = json['offerTotal'];
        offerTotalCurrent = json['offerTotalCurrent'];
        offerTotalPending = json['offerTotalPending'];
        creation = json['creation'];
        modified = json['modified'];
        electricRange = json['electricRange'];
        electricConsumption = json['electricConsumption'];
        portArrivalDate = JsonConverters.fromJson(json['portArrivalDate'],'DateTime',context!);
        daysSincePortArrival = json['daysSincePortArrival'];
        retailPriceIncVAT = JsonConverters.toDouble(json['retailPriceIncVAT']);
        bodyStyle = json['bodyStyle'];
        upholstery = json['upholstery'];
        upholsteryCode = json['upholsteryCode'];
        upholsteryType = json['upholsteryType'];
        packageNames = JsonConverters.fromJson(json['packageNames'],'List<String>',context!);
        line = json['line'];
        currentRetailerOfferPrice = JsonConverters.toDouble(json['currentRetailerOfferPrice']);
        retailPrice = json['retailPrice'];
        vatQualifying = json['vatQualifying'];
        retailerId = json['retailerId'];
        gssnId = json['gssnId'];
        noImage = json['noImage'];
        imageUrl = json['imageUrl'];
        isAvailableOnline = json['isAvailableOnline'];
        isBackOrdered = json['isBackOrdered'];
        creationDate = json['creationDate'];
        maintenanceDate = json['maintenanceDate'];
        registrationNumber = json['registrationNumber'];
        registrationDate = JsonConverters.fromJson(json['registrationDate'],'DateTime',context!);
        mileage = json['mileage'];
        tradeInDate = JsonConverters.fromJson(json['tradeInDate'],'DateTime',context!);
        source = json['source'];
        vehicleType = json['vehicleType'];
        offerAmount = json['offerAmount'];
        offerExpiry = json['offerExpiry'];
        activeOffers = JsonConverters.fromJson(json['activeOffers'],'List<int>',context!);
        campaignMessagesTotal = json['campaignMessagesTotal'];
        underOffer = json['underOffer'];
        isDisplayStock = json['isDisplayStock'];
        displayRetailer = json['displayRetailer'];
        displayRetailerGssnId = json['displayRetailerGssnId'];
        location = json['location'];
        account = json['account'];
        accountType = json['accountType'];
        usageCode = json['usageCode'];
        bm7NST = json['bm7NST'];
        isSellable = json['isSellable'];
        secured = json['secured'];
        specialist = json['specialist'];
        isMotabilityRetailer = json['isMotabilityRetailer'];
        upholsteryDescription = json['upholsteryDescription'];
        inBackOrderAccount = json['inBackOrderAccount'];
        fullModelYearCode = json['fullModelYearCode'];
        productionDate = JsonConverters.fromJson(json['productionDate'],'DateTime',context!);
        baumuster = json['baumuster'];
        isMotability = json['isMotability'];
        pipAdvanceRentalGross = JsonConverters.toDouble(json['pipAdvanceRentalGross']);
        wpmsAdvanceRentalGross = JsonConverters.toDouble(json['wpmsAdvanceRentalGross']);
        ispVehicleCustomerDescriptions = JsonConverters.fromJson(json['ispVehicleCustomerDescriptions'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'vin': vin,
        'description': description,
        'model': model,
        'otr': otr,
        'retailPriceExVAT': retailPriceExVAT,
        'actualPrice': actualPrice,
        'fuelType': fuelType,
        'transmission': transmission,
        'transmissionType': transmissionType,
        'colour': colour,
        'colourCode': colourCode,
        'colourDescription': colourDescription,
        'commissionNumber': commissionNumber,
        'offerAvailable': offerAvailable,
        'campaignDiscountOfferTotal': campaignDiscountOfferTotal,
        'campaignDiscountOfferTotalCurrent': campaignDiscountOfferTotalCurrent,
        'campaignDiscountOfferTotalPending': campaignDiscountOfferTotalPending,
        'campaignServiceOfferTotal': campaignServiceOfferTotal,
        'campaignServiceOfferTotalCurrent': campaignServiceOfferTotalCurrent,
        'campaignServiceOfferTotalPending': campaignServiceOfferTotalPending,
        'campaignCustomOfferTotal': campaignCustomOfferTotal,
        'campaignPersonalisedOfferTotalCurrent': campaignPersonalisedOfferTotalCurrent,
        'campaignPersonalisedOfferTotalPending': campaignPersonalisedOfferTotalPending,
        'campaignPersonalisedOfferTotal': campaignPersonalisedOfferTotal,
        'campaignCustomOfferTotalCurrent': campaignCustomOfferTotalCurrent,
        'campaignCustomOfferTotalPending': campaignCustomOfferTotalPending,
        'campaignOtherOfferTotal': campaignOtherOfferTotal,
        'campaignOtherOfferTotalCurrent': campaignOtherOfferTotalCurrent,
        'campaignOtherOfferTotalPending': campaignOtherOfferTotalPending,
        'retailerDiscountOfferTotal': retailerDiscountOfferTotal,
        'retailerDiscountOfferTotalCurrent': retailerDiscountOfferTotalCurrent,
        'retailerDiscountOfferTotalPending': retailerDiscountOfferTotalPending,
        'retailerServiceOfferTotal': retailerServiceOfferTotal,
        'retailerServiceOfferTotalCurrent': retailerServiceOfferTotalCurrent,
        'retailerServiceOfferTotalPending': retailerServiceOfferTotalPending,
        'retailerCustomOfferTotal': retailerCustomOfferTotal,
        'retailerCustomOfferTotalCurrent': retailerCustomOfferTotalCurrent,
        'retailerCustomOfferTotalPending': retailerCustomOfferTotalPending,
        'retailerWarrantyOfferTotal': retailerWarrantyOfferTotal,
        'retailerWarrantyOfferTotalCurrent': retailerWarrantyOfferTotalCurrent,
        'retailerWarrantyOfferTotalPending': retailerWarrantyOfferTotalPending,
        'retailerOfferTotal': retailerOfferTotal,
        'retailerOfferTotalCurrent': retailerOfferTotalCurrent,
        'retailerOfferTotalPending': retailerOfferTotalPending,
        'campaignOfferTotal': campaignOfferTotal,
        'campaignOfferTotalCurrent': campaignOfferTotalCurrent,
        'campaignOfferTotalPending': campaignOfferTotalPending,
        'campaignAndOfferTotal': campaignAndOfferTotal,
        'campaignAndOfferTotalCurrent': campaignAndOfferTotalCurrent,
        'campaignAndOfferTotalPending': campaignAndOfferTotalPending,
        'offerTotal': offerTotal,
        'offerTotalCurrent': offerTotalCurrent,
        'offerTotalPending': offerTotalPending,
        'creation': creation,
        'modified': modified,
        'electricRange': electricRange,
        'electricConsumption': electricConsumption,
        'portArrivalDate': JsonConverters.toJson(portArrivalDate,'DateTime',context!),
        'daysSincePortArrival': daysSincePortArrival,
        'retailPriceIncVAT': retailPriceIncVAT,
        'bodyStyle': bodyStyle,
        'upholstery': upholstery,
        'upholsteryCode': upholsteryCode,
        'upholsteryType': upholsteryType,
        'packageNames': JsonConverters.toJson(packageNames,'List<String>',context!),
        'line': line,
        'currentRetailerOfferPrice': currentRetailerOfferPrice,
        'retailPrice': retailPrice,
        'vatQualifying': vatQualifying,
        'retailerId': retailerId,
        'gssnId': gssnId,
        'noImage': noImage,
        'imageUrl': imageUrl,
        'isAvailableOnline': isAvailableOnline,
        'isBackOrdered': isBackOrdered,
        'creationDate': creationDate,
        'maintenanceDate': maintenanceDate,
        'registrationNumber': registrationNumber,
        'registrationDate': JsonConverters.toJson(registrationDate,'DateTime',context!),
        'mileage': mileage,
        'tradeInDate': JsonConverters.toJson(tradeInDate,'DateTime',context!),
        'source': source,
        'vehicleType': vehicleType,
        'offerAmount': offerAmount,
        'offerExpiry': offerExpiry,
        'activeOffers': JsonConverters.toJson(activeOffers,'List<int>',context!),
        'campaignMessagesTotal': campaignMessagesTotal,
        'underOffer': underOffer,
        'isDisplayStock': isDisplayStock,
        'displayRetailer': displayRetailer,
        'displayRetailerGssnId': displayRetailerGssnId,
        'location': location,
        'account': account,
        'accountType': accountType,
        'usageCode': usageCode,
        'bm7NST': bm7NST,
        'isSellable': isSellable,
        'secured': secured,
        'specialist': specialist,
        'isMotabilityRetailer': isMotabilityRetailer,
        'upholsteryDescription': upholsteryDescription,
        'inBackOrderAccount': inBackOrderAccount,
        'fullModelYearCode': fullModelYearCode,
        'productionDate': JsonConverters.toJson(productionDate,'DateTime',context!),
        'baumuster': baumuster,
        'isMotability': isMotability,
        'pipAdvanceRentalGross': pipAdvanceRentalGross,
        'wpmsAdvanceRentalGross': wpmsAdvanceRentalGross,
        'ispVehicleCustomerDescriptions': JsonConverters.toJson(ispVehicleCustomerDescriptions,'List<String>',context!)
    };

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

class VehicleData extends VehicleDataBase implements IConvertible
{
    String? engine;

    VehicleData({this.engine});
    VehicleData.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() => "VehicleData";
    TypeContext? context = _ctx;
}

class Equipment implements IConvertible
{
    int? id;
    String? code;
    String? description;

    Equipment({this.id,this.code,this.description});
    Equipment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        code = json['code'];
        description = json['description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'code': code,
        'description': description
    };

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

class VehicleIdentifierData extends VehicleData implements IConvertible
{
    String? retailer;
    bool? hasMotabilityError;
    List<Equipment>? equipment = [];

    VehicleIdentifierData({this.retailer,this.hasMotabilityError,this.equipment});
    VehicleIdentifierData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        retailer = json['retailer'];
        hasMotabilityError = json['hasMotabilityError'];
        equipment = JsonConverters.fromJson(json['equipment'],'List<Equipment>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'retailer': retailer,
        'hasMotabilityError': hasMotabilityError,
        'equipment': JsonConverters.toJson(equipment,'List<Equipment>',context!)
    });

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

class VehicleByCommissionNumberResponse extends VehicleByIdentifierResponse implements IConvertible
{
    VehicleIdentifierData? vehicle;

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

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

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

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

class VehicleByCommissionNumberRequest implements IGet, IConvertible
{
    String? vehicleIdentifier;
    String? vehicleType;

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

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

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

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

TypeContext _ctx = TypeContext(library: 'uat_api_vehicle_mgt_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
    'OfferVehicle': TypeInfo(TypeOf.Class, create:() => OfferVehicle()),
    'Offer': TypeInfo(TypeOf.Class, create:() => Offer()),
    'PersonalisedOffer': TypeInfo(TypeOf.Class, create:() => PersonalisedOffer()),
    'Message': TypeInfo(TypeOf.Class, create:() => Message()),
    'OfferHistory': TypeInfo(TypeOf.Class, create:() => OfferHistory()),
    'FinanceOffer': TypeInfo(TypeOf.Class, create:() => FinanceOffer()),
    'VehicleByIdentifierResponse': TypeInfo(TypeOf.Class, create:() => VehicleByIdentifierResponse()),
    'List<Offer>': TypeInfo(TypeOf.Class, create:() => <Offer>[]),
    'List<PersonalisedOffer>': TypeInfo(TypeOf.Class, create:() => <PersonalisedOffer>[]),
    'List<Message>': TypeInfo(TypeOf.Class, create:() => <Message>[]),
    'List<OfferHistory>': TypeInfo(TypeOf.Class, create:() => <OfferHistory>[]),
    'List<FinanceOffer>': TypeInfo(TypeOf.Class, create:() => <FinanceOffer>[]),
    'VehicleDataBase': TypeInfo(TypeOf.Class, create:() => VehicleDataBase()),
    'VehicleData': TypeInfo(TypeOf.Class, create:() => VehicleData()),
    'Equipment': TypeInfo(TypeOf.Class, create:() => Equipment()),
    'VehicleIdentifierData': TypeInfo(TypeOf.Class, create:() => VehicleIdentifierData()),
    'List<Equipment>': TypeInfo(TypeOf.Class, create:() => <Equipment>[]),
    'VehicleByCommissionNumberResponse': TypeInfo(TypeOf.Class, create:() => VehicleByCommissionNumberResponse()),
    'VehicleByCommissionNumberRequest': TypeInfo(TypeOf.Class, create:() => VehicleByCommissionNumberRequest()),
});

Dart VehicleByCommissionNumberRequest DTOs

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

HTTP + JSV

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: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	vehicle: 
	{
		retailer: String,
		hasMotabilityError: False,
		equipment: 
		[
			{
				id: 0,
				code: String,
				description: String
			}
		],
		engine: String,
		vin: String,
		description: String,
		model: String,
		otr: String,
		retailPriceExVAT: String,
		actualPrice: String,
		fuelType: String,
		transmission: String,
		transmissionType: String,
		colour: String,
		colourCode: String,
		colourDescription: String,
		commissionNumber: String,
		offerAvailable: False,
		campaignDiscountOfferTotal: 0,
		campaignDiscountOfferTotalCurrent: 0,
		campaignDiscountOfferTotalPending: 0,
		campaignServiceOfferTotal: 0,
		campaignServiceOfferTotalCurrent: 0,
		campaignServiceOfferTotalPending: 0,
		campaignCustomOfferTotal: 0,
		campaignPersonalisedOfferTotalCurrent: 0,
		campaignPersonalisedOfferTotalPending: 0,
		campaignPersonalisedOfferTotal: 0,
		campaignCustomOfferTotalCurrent: 0,
		campaignCustomOfferTotalPending: 0,
		campaignOtherOfferTotal: 0,
		campaignOtherOfferTotalCurrent: 0,
		campaignOtherOfferTotalPending: 0,
		retailerDiscountOfferTotal: 0,
		retailerDiscountOfferTotalCurrent: 0,
		retailerDiscountOfferTotalPending: 0,
		retailerServiceOfferTotal: 0,
		retailerServiceOfferTotalCurrent: 0,
		retailerServiceOfferTotalPending: 0,
		retailerCustomOfferTotal: 0,
		retailerCustomOfferTotalCurrent: 0,
		retailerCustomOfferTotalPending: 0,
		retailerWarrantyOfferTotal: 0,
		retailerWarrantyOfferTotalCurrent: 0,
		retailerWarrantyOfferTotalPending: 0,
		retailerOfferTotal: 0,
		retailerOfferTotalCurrent: 0,
		retailerOfferTotalPending: 0,
		campaignOfferTotal: 0,
		campaignOfferTotalCurrent: 0,
		campaignOfferTotalPending: 0,
		campaignAndOfferTotal: 0,
		campaignAndOfferTotalCurrent: 0,
		campaignAndOfferTotalPending: 0,
		offerTotal: 0,
		offerTotalCurrent: 0,
		offerTotalPending: 0,
		creation: String,
		modified: String,
		electricRange: 0,
		electricConsumption: 0,
		portArrivalDate: 0001-01-01,
		daysSincePortArrival: 0,
		retailPriceIncVAT: 0,
		bodyStyle: String,
		upholstery: String,
		upholsteryCode: String,
		upholsteryType: String,
		packageNames: 
		[
			String
		],
		line: String,
		currentRetailerOfferPrice: 0,
		retailPrice: String,
		vatQualifying: False,
		retailerId: 0,
		gssnId: String,
		noImage: False,
		imageUrl: String,
		isAvailableOnline: False,
		isBackOrdered: False,
		creationDate: String,
		maintenanceDate: String,
		registrationNumber: String,
		registrationDate: 0001-01-01,
		mileage: 0,
		tradeInDate: 0001-01-01,
		source: String,
		vehicleType: String,
		offerAmount: String,
		offerExpiry: String,
		activeOffers: 
		[
			0
		],
		campaignMessagesTotal: 0,
		underOffer: False,
		isDisplayStock: False,
		displayRetailer: String,
		displayRetailerGssnId: String,
		location: String,
		account: String,
		accountType: String,
		usageCode: String,
		bm7NST: String,
		isSellable: False,
		secured: False,
		specialist: False,
		isMotabilityRetailer: False,
		upholsteryDescription: String,
		inBackOrderAccount: False,
		fullModelYearCode: String,
		productionDate: 0001-01-01,
		baumuster: String,
		isMotability: False,
		pipAdvanceRentalGross: 0,
		wpmsAdvanceRentalGross: 0,
		ispVehicleCustomerDescriptions: 
		[
			String
		]
	},
	campaignOffers: 
	[
		{
			id: 0,
			offerType: String,
			campaignName: String,
			from: String,
			to: String,
			value: String,
			net: 0,
			offerVehicle: 
			{
				retailPriceExVAT: String
			},
			pending: False,
			documentUrl: String,
			personalised: False,
			isPersonalisedMonetaryOffer: False,
			campaignVIPDiscount: False,
			offerValueNet: 0
		}
	],
	campaignPersonalisedOffers: 
	[
		{
			category: String,
			description: String,
			reference: String,
			id: 0,
			offerType: String,
			campaignName: String,
			from: String,
			to: String,
			value: String,
			net: 0,
			offerVehicle: 
			{
				retailPriceExVAT: String
			},
			pending: False,
			documentUrl: String,
			personalised: False,
			isPersonalisedMonetaryOffer: False,
			campaignVIPDiscount: False,
			offerValueNet: 0
		}
	],
	campaignOLEVGrantOffers: 
	[
		{
			id: 0,
			offerType: String,
			campaignName: String,
			from: String,
			to: String,
			value: String,
			net: 0,
			offerVehicle: 
			{
				retailPriceExVAT: String
			},
			pending: False,
			documentUrl: String,
			personalised: False,
			isPersonalisedMonetaryOffer: False,
			campaignVIPDiscount: False,
			offerValueNet: 0
		}
	],
	campaignMessages: 
	[
		{
			id: 0,
			vin: String,
			campaignId: 0,
			value: String,
			campaignDescription: String,
			from: String,
			to: String,
			documentUrl: String
		}
	],
	offerHistories: 
	[
		{
			id: 0,
			auditType: String,
			offerType: String,
			source: String,
			from: String,
			to: String,
			personalised: False,
			value: String,
			net: String,
			vat: String,
			description: String,
			vin: String,
			gssn: String,
			creation: String,
			modified: String,
			userId: String,
			user: 0,
			offerId: 0,
			commissionNumber: String,
			campaignId: 0,
			campaignDescription: String,
			creationDate: 0001-01-01,
			isUsedCarOffer: False
		}
	],
	financeOffers: 
	[
		{
			campaignDescription: String,
			termsAndConditions: String,
			label: String,
			campaignId: 0,
			documentUrl: String,
			from: String,
			id: 0,
			to: String,
			value: String,
			vin: String,
			enabled: False,
			pending: False,
			offerType: String
		}
	]
}