Mercedes.VehicleManagement.API

<back to all web services

AllAvailableVehiclesCsvRequest

Vehicle
Requires Authentication
The following routes are available for this service:
GET/v1/AllAvailableVehiclesCsv/{vehicleType}/{includeBackOrderAccounts}Get all available vehicles
import 'package:servicestack/servicestack.dart';

abstract class BaseAllAvailableVehiclesRequest
{
    String vehicleType = "";
    bool includeBackOrderAccounts;

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

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

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

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

class BasicBackOrderVehicle implements IConvertible
{
    String commissionNumber = "";
    String description = "";
    String model = "";
    String colour = "";
    String fuelType = "";
    String transmission = "";
    String packages = "";
    String lines = "";
    String upholstery = "";
    String emissionCombined = "";
    double actualPrice = 0;
    String usageCode = "";
    bool secured;
    String account = "";
    String? securedTime;
    String? securedReason;
    String? securedByGasId;
    DateTime? securedDate;
    DateTime? confirmedProductionDate;
    DateTime? forecastedArrivalDate;

    BasicBackOrderVehicle({this.commissionNumber,this.description,this.model,this.colour,this.fuelType,this.transmission,this.packages,this.lines,this.upholstery,this.emissionCombined,this.actualPrice,this.usageCode,this.secured,this.account,this.securedTime,this.securedReason,this.securedByGasId,this.securedDate,this.confirmedProductionDate,this.forecastedArrivalDate});
    BasicBackOrderVehicle.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        commissionNumber = json['commissionNumber'];
        description = json['description'];
        model = json['model'];
        colour = json['colour'];
        fuelType = json['fuelType'];
        transmission = json['transmission'];
        packages = json['packages'];
        lines = json['lines'];
        upholstery = json['upholstery'];
        emissionCombined = json['emissionCombined'];
        actualPrice = JsonConverters.toDouble(json['actualPrice']);
        usageCode = json['usageCode'];
        secured = json['secured'];
        account = json['account'];
        securedTime = json['securedTime'];
        securedReason = json['securedReason'];
        securedByGasId = json['securedByGasId'];
        securedDate = JsonConverters.fromJson(json['securedDate'],'DateTime',context!);
        confirmedProductionDate = JsonConverters.fromJson(json['confirmedProductionDate'],'DateTime',context!);
        forecastedArrivalDate = JsonConverters.fromJson(json['forecastedArrivalDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'commissionNumber': commissionNumber,
        'description': description,
        'model': model,
        'colour': colour,
        'fuelType': fuelType,
        'transmission': transmission,
        'packages': packages,
        'lines': lines,
        'upholstery': upholstery,
        'emissionCombined': emissionCombined,
        'actualPrice': actualPrice,
        'usageCode': usageCode,
        'secured': secured,
        'account': account,
        'securedTime': securedTime,
        'securedReason': securedReason,
        'securedByGasId': securedByGasId,
        'securedDate': JsonConverters.toJson(securedDate,'DateTime',context!),
        'confirmedProductionDate': JsonConverters.toJson(confirmedProductionDate,'DateTime',context!),
        'forecastedArrivalDate': JsonConverters.toJson(forecastedArrivalDate,'DateTime',context!)
    };

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

class BackOrderVehicle extends BasicBackOrderVehicle implements IConvertible
{
    int id = 0;
    String vin = "";
    String vehicleType = "";
    String vid = "";
    String fin = "";
    String chassisNumber = "";
    String modelYear = "";
    String modelYearCode = "";
    String halfModelYearCode = "";
    String fullModelYearCode = "";
    String salesDescriptionLong = "";
    String vehicleClass = "";
    double retailPrice_ExVAT = 0;
    double retailPrice_IncVAT = 0;
    double otr = 0;
    String bodyStyle = "";
    String productRange = "";
    String engine = "";
    bool isAMG;
    String colourGroup = "";
    String upholsteryCode = "";
    String nst = "";
    String bm7NST = "";
    double? acceleration;
    int? bootCapacity;
    double? topSpeed;
    String driveConcept = "";
    double? combustionPowerHp;
    double? electricPowerKw;
    double? electricPowerHp;
    double? combinedPowerKw;
    double? combinedPowerHP;
    double? electricRange;
    double? electricConsumption;
    double? emission;
    String emissionDirective = "";
    String emissionExtraUrban = "";
    String emissionUrban = "";
    String energyEfficiencyClass = "";
    String wltpEmissionCombined = "";
    String wltpCombined = "";
    String wltpLow = "";
    String wltpMedium = "";
    String wltpHigh = "";
    String wltpExtraHigh = "";
    DateTime? productionDate;
    DateTime? portArrivalDate;
    DateTime creationDate = DateTime(0);
    DateTime? lastUpdated;
    bool isDisplayStock;
    String displayStockAgent = "";
    bool isSpecialistCar;
    String location = "";
    String cesarIdShipToParty = "";
    bool isSellable;
    bool underOffer;
    String baumuster = "";

    BackOrderVehicle({this.id,this.vin,this.vehicleType,this.vid,this.fin,this.chassisNumber,this.modelYear,this.modelYearCode,this.halfModelYearCode,this.fullModelYearCode,this.salesDescriptionLong,this.vehicleClass,this.retailPrice_ExVAT,this.retailPrice_IncVAT,this.otr,this.bodyStyle,this.productRange,this.engine,this.isAMG,this.colourGroup,this.upholsteryCode,this.nst,this.bm7NST,this.acceleration,this.bootCapacity,this.topSpeed,this.driveConcept,this.combustionPowerHp,this.electricPowerKw,this.electricPowerHp,this.combinedPowerKw,this.combinedPowerHP,this.electricRange,this.electricConsumption,this.emission,this.emissionDirective,this.emissionExtraUrban,this.emissionUrban,this.energyEfficiencyClass,this.wltpEmissionCombined,this.wltpCombined,this.wltpLow,this.wltpMedium,this.wltpHigh,this.wltpExtraHigh,this.productionDate,this.portArrivalDate,this.creationDate,this.lastUpdated,this.isDisplayStock,this.displayStockAgent,this.isSpecialistCar,this.location,this.cesarIdShipToParty,this.isSellable,this.underOffer,this.baumuster});
    BackOrderVehicle.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        id = json['id'];
        vin = json['vin'];
        vehicleType = json['vehicleType'];
        vid = json['vid'];
        fin = json['fin'];
        chassisNumber = json['chassisNumber'];
        modelYear = json['modelYear'];
        modelYearCode = json['modelYearCode'];
        halfModelYearCode = json['halfModelYearCode'];
        fullModelYearCode = json['fullModelYearCode'];
        salesDescriptionLong = json['salesDescriptionLong'];
        vehicleClass = json['vehicleClass'];
        retailPrice_ExVAT = JsonConverters.toDouble(json['retailPrice_ExVAT']);
        retailPrice_IncVAT = JsonConverters.toDouble(json['retailPrice_IncVAT']);
        otr = JsonConverters.toDouble(json['otr']);
        bodyStyle = json['bodyStyle'];
        productRange = json['productRange'];
        engine = json['engine'];
        isAMG = json['isAMG'];
        colourGroup = json['colourGroup'];
        upholsteryCode = json['upholsteryCode'];
        nst = json['nst'];
        bm7NST = json['bm7NST'];
        acceleration = JsonConverters.toDouble(json['acceleration']);
        bootCapacity = json['bootCapacity'];
        topSpeed = JsonConverters.toDouble(json['topSpeed']);
        driveConcept = json['driveConcept'];
        combustionPowerHp = JsonConverters.toDouble(json['combustionPowerHp']);
        electricPowerKw = JsonConverters.toDouble(json['electricPowerKw']);
        electricPowerHp = JsonConverters.toDouble(json['electricPowerHp']);
        combinedPowerKw = JsonConverters.toDouble(json['combinedPowerKw']);
        combinedPowerHP = JsonConverters.toDouble(json['combinedPowerHP']);
        electricRange = JsonConverters.toDouble(json['electricRange']);
        electricConsumption = JsonConverters.toDouble(json['electricConsumption']);
        emission = JsonConverters.toDouble(json['emission']);
        emissionDirective = json['emissionDirective'];
        emissionExtraUrban = json['emissionExtraUrban'];
        emissionUrban = json['emissionUrban'];
        energyEfficiencyClass = json['energyEfficiencyClass'];
        wltpEmissionCombined = json['wltpEmissionCombined'];
        wltpCombined = json['wltpCombined'];
        wltpLow = json['wltpLow'];
        wltpMedium = json['wltpMedium'];
        wltpHigh = json['wltpHigh'];
        wltpExtraHigh = json['wltpExtraHigh'];
        productionDate = JsonConverters.fromJson(json['productionDate'],'DateTime',context!);
        portArrivalDate = JsonConverters.fromJson(json['portArrivalDate'],'DateTime',context!);
        creationDate = JsonConverters.fromJson(json['creationDate'],'DateTime',context!);
        lastUpdated = JsonConverters.fromJson(json['lastUpdated'],'DateTime',context!);
        isDisplayStock = json['isDisplayStock'];
        displayStockAgent = json['displayStockAgent'];
        isSpecialistCar = json['isSpecialistCar'];
        location = json['location'];
        cesarIdShipToParty = json['cesarIdShipToParty'];
        isSellable = json['isSellable'];
        underOffer = json['underOffer'];
        baumuster = json['baumuster'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'id': id,
        'vin': vin,
        'vehicleType': vehicleType,
        'vid': vid,
        'fin': fin,
        'chassisNumber': chassisNumber,
        'modelYear': modelYear,
        'modelYearCode': modelYearCode,
        'halfModelYearCode': halfModelYearCode,
        'fullModelYearCode': fullModelYearCode,
        'salesDescriptionLong': salesDescriptionLong,
        'vehicleClass': vehicleClass,
        'retailPrice_ExVAT': retailPrice_ExVAT,
        'retailPrice_IncVAT': retailPrice_IncVAT,
        'otr': otr,
        'bodyStyle': bodyStyle,
        'productRange': productRange,
        'engine': engine,
        'isAMG': isAMG,
        'colourGroup': colourGroup,
        'upholsteryCode': upholsteryCode,
        'nst': nst,
        'bm7NST': bm7NST,
        'acceleration': acceleration,
        'bootCapacity': bootCapacity,
        'topSpeed': topSpeed,
        'driveConcept': driveConcept,
        'combustionPowerHp': combustionPowerHp,
        'electricPowerKw': electricPowerKw,
        'electricPowerHp': electricPowerHp,
        'combinedPowerKw': combinedPowerKw,
        'combinedPowerHP': combinedPowerHP,
        'electricRange': electricRange,
        'electricConsumption': electricConsumption,
        'emission': emission,
        'emissionDirective': emissionDirective,
        'emissionExtraUrban': emissionExtraUrban,
        'emissionUrban': emissionUrban,
        'energyEfficiencyClass': energyEfficiencyClass,
        'wltpEmissionCombined': wltpEmissionCombined,
        'wltpCombined': wltpCombined,
        'wltpLow': wltpLow,
        'wltpMedium': wltpMedium,
        'wltpHigh': wltpHigh,
        'wltpExtraHigh': wltpExtraHigh,
        'productionDate': JsonConverters.toJson(productionDate,'DateTime',context!),
        'portArrivalDate': JsonConverters.toJson(portArrivalDate,'DateTime',context!),
        'creationDate': JsonConverters.toJson(creationDate,'DateTime',context!),
        'lastUpdated': JsonConverters.toJson(lastUpdated,'DateTime',context!),
        'isDisplayStock': isDisplayStock,
        'displayStockAgent': displayStockAgent,
        'isSpecialistCar': isSpecialistCar,
        'location': location,
        'cesarIdShipToParty': cesarIdShipToParty,
        'isSellable': isSellable,
        'underOffer': underOffer,
        'baumuster': baumuster
    });

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

class StockManagementResponse implements IConvertible
{
    int totalVehicles = 0;
    List<BackOrderVehicle>? vehicles;

    StockManagementResponse({this.totalVehicles,this.vehicles});
    StockManagementResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'totalVehicles': totalVehicles,
        'vehicles': JsonConverters.toJson(vehicles,'List<BackOrderVehicle>',context!)
    };

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

class AllAvailableVehiclesCsvRequest extends BaseAllAvailableVehiclesRequest implements IGet, IConvertible
{
    AllAvailableVehiclesCsvRequest();
    AllAvailableVehiclesCsvRequest.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "AllAvailableVehiclesCsvRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'uat_api_vehicle_mgt_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
    'BaseAllAvailableVehiclesRequest': TypeInfo(TypeOf.AbstractClass),
    'BasicBackOrderVehicle': TypeInfo(TypeOf.Class, create:() => BasicBackOrderVehicle()),
    'BackOrderVehicle': TypeInfo(TypeOf.Class, create:() => BackOrderVehicle()),
    'StockManagementResponse': TypeInfo(TypeOf.Class, create:() => StockManagementResponse()),
    'List<BackOrderVehicle>': TypeInfo(TypeOf.Class, create:() => <BackOrderVehicle>[]),
    'AllAvailableVehiclesCsvRequest': TypeInfo(TypeOf.Class, create:() => AllAvailableVehiclesCsvRequest()),
});

Dart AllAvailableVehiclesCsvRequest DTOs

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

HTTP + OTHER

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

GET /v1/AllAvailableVehiclesCsv/{vehicleType}/{includeBackOrderAccounts} HTTP/1.1 
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"totalVehicles":0}