| GET | /v1/vehicleswap/{VehicleSwapGuid} | Returns current vehicle for vehicle swap Guid and replacement vehicle | Returns the current vehicle for vehicle swap Guid. If the commission number is presentthen the replacement vehicle + offers + optimal vehicle (if there is one) on an existing order with an equivalent vehicle sent in the request or selected in OneAdmin |
|---|---|---|---|
| GET | /v1/vehicleswap/detail/{VehicleSwapGuid} | Returns current vehicle for vehicle swap Guid and replacement vehicle | Returns the current vehicle for vehicle swap Guid. If the commission number is presentthen the replacement vehicle + offers + optimal vehicle (if there is one) on an existing order with an equivalent vehicle sent in the request or selected in OneAdmin |
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
@ApiResponse(Description="Success", StatusCode=200)
// @ApiResponse(Description="BadRequest", StatusCode=400)
open class GetVehicleSwapDataRequest : IGet
{
open var VehicleSwapGuid:UUID? = null
}
open class GetVehicleSwapDataResponse
{
open var SwapRequestDetails:SwapRequestDetails? = null
open var ActualPrice:BigDecimal? = null
open var CurrentVehicle:VehicleDetailDto? = null
open var CurrentVehicleCampaignOffers:ArrayList<OneAgentOfferDetails> = ArrayList<OneAgentOfferDetails>()
open var CurrentVehiclePersonalisedOffers:ArrayList<OneAgentOfferDetails> = ArrayList<OneAgentOfferDetails>()
open var SwapVehicle:VehicleDetailDto? = null
open var SwapVehicleErrors:ArrayList<VehicleError>? = null
open var VehicleSwapCampaignOffers:ArrayList<OfferDetails> = ArrayList<OfferDetails>()
open var VehicleSwapPersonalisedOffers:ArrayList<PersonalisedOfferDetails> = ArrayList<PersonalisedOfferDetails>()
}
open class SwapRequestDetails
{
open var GssnId:String? = null
open var VehicleSwapGuid:UUID? = null
open var OrderGuid:UUID? = null
open var BackOrderGuid:UUID? = null
open var OrderReference:String? = null
open var OrderType:String? = null
open var Showroom:String? = null
open var SentToCesar:String? = null
open var RequestReason:String? = null
}
open class VehicleDetailDto
{
open var BodyStyle:String? = null
open var Vin:String? = null
open var Description:String? = null
open var Colour:String? = null
open var ColourCode:String? = null
open var ColourDescription:String? = null
open var ColourGroup:String? = null
open var Model:String? = null
open var CommissionNumber:String? = null
open var BrandId:Int? = null
open var Brand:Brand? = null
open var Engine:Engine? = null
open var EngineBadge:String? = null
open var Media:Media? = null
open var Line:String? = null
open var UpholsteryCode:String? = null
open var UpholsteryType:String? = null
open var Upholstery:String? = null
open var UpholsteryDescription:String? = null
open var AvailablePackages:ArrayList<String> = ArrayList<String>()
open var Packages:ArrayList<String> = ArrayList<String>()
open var P11D:BigDecimal? = null
open var PortArrivalDate:Date? = null
open var Prices:ArrayList<Price> = ArrayList<Price>()
open var TransmissionType:String? = null
open var FuelType:String? = null
open var VehicleClass:String? = null
open var ProductRange:String? = null
open var VehicleType:String? = null
open var Emission:BigDecimal? = null
open var IsAvailableOnline:Boolean? = null
open var UnderOffer:Boolean? = null
open var IsExcluded:Boolean? = null
open var IsSellable:Boolean? = null
open var OnHold:Boolean? = null
open var ElectricConsumption:BigDecimal? = null
open var ElectricRange:BigDecimal? = null
open var ImageUrl:String? = null
open var Baumuster:String? = null
open var Retailer:Retailer? = null
open var Bm7NST:String? = null
open var OTR:BigDecimal? = null
open var ActualPrice:BigDecimal? = null
open var IsDisplayStock:Boolean? = null
open var DisplayRetailerId:Int? = null
open var DisplayRetailer:String? = null
open var DisplayRetailerGssnId:String? = null
open var DisplayRetailerMarketAreaId:String? = null
open var IsSmartDisplayRetailer:Boolean? = null
open var IsSpecialistCar:Boolean? = null
open var Age:Int? = null
open var Secured:Boolean? = null
open var IsHOBackOrderAccountVehicle:Boolean? = null
open var IsAllocatedToBackOrder:Boolean? = null
open var UsageCode:String? = null
open var EmissionCombined:BigDecimal? = null
open var NormalisedEmissionDirective:String? = null
open var HasMildHybridEquipmentCode:Boolean? = null
open var RetailPriceExVat:BigDecimal? = null
open var RetailPrice_IncVAT:BigDecimal? = null
open var RetailPrice_ExVAT:BigDecimal? = null
open var ModelId:Int? = null
open var VID:String? = null
open var ProductionDate:String? = null
open var FullModelYearCode:String? = null
open var ChassisNumber:String? = null
open var EligibleForIntegratedServiceCare:Boolean? = null
open var AccountType:String? = null
open var ConsumptionCombined:VehicleConsumption? = null
open var ConsumptionExtraUrban:VehicleConsumption? = null
open var ConsumptionUrban:VehicleConsumption? = null
open var WltpFuelConsumptionCombined:VehicleConsumption? = null
open var WltpFuelConsumptionExtraHigh:VehicleConsumption? = null
open var WltpFuelConsumptionHigh:VehicleConsumption? = null
open var WltpFuelConsumptionLow:VehicleConsumption? = null
open var WltpFuelConsumptionMedium:VehicleConsumption? = null
open var Equipment:ArrayList<Equipmentv2>? = null
open var EquipmentCategories:ArrayList<VehicleEquipmentCategory>? = null
open var EnergyEfficiencyClass:VehicleEmissionClass? = null
open var VehicleData:ArrayList<VehicleAttribute>? = null
open var IntegratedServiceCareOptions:ArrayList<VehicleIntegratedServiceCareOption> = ArrayList<VehicleIntegratedServiceCareOption>()
open var IspVehicleCustomerDescriptions:ArrayList<String>? = null
open var ConfirmedProductionDate:String? = null
open var ForecastedArrivalDate:String? = null
}
open class Brand
{
open var Id:Int? = null
open var Description:String? = null
open var DisplayName:String? = null
open var BodyStyles:ArrayList<BodyStyle>? = null
}
open class BodyStyle
{
open var Id:Int? = null
open var Description:String? = null
open var Models:ArrayList<Model>? = null
}
open class Model
{
open var Id:Int? = null
open var Description:String? = null
open var DisplayName:String? = null
open var ImageUrlSmall:String? = null
open var ImageUrlMedium:String? = null
open var ImageUrlLarge:String? = null
open var Specialist:Boolean? = null
open var Priority:Int? = null
open var ExcludeFromOnlineShowroomFilters:Boolean? = null
}
open class Engine
{
open var Id:Int? = null
open var Badge:String? = null
}
open class Media
{
open var NoImage:Boolean? = null
open var MainImageUrl:String? = null
}
open class Price
{
open var Id:String? = null
open var Description:String? = null
open var Net:BigDecimal? = null
open var VAT:BigDecimal? = null
open var Gross:BigDecimal? = null
open var Product:OfferPriceProductType? = null
}
enum class OfferPriceProductType
{
ListPrice,
NumberPlateFee,
DeliveryCharge,
FuelCharge,
ManufacturerOffer,
PersonalisedMoneyoffer,
PersonalisedNonmoneyoffer,
PersonalisedNonmoneyofferNeg,
Service,
ServiceNeg,
GovernmentGrant,
OutrightPurchaseDiscount,
VipOffer,
WallboxOffer,
WallboxOfferNeg,
RoadFundLicence,
FirstRegistrationFee,
NotFound,
AccessoryOffer,
AccessoryOfferNeg,
MotabilityDiscount,
}
open class Retailer
{
open var Id:Int? = null
open var GssnId:String? = null
open var Description:String? = null
open var Street:String? = null
open var City:String? = null
open var Postcode:String? = null
open var GoogleMapPostcode:String? = null
open var Phone:String? = null
open var Fax:String? = null
open var Email:String? = null
open var Website:String? = null
open var RetailerGroupId:String? = null
open var RetailerGroupName:String? = null
open var IsOnline:Boolean? = null
open var IsNewCarRetailer:Boolean? = null
open var IsUsedCarRetailer:Boolean? = null
open var IsCentralRetailer:Boolean? = null
open var ChatEnabled:Boolean? = null
open var TradeInEnabled:Boolean? = null
open var smart:Boolean? = null
open var DisplayPhoneNumberNew:String? = null
open var DisplayPhoneNumberUsed:String? = null
open var Latitude:BigDecimal? = null
open var Longitude:BigDecimal? = null
open var smartDescription:String? = null
open var smartWebsite:String? = null
open var smartPhone:String? = null
open var LegacyId:String? = null
open var Agent:Boolean? = null
open var MarketAreaId:Int? = null
open var DigitalLoungeParentGssnId:String? = null
open var SendLeadsToDigitalLoungeParent:Boolean? = null
open var OpeningTimes:RetailerOpeningTimes? = null
}
open class RetailerOpeningTimes
{
open var New:ArrayList<RetailerOpeningTime> = ArrayList<RetailerOpeningTime>()
open var Used:ArrayList<RetailerOpeningTime> = ArrayList<RetailerOpeningTime>()
}
open class RetailerOpeningTime
{
open var Day:String? = null
open var OpenFrom:String? = null
open var OpenTo:String? = null
open var Special:String? = null
}
open class VehicleConsumption
{
open var Id:Int? = null
open var Lkm:BigDecimal? = null
open var Mpg:BigDecimal? = null
}
open class Equipmentv2 : Equipment()
{
open var Importance:Int? = null
open var IsAdditional:Boolean? = null
}
open class Equipment
{
open var Id:Int? = null
open var Code:String? = null
open var Description:String? = null
}
open class VehicleEquipmentCategory
{
open var Order:Int? = null
open var Code:String? = null
open var Description:String? = null
open var Equipment:ArrayList<Equipmentv2>? = null
}
open class VehicleEmissionClass
{
open var Colour:String? = null
open var Rating:String? = null
}
open class VehicleAttribute
{
open var Description:String? = null
open var Value:String? = null
}
open class VehicleIntegratedServiceCareOption
{
open var OptionCode:String? = null
open var BM7NST:String? = null
open var FullModelYear:String? = null
open var IntegratedProductType:String? = null
open var CustomerDescription:String? = null
open var OneAgentProductType:String? = null
}
open class OneAgentOfferDetails
{
open var CampaignOfferType:String? = null
open var Description:String? = null
open var Net:BigDecimal? = null
open var Vat:BigDecimal? = null
open var Gross:BigDecimal? = null
}
open class VehicleError
{
open var Field:String? = null
open var Message:String? = null
}
open class OfferDetails
{
open var Id:Int? = null
open var CampaignId:Int? = null
open var Campaign:String? = null
open var CampaignOfferType:String? = null
open var Description:String? = null
open var Net:BigDecimal? = null
open var From:Date? = null
open var To:Date? = null
open var GovernmentGrant:Boolean? = null
}
open class PersonalisedOfferDetails
{
open var Id:Int? = null
open var CampaignId:Int? = null
open var Campaign:String? = null
open var Description:String? = null
open var Reference:String? = null
open var Category:String? = null
open var Net:BigDecimal? = null
open var VAT:BigDecimal? = null
open var Gross:BigDecimal? = null
open var Vin:String? = null
open var MoneyOffVehicle:Boolean? = null
open var IsVATCharged:Boolean? = null
open var IsVATVariable:Boolean? = null
open var CertificateRequired:Boolean? = null
open var AutoSelect:Boolean? = null
}
Kotlin GetVehicleSwapDataRequest 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/vehicleswap/{VehicleSwapGuid} 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
{
SwapRequestDetails:
{
GssnId: String,
VehicleSwapGuid: 00000000000000000000000000000000,
OrderGuid: 00000000000000000000000000000000,
BackOrderGuid: 00000000000000000000000000000000,
OrderReference: String,
OrderType: String,
Showroom: String,
SentToCesar: String,
RequestReason: String
},
ActualPrice: 0,
CurrentVehicle:
{
BodyStyle: String,
Vin: String,
Description: String,
Colour: String,
ColourCode: String,
ColourDescription: String,
ColourGroup: String,
Model: String,
CommissionNumber: String,
BrandId: 0,
Brand:
{
Id: 0,
Description: String,
DisplayName: String,
BodyStyles:
[
{
Id: 0,
Description: String,
Models:
[
{
Id: 0,
Description: String,
DisplayName: String,
ImageUrlSmall: String,
ImageUrlMedium: String,
ImageUrlLarge: String,
Specialist: False,
Priority: 0,
ExcludeFromOnlineShowroomFilters: False
}
]
}
]
},
Engine:
{
Id: 0,
Badge: String
},
EngineBadge: String,
Media:
{
NoImage: False,
MainImageUrl: String
},
Line: String,
UpholsteryCode: String,
UpholsteryType: String,
Upholstery: String,
UpholsteryDescription: String,
AvailablePackages:
[
String
],
Packages:
[
String
],
P11D: 0,
PortArrivalDate: 0001-01-01,
Prices:
[
{
Id: String,
Description: String,
Net: 0,
VAT: 0,
Gross: 0,
Product: LIST_PRICE
}
],
TransmissionType: String,
FuelType: String,
VehicleClass: String,
ProductRange: String,
VehicleType: String,
Emission: 0,
IsAvailableOnline: False,
UnderOffer: False,
IsExcluded: False,
IsSellable: False,
OnHold: False,
ElectricConsumption: 0,
ElectricRange: 0,
ImageUrl: String,
Baumuster: 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
}
]
}
},
Bm7NST: String,
OTR: 0,
ActualPrice: 0,
IsDisplayStock: False,
DisplayRetailerId: 0,
DisplayRetailer: String,
DisplayRetailerGssnId: String,
DisplayRetailerMarketAreaId: String,
IsSmartDisplayRetailer: False,
IsSpecialistCar: False,
Age: 0,
Secured: False,
IsHOBackOrderAccountVehicle: False,
IsAllocatedToBackOrder: False,
UsageCode: String,
EmissionCombined: 0,
NormalisedEmissionDirective: String,
HasMildHybridEquipmentCode: False,
RetailPriceExVat: 0,
RetailPrice_IncVAT: 0,
RetailPrice_ExVAT: 0,
ModelId: 0,
VID: String,
ProductionDate: String,
FullModelYearCode: String,
ChassisNumber: String,
EligibleForIntegratedServiceCare: False,
AccountType: String,
ConsumptionCombined:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
ConsumptionExtraUrban:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
ConsumptionUrban:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionCombined:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionExtraHigh:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionHigh:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionLow:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionMedium:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
Equipment:
[
{
Importance: 0,
IsAdditional: False,
Id: 0,
Code: String,
Description: String
}
],
EquipmentCategories:
[
{
Order: 0,
Code: String,
Description: String,
Equipment:
[
{
Importance: 0,
IsAdditional: False,
Id: 0,
Code: String,
Description: String
}
]
}
],
EnergyEfficiencyClass:
{
Colour: String,
Rating: String
},
VehicleData:
[
{
Description: String,
Value: String
}
],
IntegratedServiceCareOptions:
[
{
OptionCode: String,
BM7NST: String,
FullModelYear: String,
IntegratedProductType: String,
CustomerDescription: String,
OneAgentProductType: String
}
],
IspVehicleCustomerDescriptions:
[
String
],
ConfirmedProductionDate: String,
ForecastedArrivalDate: String
},
CurrentVehicleCampaignOffers:
[
{
CampaignOfferType: String,
Description: String,
Net: 0,
Vat: 0,
Gross: 0
}
],
CurrentVehiclePersonalisedOffers:
[
{
CampaignOfferType: String,
Description: String,
Net: 0,
Vat: 0,
Gross: 0
}
],
SwapVehicle:
{
BodyStyle: String,
Vin: String,
Description: String,
Colour: String,
ColourCode: String,
ColourDescription: String,
ColourGroup: String,
Model: String,
CommissionNumber: String,
BrandId: 0,
Brand:
{
Id: 0,
Description: String,
DisplayName: String,
BodyStyles:
[
{
Id: 0,
Description: String,
Models:
[
{
Id: 0,
Description: String,
DisplayName: String,
ImageUrlSmall: String,
ImageUrlMedium: String,
ImageUrlLarge: String,
Specialist: False,
Priority: 0,
ExcludeFromOnlineShowroomFilters: False
}
]
}
]
},
Engine:
{
Id: 0,
Badge: String
},
EngineBadge: String,
Media:
{
NoImage: False,
MainImageUrl: String
},
Line: String,
UpholsteryCode: String,
UpholsteryType: String,
Upholstery: String,
UpholsteryDescription: String,
AvailablePackages:
[
String
],
Packages:
[
String
],
P11D: 0,
PortArrivalDate: 0001-01-01,
Prices:
[
{
Id: String,
Description: String,
Net: 0,
VAT: 0,
Gross: 0,
Product: LIST_PRICE
}
],
TransmissionType: String,
FuelType: String,
VehicleClass: String,
ProductRange: String,
VehicleType: String,
Emission: 0,
IsAvailableOnline: False,
UnderOffer: False,
IsExcluded: False,
IsSellable: False,
OnHold: False,
ElectricConsumption: 0,
ElectricRange: 0,
ImageUrl: String,
Baumuster: 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
}
]
}
},
Bm7NST: String,
OTR: 0,
ActualPrice: 0,
IsDisplayStock: False,
DisplayRetailerId: 0,
DisplayRetailer: String,
DisplayRetailerGssnId: String,
DisplayRetailerMarketAreaId: String,
IsSmartDisplayRetailer: False,
IsSpecialistCar: False,
Age: 0,
Secured: False,
IsHOBackOrderAccountVehicle: False,
IsAllocatedToBackOrder: False,
UsageCode: String,
EmissionCombined: 0,
NormalisedEmissionDirective: String,
HasMildHybridEquipmentCode: False,
RetailPriceExVat: 0,
RetailPrice_IncVAT: 0,
RetailPrice_ExVAT: 0,
ModelId: 0,
VID: String,
ProductionDate: String,
FullModelYearCode: String,
ChassisNumber: String,
EligibleForIntegratedServiceCare: False,
AccountType: String,
ConsumptionCombined:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
ConsumptionExtraUrban:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
ConsumptionUrban:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionCombined:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionExtraHigh:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionHigh:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionLow:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
WltpFuelConsumptionMedium:
{
Id: 0,
Lkm: 0,
Mpg: 0
},
Equipment:
[
{
Importance: 0,
IsAdditional: False,
Id: 0,
Code: String,
Description: String
}
],
EquipmentCategories:
[
{
Order: 0,
Code: String,
Description: String,
Equipment:
[
{
Importance: 0,
IsAdditional: False,
Id: 0,
Code: String,
Description: String
}
]
}
],
EnergyEfficiencyClass:
{
Colour: String,
Rating: String
},
VehicleData:
[
{
Description: String,
Value: String
}
],
IntegratedServiceCareOptions:
[
{
OptionCode: String,
BM7NST: String,
FullModelYear: String,
IntegratedProductType: String,
CustomerDescription: String,
OneAgentProductType: String
}
],
IspVehicleCustomerDescriptions:
[
String
],
ConfirmedProductionDate: String,
ForecastedArrivalDate: String
},
SwapVehicleErrors:
[
{
Field: String,
Message: String
}
],
VehicleSwapCampaignOffers:
[
{
Id: 0,
CampaignId: 0,
Campaign: String,
CampaignOfferType: String,
Description: String,
Net: 0,
From: 0001-01-01,
To: 0001-01-01,
GovernmentGrant: False
}
],
VehicleSwapPersonalisedOffers:
[
{
Id: 0,
CampaignId: 0,
Campaign: String,
Description: String,
Reference: String,
Category: String,
Net: 0,
VAT: 0,
Gross: 0,
Vin: String,
MoneyOffVehicle: False,
IsVATCharged: False,
IsVATVariable: False,
CertificateRequired: False,
AutoSelect: False
}
]
}