POST | /v1/inflightpricing | Inflight Pricing for supplied Order Guids |
---|
import 'package:servicestack/servicestack.dart';
class OrderOffer implements IConvertible
{
int? Id;
int? OfferTypeId;
String? OfferTypeDescription;
String? OfferId;
String? OfferDescription;
double? Net;
double? VAT;
double? Gross;
bool? GovernmentGrant;
String? PromoCode;
String? Expiry;
bool? AffectsPrice;
int? Product;
String? ParentId;
DateTime? CreationDate;
String? ProductTypeDescription;
String? ProductTypeNegativeDescription;
bool? CertificateRequired;
OrderOffer({this.Id,this.OfferTypeId,this.OfferTypeDescription,this.OfferId,this.OfferDescription,this.Net,this.VAT,this.Gross,this.GovernmentGrant,this.PromoCode,this.Expiry,this.AffectsPrice,this.Product,this.ParentId,this.CreationDate,this.ProductTypeDescription,this.ProductTypeNegativeDescription,this.CertificateRequired});
OrderOffer.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
OfferTypeId = json['OfferTypeId'];
OfferTypeDescription = json['OfferTypeDescription'];
OfferId = json['OfferId'];
OfferDescription = json['OfferDescription'];
Net = JsonConverters.toDouble(json['Net']);
VAT = JsonConverters.toDouble(json['VAT']);
Gross = JsonConverters.toDouble(json['Gross']);
GovernmentGrant = json['GovernmentGrant'];
PromoCode = json['PromoCode'];
Expiry = json['Expiry'];
AffectsPrice = json['AffectsPrice'];
Product = json['Product'];
ParentId = json['ParentId'];
CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
ProductTypeDescription = json['ProductTypeDescription'];
ProductTypeNegativeDescription = json['ProductTypeNegativeDescription'];
CertificateRequired = json['CertificateRequired'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'OfferTypeId': OfferTypeId,
'OfferTypeDescription': OfferTypeDescription,
'OfferId': OfferId,
'OfferDescription': OfferDescription,
'Net': Net,
'VAT': VAT,
'Gross': Gross,
'GovernmentGrant': GovernmentGrant,
'PromoCode': PromoCode,
'Expiry': Expiry,
'AffectsPrice': AffectsPrice,
'Product': Product,
'ParentId': ParentId,
'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
'ProductTypeDescription': ProductTypeDescription,
'ProductTypeNegativeDescription': ProductTypeNegativeDescription,
'CertificateRequired': CertificateRequired
};
getTypeName() => "OrderOffer";
TypeContext? context = _ctx;
}
class OutrightPurchase implements IConvertible
{
bool? IsOutrightPurchase;
String? Reference;
double? DiscountRate;
String? Bm7NST;
bool? IsBackOrder;
bool? IsCOPConverter;
OutrightPurchase({this.IsOutrightPurchase,this.Reference,this.DiscountRate,this.Bm7NST,this.IsBackOrder,this.IsCOPConverter});
OutrightPurchase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
IsOutrightPurchase = json['IsOutrightPurchase'];
Reference = json['Reference'];
DiscountRate = JsonConverters.toDouble(json['DiscountRate']);
Bm7NST = json['Bm7NST'];
IsBackOrder = json['IsBackOrder'];
IsCOPConverter = json['IsCOPConverter'];
return this;
}
Map<String, dynamic> toJson() => {
'IsOutrightPurchase': IsOutrightPurchase,
'Reference': Reference,
'DiscountRate': DiscountRate,
'Bm7NST': Bm7NST,
'IsBackOrder': IsBackOrder,
'IsCOPConverter': IsCOPConverter
};
getTypeName() => "OutrightPurchase";
TypeContext? context = _ctx;
}
class MotabilityAdvancePayment implements IConvertible
{
String? AdvancePaymentRentalType;
double? AdvancePaymentValueGross;
double? AdvancePaymentValueVAT;
double? AdvancePaymentValueNet;
MotabilityAdvancePayment({this.AdvancePaymentRentalType,this.AdvancePaymentValueGross,this.AdvancePaymentValueVAT,this.AdvancePaymentValueNet});
MotabilityAdvancePayment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AdvancePaymentRentalType = json['AdvancePaymentRentalType'];
AdvancePaymentValueGross = JsonConverters.toDouble(json['AdvancePaymentValueGross']);
AdvancePaymentValueVAT = JsonConverters.toDouble(json['AdvancePaymentValueVAT']);
AdvancePaymentValueNet = JsonConverters.toDouble(json['AdvancePaymentValueNet']);
return this;
}
Map<String, dynamic> toJson() => {
'AdvancePaymentRentalType': AdvancePaymentRentalType,
'AdvancePaymentValueGross': AdvancePaymentValueGross,
'AdvancePaymentValueVAT': AdvancePaymentValueVAT,
'AdvancePaymentValueNet': AdvancePaymentValueNet
};
getTypeName() => "MotabilityAdvancePayment";
TypeContext? context = _ctx;
}
class InflightPricingOrder implements IConvertible
{
String? Guid;
String? Vin;
int? AdvanceRentalPaymentType;
List<OrderOffer>? Offer = [];
OutrightPurchase? OutrightPurchase;
MotabilityAdvancePayment? MotabilityAdvancePayment;
InflightPricingOrder({this.Guid,this.Vin,this.AdvanceRentalPaymentType,this.Offer,this.OutrightPurchase,this.MotabilityAdvancePayment});
InflightPricingOrder.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['Guid'];
Vin = json['Vin'];
AdvanceRentalPaymentType = json['AdvanceRentalPaymentType'];
Offer = JsonConverters.fromJson(json['Offer'],'List<OrderOffer>',context!);
OutrightPurchase = JsonConverters.fromJson(json['OutrightPurchase'],'OutrightPurchase',context!);
MotabilityAdvancePayment = JsonConverters.fromJson(json['MotabilityAdvancePayment'],'MotabilityAdvancePayment',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Guid': Guid,
'Vin': Vin,
'AdvanceRentalPaymentType': AdvanceRentalPaymentType,
'Offer': JsonConverters.toJson(Offer,'List<OrderOffer>',context!),
'OutrightPurchase': JsonConverters.toJson(OutrightPurchase,'OutrightPurchase',context!),
'MotabilityAdvancePayment': JsonConverters.toJson(MotabilityAdvancePayment,'MotabilityAdvancePayment',context!)
};
getTypeName() => "InflightPricingOrder";
TypeContext? context = _ctx;
}
class InflightPricingOrderRequest implements IConvertible
{
List<String>? InvalidFormatGuids = [];
List<String>? OrderNotFoundGuids = [];
List<InflightPricingOrder>? InflightPricingOrders = [];
bool? IsMotability;
InflightPricingOrderRequest({this.InvalidFormatGuids,this.OrderNotFoundGuids,this.InflightPricingOrders,this.IsMotability});
InflightPricingOrderRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
InvalidFormatGuids = JsonConverters.fromJson(json['InvalidFormatGuids'],'List<String>',context!);
OrderNotFoundGuids = JsonConverters.fromJson(json['OrderNotFoundGuids'],'List<String>',context!);
InflightPricingOrders = JsonConverters.fromJson(json['InflightPricingOrders'],'List<InflightPricingOrder>',context!);
IsMotability = json['IsMotability'];
return this;
}
Map<String, dynamic> toJson() => {
'InvalidFormatGuids': JsonConverters.toJson(InvalidFormatGuids,'List<String>',context!),
'OrderNotFoundGuids': JsonConverters.toJson(OrderNotFoundGuids,'List<String>',context!),
'InflightPricingOrders': JsonConverters.toJson(InflightPricingOrders,'List<InflightPricingOrder>',context!),
'IsMotability': IsMotability
};
getTypeName() => "InflightPricingOrderRequest";
TypeContext? context = _ctx;
}
class SalesforcePrice implements IConvertible
{
String? Id;
String? Description;
double? Net;
double? VAT;
double? Gross;
String? Product;
SalesforcePrice({this.Id,this.Description,this.Net,this.VAT,this.Gross,this.Product});
SalesforcePrice.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Description = json['Description'];
Net = JsonConverters.toDouble(json['Net']);
VAT = JsonConverters.toDouble(json['VAT']);
Gross = JsonConverters.toDouble(json['Gross']);
Product = json['Product'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Description': Description,
'Net': Net,
'VAT': VAT,
'Gross': Gross,
'Product': Product
};
getTypeName() => "SalesforcePrice";
TypeContext? context = _ctx;
}
class SalesforceTotalPrice implements IConvertible
{
double? Net;
double? VAT;
double? Gross;
SalesforceTotalPrice({this.Net,this.VAT,this.Gross});
SalesforceTotalPrice.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Net = JsonConverters.toDouble(json['Net']);
VAT = JsonConverters.toDouble(json['VAT']);
Gross = JsonConverters.toDouble(json['Gross']);
return this;
}
Map<String, dynamic> toJson() => {
'Net': Net,
'VAT': VAT,
'Gross': Gross
};
getTypeName() => "SalesforceTotalPrice";
TypeContext? context = _ctx;
}
class SalesforceOffer implements IConvertible
{
String? Id;
String? Description;
double? Net;
double? VAT;
double? Gross;
String? Expiry;
String? Product;
bool? RequiresCertification;
SalesforceOffer({this.Id,this.Description,this.Net,this.VAT,this.Gross,this.Expiry,this.Product,this.RequiresCertification});
SalesforceOffer.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Description = json['Description'];
Net = JsonConverters.toDouble(json['Net']);
VAT = JsonConverters.toDouble(json['VAT']);
Gross = JsonConverters.toDouble(json['Gross']);
Expiry = json['Expiry'];
Product = json['Product'];
RequiresCertification = json['RequiresCertification'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Description': Description,
'Net': Net,
'VAT': VAT,
'Gross': Gross,
'Expiry': Expiry,
'Product': Product,
'RequiresCertification': RequiresCertification
};
getTypeName() => "SalesforceOffer";
TypeContext? context = _ctx;
}
class SalesforceOffers implements IConvertible
{
List<SalesforceOffer>? Personalised = [];
List<SalesforceOffer>? NonDiscretionary = [];
List<SalesforceOffer>? NonCampaign = [];
List<SalesforceOffer>? OutrightPurchaseDiscount = [];
List<SalesforceOffer>? MotabilityDiscount = [];
List<SalesforceOffer>? IntegratedProducts = [];
SalesforceOffers({this.Personalised,this.NonDiscretionary,this.NonCampaign,this.OutrightPurchaseDiscount,this.MotabilityDiscount,this.IntegratedProducts});
SalesforceOffers.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Personalised = JsonConverters.fromJson(json['Personalised'],'List<SalesforceOffer>',context!);
NonDiscretionary = JsonConverters.fromJson(json['NonDiscretionary'],'List<SalesforceOffer>',context!);
NonCampaign = JsonConverters.fromJson(json['NonCampaign'],'List<SalesforceOffer>',context!);
OutrightPurchaseDiscount = JsonConverters.fromJson(json['OutrightPurchaseDiscount'],'List<SalesforceOffer>',context!);
MotabilityDiscount = JsonConverters.fromJson(json['MotabilityDiscount'],'List<SalesforceOffer>',context!);
IntegratedProducts = JsonConverters.fromJson(json['IntegratedProducts'],'List<SalesforceOffer>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Personalised': JsonConverters.toJson(Personalised,'List<SalesforceOffer>',context!),
'NonDiscretionary': JsonConverters.toJson(NonDiscretionary,'List<SalesforceOffer>',context!),
'NonCampaign': JsonConverters.toJson(NonCampaign,'List<SalesforceOffer>',context!),
'OutrightPurchaseDiscount': JsonConverters.toJson(OutrightPurchaseDiscount,'List<SalesforceOffer>',context!),
'MotabilityDiscount': JsonConverters.toJson(MotabilityDiscount,'List<SalesforceOffer>',context!),
'IntegratedProducts': JsonConverters.toJson(IntegratedProducts,'List<SalesforceOffer>',context!)
};
getTypeName() => "SalesforceOffers";
TypeContext? context = _ctx;
}
class SalesforceOutrightPurchase implements IConvertible
{
bool? IsOutrightPurchase;
String? Reference;
double? DiscountPercentage;
String? ModelId;
SalesforceOutrightPurchase({this.IsOutrightPurchase,this.Reference,this.DiscountPercentage,this.ModelId});
SalesforceOutrightPurchase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
IsOutrightPurchase = json['IsOutrightPurchase'];
Reference = json['Reference'];
DiscountPercentage = JsonConverters.toDouble(json['DiscountPercentage']);
ModelId = json['ModelId'];
return this;
}
Map<String, dynamic> toJson() => {
'IsOutrightPurchase': IsOutrightPurchase,
'Reference': Reference,
'DiscountPercentage': DiscountPercentage,
'ModelId': ModelId
};
getTypeName() => "SalesforceOutrightPurchase";
TypeContext? context = _ctx;
}
class VehicleInflightPrice implements IConvertible
{
String? Guid;
String? Status;
bool? Success;
List<SalesforcePrice>? Prices = [];
SalesforceTotalPrice? TotalOTRFees;
SalesforceTotalPrice? TotalOTRPrice;
SalesforceTotalPrice? TotalActualPrice;
SalesforceOffers? Offers;
SalesforceOutrightPurchase? OutrightPurchase;
MotabilityAdvancePayment? Motability;
VehicleInflightPrice({this.Guid,this.Status,this.Success,this.Prices,this.TotalOTRFees,this.TotalOTRPrice,this.TotalActualPrice,this.Offers,this.OutrightPurchase,this.Motability});
VehicleInflightPrice.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['Guid'];
Status = json['Status'];
Success = json['Success'];
Prices = JsonConverters.fromJson(json['Prices'],'List<SalesforcePrice>',context!);
TotalOTRFees = JsonConverters.fromJson(json['TotalOTRFees'],'SalesforceTotalPrice',context!);
TotalOTRPrice = JsonConverters.fromJson(json['TotalOTRPrice'],'SalesforceTotalPrice',context!);
TotalActualPrice = JsonConverters.fromJson(json['TotalActualPrice'],'SalesforceTotalPrice',context!);
Offers = JsonConverters.fromJson(json['Offers'],'SalesforceOffers',context!);
OutrightPurchase = JsonConverters.fromJson(json['OutrightPurchase'],'SalesforceOutrightPurchase',context!);
Motability = JsonConverters.fromJson(json['Motability'],'MotabilityAdvancePayment',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Guid': Guid,
'Status': Status,
'Success': Success,
'Prices': JsonConverters.toJson(Prices,'List<SalesforcePrice>',context!),
'TotalOTRFees': JsonConverters.toJson(TotalOTRFees,'SalesforceTotalPrice',context!),
'TotalOTRPrice': JsonConverters.toJson(TotalOTRPrice,'SalesforceTotalPrice',context!),
'TotalActualPrice': JsonConverters.toJson(TotalActualPrice,'SalesforceTotalPrice',context!),
'Offers': JsonConverters.toJson(Offers,'SalesforceOffers',context!),
'OutrightPurchase': JsonConverters.toJson(OutrightPurchase,'SalesforceOutrightPurchase',context!),
'Motability': JsonConverters.toJson(Motability,'MotabilityAdvancePayment',context!)
};
getTypeName() => "VehicleInflightPrice";
TypeContext? context = _ctx;
}
class InflightPricingResponse implements IConvertible
{
List<VehicleInflightPrice>? VehiclesInflightPrices = [];
InflightPricingResponse({this.VehiclesInflightPrices});
InflightPricingResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
VehiclesInflightPrices = JsonConverters.fromJson(json['VehiclesInflightPrices'],'List<VehicleInflightPrice>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'VehiclesInflightPrices': JsonConverters.toJson(VehiclesInflightPrices,'List<VehicleInflightPrice>',context!)
};
getTypeName() => "InflightPricingResponse";
TypeContext? context = _ctx;
}
// @ApiResponse(Description="In Flight pricing generated", StatusCode=200)
class InflightPricingRequest extends InflightPricingOrderRequest implements IPost, IConvertible
{
InflightPricingRequest();
InflightPricingRequest.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() => "InflightPricingRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'prod_api_agency_orch_mb_dhc.rapp_customers.co.uk', types: <String, TypeInfo> {
'OrderOffer': TypeInfo(TypeOf.Class, create:() => OrderOffer()),
'OutrightPurchase': TypeInfo(TypeOf.Class, create:() => OutrightPurchase()),
'MotabilityAdvancePayment': TypeInfo(TypeOf.Class, create:() => MotabilityAdvancePayment()),
'InflightPricingOrder': TypeInfo(TypeOf.Class, create:() => InflightPricingOrder()),
'List<OrderOffer>': TypeInfo(TypeOf.Class, create:() => <OrderOffer>[]),
'InflightPricingOrderRequest': TypeInfo(TypeOf.Class, create:() => InflightPricingOrderRequest()),
'List<InflightPricingOrder>': TypeInfo(TypeOf.Class, create:() => <InflightPricingOrder>[]),
'SalesforcePrice': TypeInfo(TypeOf.Class, create:() => SalesforcePrice()),
'SalesforceTotalPrice': TypeInfo(TypeOf.Class, create:() => SalesforceTotalPrice()),
'SalesforceOffer': TypeInfo(TypeOf.Class, create:() => SalesforceOffer()),
'SalesforceOffers': TypeInfo(TypeOf.Class, create:() => SalesforceOffers()),
'List<SalesforceOffer>': TypeInfo(TypeOf.Class, create:() => <SalesforceOffer>[]),
'SalesforceOutrightPurchase': TypeInfo(TypeOf.Class, create:() => SalesforceOutrightPurchase()),
'VehicleInflightPrice': TypeInfo(TypeOf.Class, create:() => VehicleInflightPrice()),
'List<SalesforcePrice>': TypeInfo(TypeOf.Class, create:() => <SalesforcePrice>[]),
'InflightPricingResponse': TypeInfo(TypeOf.Class, create:() => InflightPricingResponse()),
'List<VehicleInflightPrice>': TypeInfo(TypeOf.Class, create:() => <VehicleInflightPrice>[]),
'InflightPricingRequest': TypeInfo(TypeOf.Class, create:() => InflightPricingRequest()),
});
Dart InflightPricingRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/inflightpricing HTTP/1.1
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"InvalidFormatGuids":["String"],"OrderNotFoundGuids":["00000000000000000000000000000000"],"InflightPricingOrders":[{"Guid":"00000000000000000000000000000000","Vin":"String","AdvanceRentalPaymentType":0,"Offer":[{"Id":0,"OfferTypeId":0,"OfferTypeDescription":"String","OfferId":"String","OfferDescription":"String","Net":0,"VAT":0,"Gross":0,"GovernmentGrant":false,"PromoCode":"String","Expiry":"String","AffectsPrice":false,"Product":0,"ParentId":"String","CreationDate":"\/Date(-62135596800000-0000)\/","ProductTypeDescription":"String","ProductTypeNegativeDescription":"String","CertificateRequired":false}],"OutrightPurchase":{"IsOutrightPurchase":false,"Reference":"String","DiscountRate":0,"Bm7NST":"String","IsBackOrder":false,"IsCOPConverter":false},"MotabilityAdvancePayment":{"AdvancePaymentRentalType":"String","AdvancePaymentValueGross":0,"AdvancePaymentValueVAT":0,"AdvancePaymentValueNet":0}}],"IsMotability":false}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"VehiclesInflightPrices":[{"Guid":"String","Status":"String","Success":false,"Prices":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Product":"String"}],"TotalOTRFees":{"Net":0,"VAT":0,"Gross":0},"TotalOTRPrice":{"Net":0,"VAT":0,"Gross":0},"TotalActualPrice":{"Net":0,"VAT":0,"Gross":0},"Offers":{"Personalised":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Expiry":"String","Product":"String","RequiresCertification":false}],"NonDiscretionary":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Expiry":"String","Product":"String","RequiresCertification":false}],"NonCampaign":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Expiry":"String","Product":"String","RequiresCertification":false}],"OutrightPurchaseDiscount":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Expiry":"String","Product":"String","RequiresCertification":false}],"MotabilityDiscount":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Expiry":"String","Product":"String","RequiresCertification":false}],"IntegratedProducts":[{"Id":"String","Description":"String","Net":0,"VAT":0,"Gross":0,"Expiry":"String","Product":"String","RequiresCertification":false}]},"OutrightPurchase":{"IsOutrightPurchase":false,"Reference":"String","DiscountPercentage":0,"ModelId":"String"},"Motability":{"AdvancePaymentRentalType":"String","AdvancePaymentValueGross":0,"AdvancePaymentValueVAT":0,"AdvancePaymentValueNet":0}}]}