GET | /v1/backorder/customer/{CustomerId} | Get Customer Back Order by Customer Id |
---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Mercedes.Agency.Orchestration.API.ServiceModel.BackOrders;
using Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses;
using Mercedes.Agency.API.Shared.POCO;
using Mercedes.Agency.API.Shared.POCO.Motability;
using Mercedes.Agency.API.Shared.Enums;
using Mercedes.Agency.API.Shared.POCO.CarConfigurator;
namespace Mercedes.Agency.API.Shared.Enums
{
public enum MotabilityPricingStatus
{
Pending,
Current,
RecentlyExpired,
Expired,
}
}
namespace Mercedes.Agency.API.Shared.POCO
{
public partial class BackOrderBase
{
public virtual string Guid { get; set; }
public virtual int Status { get; set; }
public virtual string CustomerId { get; set; }
public virtual int Id { get; set; }
public virtual string Reference { get; set; }
public virtual string Agent { get; set; }
public virtual string Gssn { get; set; }
public virtual DateTime CreationDate { get; set; }
public virtual DateTime MaintenanceDate { get; set; }
public virtual string CustomerCriteria { get; set; }
public virtual string AgentCriteria { get; set; }
public virtual List<BackOrderHistory> History { get; set; }
public virtual bool IsAllocatedToOrder { get; set; }
public virtual string Vin { get; set; }
public virtual string CommissionNumber { get; set; }
public virtual Order Order { get; set; }
public virtual string Source { get; set; }
public virtual bool Specialist { get; set; }
public virtual bool OutrightPurchase { get; set; }
public virtual bool Sellable { get; set; }
public virtual string MulesoftReference { get; set; }
public virtual string AdditionalInformation { get; set; }
public virtual string ConfigCode { get; set; }
public virtual string FleetBaseOrder { get; set; }
public virtual string GasId { get; set; }
public virtual string OutrightPurchaseCustomerIdentifier { get; set; }
public virtual Retailer Retailer { get; set; }
public virtual int CustomerMode { get; set; }
public virtual bool CanEdit { get; set; }
public virtual string DigitalLoungeGssnId { get; set; }
public virtual string DigitalLounge { get; set; }
public virtual bool Motability { get; set; }
public virtual MotabilityPricing MotabilityPricing { get; set; }
public virtual string LinkedByUserType { get; set; }
public virtual int? AssistanceProviderId { get; set; }
public virtual string AssistanceProvider { get; set; }
public virtual string AssistanceDetail { get; set; }
public virtual DateTime? LastAssistanceMessageDate { get; set; }
public virtual string LastAssistanceUser { get; set; }
public virtual bool IsCOPConverter { get; set; }
public virtual bool IsEligibleCOPConverter { get; set; }
public virtual CarConfigurator CarConfigurator { get; set; }
public virtual CarConfiguratorResponse CarConfiguratorResponse { get; set; }
}
public partial class BackOrderDecimal
: BackOrderBase
{
public virtual VehicleDecimalDetail Vehicle { get; set; }
}
public partial class BackOrderHistory
{
public virtual int Status { get; set; }
public virtual string CommissionNumber { get; set; }
public virtual string VIN { get; set; }
public virtual string CustomerCriteria { get; set; }
public virtual string AgentCriteria { get; set; }
public virtual DateTime CreationDate { get; set; }
public virtual DateTime MaintenanceDate { get; set; }
public virtual string GasId { get; set; }
public virtual bool Sellable { get; set; }
public virtual string AdditionalInformation { get; set; }
public virtual string Reason { get; set; }
public virtual string ConfigCode { get; set; }
public virtual string FleetBaseOrder { get; set; }
public virtual string AssistanceDetail { get; set; }
public virtual string AssistanceProvider { get; set; }
public virtual string LinkedByUserType { get; set; }
public virtual string MotabilityVTN { get; set; }
public virtual string MotabilityBackOrderDropDown { get; set; }
public virtual DateTime? MotabilityValidFrom { get; set; }
public virtual DateTime? MotabilityValidTo { get; set; }
}
public partial class FeatureStatus
{
public virtual bool AgencyEnabled { get; set; }
}
public partial class Order
{
public virtual Guid Guid { get; set; }
public virtual string Reference { get; set; }
public virtual int Status { get; set; }
public virtual string CustomerId { get; set; }
public virtual string MulesoftReference { get; set; }
public virtual string GasId { get; set; }
public virtual string OrderDate { get; set; }
public virtual string OfferSnapShot { get; set; }
}
public partial class Price
{
public virtual string Id { get; set; }
public virtual string Description { get; set; }
public virtual decimal Net { get; set; }
public virtual decimal VAT { get; set; }
public virtual decimal Gross { get; set; }
public virtual OfferPriceProductType Product { get; set; }
}
public partial class Retailer
{
public virtual int Id { get; set; }
public virtual string GssnId { get; set; }
public virtual string Description { get; set; }
public virtual string Street { get; set; }
public virtual string City { get; set; }
public virtual string Postcode { get; set; }
public virtual string GoogleMapPostcode { get; set; }
public virtual string Phone { get; set; }
public virtual string Fax { get; set; }
public virtual string Email { get; set; }
public virtual string Website { get; set; }
public virtual string RetailerGroupId { get; set; }
public virtual string RetailerGroupName { get; set; }
public virtual bool IsOnline { get; set; }
public virtual bool IsNewCarRetailer { get; set; }
public virtual bool IsUsedCarRetailer { get; set; }
public virtual bool IsCentralRetailer { get; set; }
public virtual bool ChatEnabled { get; set; }
public virtual bool TradeInEnabled { get; set; }
public virtual bool smart { get; set; }
public virtual string DisplayPhoneNumberNew { get; set; }
public virtual string DisplayPhoneNumberUsed { get; set; }
public virtual decimal Latitude { get; set; }
public virtual decimal Longitude { get; set; }
public virtual string smartDescription { get; set; }
public virtual string smartWebsite { get; set; }
public virtual string smartPhone { get; set; }
public virtual string LegacyId { get; set; }
public virtual bool Agent { get; set; }
public virtual int MarketAreaId { get; set; }
public virtual string DigitalLoungeParentGssnId { get; set; }
public virtual bool SendLeadsToDigitalLoungeParent { get; set; }
public virtual RetailerOpeningTimes OpeningTimes { get; set; }
}
public partial class RetailerOpeningTime
{
public virtual string Day { get; set; }
public virtual string OpenFrom { get; set; }
public virtual string OpenTo { get; set; }
public virtual string Special { get; set; }
}
public partial class RetailerOpeningTimes
{
public virtual List<RetailerOpeningTime> New { get; set; } = [];
public virtual List<RetailerOpeningTime> Used { get; set; } = [];
}
public partial class Vehicle
{
public virtual string Vin { get; set; }
}
public partial class VehicleBaseDetail
: Vehicle, ICommissionNumber
{
public virtual string Description { get; set; }
public virtual string CommissionNumber { get; set; }
public virtual string PortArrivalDate { get; set; }
public virtual string OfferExpiryDate { get; set; }
public virtual string Fuel { get; set; }
public virtual string Transmission { get; set; }
public virtual string TransmissionType { get; set; }
public virtual string Colour { get; set; }
public virtual string ColourDescription { get; set; }
public virtual string ImageUrl { get; set; }
public virtual bool Specialist { get; set; }
public virtual VehicleCriteriaMatch VehicleCriteriaMatch { get; set; }
public virtual string ColourGroup { get; set; }
public virtual string Model { get; set; }
public virtual string BodyStyle { get; set; }
public virtual string Brand { get; set; }
public virtual string Engine { get; set; }
public virtual string EngineDescription { get; set; }
public virtual string Line { get; set; }
public virtual string Upholstery { get; set; }
public virtual string UpholsteryDescription { get; set; }
public virtual List<string> Packages { get; set; } = [];
public virtual decimal P11D { get; set; }
public virtual List<Price> Prices { get; set; } = [];
public virtual string VehicleClass { get; set; }
public virtual string ProductRange { get; set; }
public virtual string VehicleType { get; set; }
public virtual decimal? Emission { get; set; }
public virtual string Baumuster { get; set; }
public virtual bool IsSellable { get; set; }
public virtual string Bm7NST { get; set; }
public virtual decimal? ElectricRange { get; set; }
public virtual decimal? ElectricConsumption { get; set; }
public virtual bool IsDisplayStock { get; set; }
public virtual int? DisplayRetailer_Id { get; set; }
public virtual string DisplayRetailer { get; set; }
public virtual string DisplayRetailerGssnId { get; set; }
public virtual Retailer Retailer { get; set; }
public virtual int? Age { get; set; }
public virtual string ModelYearCode { get; set; }
public virtual string HalfModelYearCode { get; set; }
public virtual string FullModelYearCode { get; set; }
public virtual string ProductionDate { get; set; }
public virtual string ChassisNumber { get; set; }
public virtual bool EligibleForIntegratedServiceCare { get; set; }
}
public partial class VehicleCriteriaMatch
{
public virtual bool Fuel { get; set; }
public virtual bool Transmission { get; set; }
public virtual bool Colour { get; set; }
public virtual bool Upholstery { get; set; }
public virtual bool Line { get; set; }
public virtual bool Engine { get; set; }
public virtual bool BodyStyle { get; set; }
public virtual bool Packages { get; set; }
}
public partial class VehicleDecimalDetail
: VehicleBaseDetail
{
public virtual decimal RetailPrice_ExVAT { get; set; }
public virtual decimal OTR { get; set; }
public virtual decimal ActualPrice { get; set; }
public virtual decimal? TotalOfferValue { get; set; }
}
}
namespace Mercedes.Agency.API.Shared.POCO.CarConfigurator
{
public partial class CarConfigurator
{
public virtual int Id { get; set; }
public virtual int? BackOrderId { get; set; }
public virtual string ConfiguratorCode { get; set; }
public virtual string GasId { get; set; }
public virtual int Status { get; set; }
public virtual DateTime DateOfLastUpdate { get; set; }
public virtual string LastExceptionMessage { get; set; }
public virtual string LastException { get; set; }
}
public partial class CarConfiguratorResponse
{
public virtual string Name { get; set; }
public virtual KeyInformation KeyInformation { get; set; }
public virtual OrderingOptions OrderingOptions { get; set; }
public virtual ResponseStatus ResponseStatus { get; set; }
public virtual string ConfiguratorCode { get; set; }
}
public partial class KeyInformation
{
public virtual string BM7NST { get; set; }
public virtual string ConfigurationDate { get; set; }
public virtual string ModelYear { get; set; }
public virtual string HalfYear { get; set; }
}
public partial class OrderingOptions
{
public virtual List<string> Interior { get; set; }
public virtual List<string> Exterior { get; set; }
public virtual List<string> Other { get; set; }
}
}
namespace Mercedes.Agency.API.Shared.POCO.Motability
{
public partial class MotabilityPricing
: MotabilityPricingCsv
{
public virtual MotabilityPricingStatus MotabilityPricingStatus { get; set; }
}
public partial class MotabilityPricingCsv
{
[DataMember(Order=0)]
public virtual int Id { get; set; }
[DataMember(Order=1)]
public virtual string CriteriaBM7NST { get; set; }
[DataMember(Order=2)]
public virtual string VTN { get; set; }
[DataMember(Order=3)]
public virtual string BackOrderDropDown { get; set; }
[DataMember(Order=4)]
public virtual string CriteriaFullModelYearCode { get; set; }
[DataMember(Order=5)]
public virtual string CriteriaValidOptionCodes { get; set; }
[DataMember(Order=6)]
public virtual string CriteriaInvalidOptionCodes { get; set; }
[DataMember(Order=7)]
public virtual decimal PIPNet { get; set; }
[DataMember(Order=8)]
public virtual decimal PIPVat { get; set; }
[DataMember(Order=9)]
public virtual decimal PIPGross { get; set; }
[DataMember(Order=10)]
public virtual decimal WPMSNet { get; set; }
[DataMember(Order=11)]
public virtual decimal WPMSVat { get; set; }
[DataMember(Order=12)]
public virtual decimal WPMSGross { get; set; }
[DataMember(Order=13)]
public virtual decimal DiscountNet { get; set; }
[DataMember(Order=14)]
public virtual decimal DiscountVat { get; set; }
[DataMember(Order=15)]
public virtual decimal DiscountGross { get; set; }
[DataMember(Order=16)]
public virtual decimal ListPriceNet { get; set; }
[DataMember(Order=17)]
public virtual decimal ListPriceVat { get; set; }
[DataMember(Order=18)]
public virtual decimal ListPriceGross { get; set; }
[DataMember(Order=19)]
public virtual decimal DeliveryChargeNet { get; set; }
[DataMember(Order=20)]
public virtual decimal DeliveryChargeVat { get; set; }
[DataMember(Order=21)]
public virtual decimal DeliveryChargeGross { get; set; }
[DataMember(Order=22)]
public virtual decimal FuelChargeNet { get; set; }
[DataMember(Order=23)]
public virtual decimal FuelChargeVat { get; set; }
[DataMember(Order=24)]
public virtual decimal FuelChargeGross { get; set; }
[DataMember(Order=25)]
public virtual decimal NumberPlateFeeNet { get; set; }
[DataMember(Order=26)]
public virtual decimal NumberPlateFeeVat { get; set; }
[DataMember(Order=27)]
public virtual decimal NumberPlateFeeGross { get; set; }
[DataMember(Order=28)]
public virtual decimal FirstRegistrationFeeNet { get; set; }
[DataMember(Order=29)]
public virtual decimal FirstRegistrationFeeVat { get; set; }
[DataMember(Order=30)]
public virtual decimal FirstRegistrationFeeGross { get; set; }
[DataMember(Order=31)]
public virtual decimal RoadFundLicenceNet { get; set; }
[DataMember(Order=32)]
public virtual decimal RoadFundLicenceVat { get; set; }
[DataMember(Order=33)]
public virtual decimal RoadFundLicenceGross { get; set; }
[DataMember(Order=34)]
public virtual DateTime ValidFrom { get; set; }
[DataMember(Order=35)]
public virtual DateTime ValidTo { get; set; }
}
}
namespace Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses
{
public partial class GetBackOrderCustomerResponse
{
public virtual List<BackOrderDecimal> BackOrders { get; set; } = [];
public virtual FeatureStatus FeatureStatus { get; set; }
}
}
namespace Mercedes.Agency.Orchestration.API.ServiceModel.BackOrders
{
public partial class GetBackOrderCustomerRequest
: IGet
{
public virtual string CustomerId { get; set; }
}
}
C# GetBackOrderCustomerRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/backorder/customer/{CustomerId} HTTP/1.1 Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { BackOrders: [ { Vehicle: { RetailPrice_ExVAT: 0, OTR: 0, ActualPrice: 0, TotalOfferValue: 0, Description: String, CommissionNumber: String, PortArrivalDate: String, OfferExpiryDate: String, Fuel: String, Transmission: String, TransmissionType: String, Colour: String, ColourDescription: String, ImageUrl: String, Specialist: False, VehicleCriteriaMatch: { Fuel: False, Transmission: False, Colour: False, Upholstery: False, Line: False, Engine: False, BodyStyle: False, Packages: False }, ColourGroup: String, Model: String, BodyStyle: String, Brand: String, Engine: String, EngineDescription: String, Line: String, Upholstery: String, UpholsteryDescription: String, Packages: [ String ], P11D: 0, Prices: [ { Id: String, Description: String, Net: 0, VAT: 0, Gross: 0, Product: LIST_PRICE } ], VehicleClass: String, ProductRange: String, VehicleType: String, Emission: 0, Baumuster: String, IsSellable: False, Bm7NST: String, ElectricRange: 0, ElectricConsumption: 0, IsDisplayStock: False, DisplayRetailer_Id: 0, DisplayRetailer: String, DisplayRetailerGssnId: String, Retailer: { Id: 0, GssnId: String, Description: String, Street: String, City: String, Postcode: String, GoogleMapPostcode: String, Phone: String, Fax: String, Email: String, Website: String, RetailerGroupId: String, RetailerGroupName: String, IsOnline: False, IsNewCarRetailer: False, IsUsedCarRetailer: False, IsCentralRetailer: False, ChatEnabled: False, TradeInEnabled: False, smart: False, DisplayPhoneNumberNew: String, DisplayPhoneNumberUsed: String, Latitude: 0, Longitude: 0, smartDescription: String, smartWebsite: String, smartPhone: String, LegacyId: String, Agent: False, MarketAreaId: 0, DigitalLoungeParentGssnId: String, SendLeadsToDigitalLoungeParent: False, OpeningTimes: { New: [ { Day: String, OpenFrom: String, OpenTo: String, Special: String } ], Used: [ { Day: String, OpenFrom: String, OpenTo: String, Special: String } ] } }, Age: 0, ModelYearCode: String, HalfModelYearCode: String, FullModelYearCode: String, ProductionDate: String, ChassisNumber: String, EligibleForIntegratedServiceCare: False, Vin: String }, Guid: String, Status: 0, CustomerId: String, Id: 0, Reference: String, Agent: String, Gssn: String, CreationDate: 0001-01-01, MaintenanceDate: 0001-01-01, CustomerCriteria: String, AgentCriteria: String, History: [ { Status: 0, CommissionNumber: String, VIN: String, CustomerCriteria: String, AgentCriteria: String, CreationDate: 0001-01-01, MaintenanceDate: 0001-01-01, GasId: String, Sellable: False, AdditionalInformation: String, Reason: String, ConfigCode: String, FleetBaseOrder: String, AssistanceDetail: String, AssistanceProvider: String, LinkedByUserType: String, MotabilityVTN: String, MotabilityBackOrderDropDown: String, MotabilityValidFrom: 0001-01-01, MotabilityValidTo: 0001-01-01 } ], IsAllocatedToOrder: False, Vin: String, CommissionNumber: String, Order: { Guid: 00000000000000000000000000000000, Reference: String, Status: 0, CustomerId: String, MulesoftReference: String, GasId: String, OrderDate: String, OfferSnapShot: String }, Source: String, Specialist: False, OutrightPurchase: False, Sellable: False, MulesoftReference: String, AdditionalInformation: String, ConfigCode: String, FleetBaseOrder: String, GasId: String, OutrightPurchaseCustomerIdentifier: String, Retailer: { Id: 0, GssnId: String, Description: String, Street: String, City: String, Postcode: String, GoogleMapPostcode: String, Phone: String, Fax: String, Email: String, Website: String, RetailerGroupId: String, RetailerGroupName: String, IsOnline: False, IsNewCarRetailer: False, IsUsedCarRetailer: False, IsCentralRetailer: False, ChatEnabled: False, TradeInEnabled: False, smart: False, DisplayPhoneNumberNew: String, DisplayPhoneNumberUsed: String, Latitude: 0, Longitude: 0, smartDescription: String, smartWebsite: String, smartPhone: String, LegacyId: String, Agent: False, MarketAreaId: 0, DigitalLoungeParentGssnId: String, SendLeadsToDigitalLoungeParent: False, OpeningTimes: { New: [ { Day: String, OpenFrom: String, OpenTo: String, Special: String } ], Used: [ { Day: String, OpenFrom: String, OpenTo: String, Special: String } ] } }, CustomerMode: 0, CanEdit: False, DigitalLoungeGssnId: String, DigitalLounge: String, Motability: False, MotabilityPricing: { MotabilityPricingStatus: Pending, Id: 0, CriteriaBM7NST: String, VTN: String, BackOrderDropDown: String, CriteriaFullModelYearCode: String, CriteriaValidOptionCodes: String, CriteriaInvalidOptionCodes: String, PIPNet: 0, PIPVat: 0, PIPGross: 0, WPMSNet: 0, WPMSVat: 0, WPMSGross: 0, DiscountNet: 0, DiscountVat: 0, DiscountGross: 0, ListPriceNet: 0, ListPriceVat: 0, ListPriceGross: 0, DeliveryChargeNet: 0, DeliveryChargeVat: 0, DeliveryChargeGross: 0, FuelChargeNet: 0, FuelChargeVat: 0, FuelChargeGross: 0, NumberPlateFeeNet: 0, NumberPlateFeeVat: 0, NumberPlateFeeGross: 0, FirstRegistrationFeeNet: 0, FirstRegistrationFeeVat: 0, FirstRegistrationFeeGross: 0, RoadFundLicenceNet: 0, RoadFundLicenceVat: 0, RoadFundLicenceGross: 0, ValidFrom: 0001-01-01, ValidTo: 0001-01-01 }, LinkedByUserType: String, AssistanceProviderId: 0, AssistanceProvider: String, AssistanceDetail: String, LastAssistanceMessageDate: 0001-01-01, LastAssistanceUser: String, IsCOPConverter: False, IsEligibleCOPConverter: False, CarConfigurator: { Id: 0, BackOrderId: 0, ConfiguratorCode: String, GasId: String, Status: 0, DateOfLastUpdate: 0001-01-01, LastExceptionMessage: String, LastException: String }, CarConfiguratorResponse: { Name: String, KeyInformation: { BM7NST: String, ConfigurationDate: String, ModelYear: String, HalfYear: String }, OrderingOptions: { Interior: [ String ], Exterior: [ String ], Other: [ String ] }, ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } }, ConfiguratorCode: String } } ], FeatureStatus: { AgencyEnabled: False } }