/* Options: Date: 2025-05-05 17:31:11 Version: 8.61 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://prod-api-agency-orch-mb-dhc.rapp-customers.co.uk //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateOneAdminBackOrderRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum Source { OnlineShowroom, OneAdmin, } class Address implements IConvertible { String? Property; String? Street; String? Town; String? County; String? Locality; String? Postcode; Address({this.Property,this.Street,this.Town,this.County,this.Locality,this.Postcode}); Address.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Property = json['Property']; Street = json['Street']; Town = json['Town']; County = json['County']; Locality = json['Locality']; Postcode = json['Postcode']; return this; } Map toJson() => { 'Property': Property, 'Street': Street, 'Town': Town, 'County': County, 'Locality': Locality, 'Postcode': Postcode }; getTypeName() => "Address"; TypeContext? context = _ctx; } enum CustomerMode { Private, Business, Motability, } class SalesforceCustomer implements ICustomer, IConvertible { String? CustomerId; bool? IsCiam; String? CompanyName; String? Title; String? Firstname; String? Surname; String? EmailAddress; String? Telephone; Address? Address; CustomerMode? Mode; SalesforceCustomer({this.CustomerId,this.IsCiam,this.CompanyName,this.Title,this.Firstname,this.Surname,this.EmailAddress,this.Telephone,this.Address,this.Mode}); SalesforceCustomer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CustomerId = json['CustomerId']; IsCiam = json['IsCiam']; CompanyName = json['CompanyName']; Title = json['Title']; Firstname = json['Firstname']; Surname = json['Surname']; EmailAddress = json['EmailAddress']; Telephone = json['Telephone']; Address = JsonConverters.fromJson(json['Address'],'Address',context!); Mode = JsonConverters.fromJson(json['Mode'],'CustomerMode',context!); return this; } Map toJson() => { 'CustomerId': CustomerId, 'IsCiam': IsCiam, 'CompanyName': CompanyName, 'Title': Title, 'Firstname': Firstname, 'Surname': Surname, 'EmailAddress': EmailAddress, 'Telephone': Telephone, 'Address': JsonConverters.toJson(Address,'Address',context!), 'Mode': JsonConverters.toJson(Mode,'CustomerMode',context!) }; getTypeName() => "SalesforceCustomer"; TypeContext? context = _ctx; } class Preferences implements IConvertible { bool? OptinEmail; bool? OptinPost; bool? OptinSMS; bool? OptinTelephone; Preferences({this.OptinEmail,this.OptinPost,this.OptinSMS,this.OptinTelephone}); Preferences.fromJson(Map json) { fromMap(json); } fromMap(Map json) { OptinEmail = json['OptinEmail']; OptinPost = json['OptinPost']; OptinSMS = json['OptinSMS']; OptinTelephone = json['OptinTelephone']; return this; } Map toJson() => { 'OptinEmail': OptinEmail, 'OptinPost': OptinPost, 'OptinSMS': OptinSMS, 'OptinTelephone': OptinTelephone }; getTypeName() => "Preferences"; TypeContext? context = _ctx; } class Customer extends SalesforceCustomer implements IConvertible { String? ProfileId; Preferences? Preferences; Customer({this.ProfileId,this.Preferences}); Customer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ProfileId = json['ProfileId']; Preferences = JsonConverters.fromJson(json['Preferences'],'Preferences',context!); return this; } Map toJson() => super.toJson()..addAll({ 'ProfileId': ProfileId, 'Preferences': JsonConverters.toJson(Preferences,'Preferences',context!) }); getTypeName() => "Customer"; TypeContext? context = _ctx; } class JsonVersion implements IJsonVersion, IConvertible { int? Version; JsonVersion({this.Version}); JsonVersion.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Version = json['Version']; return this; } Map toJson() => { 'Version': Version }; getTypeName() => "JsonVersion"; TypeContext? context = _ctx; } class CriteriaModel implements IConvertible { String? Description; int? Id; CriteriaModel({this.Description,this.Id}); CriteriaModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Description = json['Description']; Id = json['Id']; return this; } Map toJson() => { 'Description': Description, 'Id': Id }; getTypeName() => "CriteriaModel"; TypeContext? context = _ctx; } class CriteriaDifference implements IConvertible { bool? Model; bool? Transmission; bool? Fuel; bool? Upholstery; bool? Equipment; bool? Line; bool? BodyStyle; bool? ColourGroup; bool? Packages; bool? Engine; bool? AdditionalInformation; bool? UrlReferrer; bool? PreferredDeliveryDate; bool? IsSmart; bool? IsSpecialised; CriteriaDifference({this.Model,this.Transmission,this.Fuel,this.Upholstery,this.Equipment,this.Line,this.BodyStyle,this.ColourGroup,this.Packages,this.Engine,this.AdditionalInformation,this.UrlReferrer,this.PreferredDeliveryDate,this.IsSmart,this.IsSpecialised}); CriteriaDifference.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Model = json['Model']; Transmission = json['Transmission']; Fuel = json['Fuel']; Upholstery = json['Upholstery']; Equipment = json['Equipment']; Line = json['Line']; BodyStyle = json['BodyStyle']; ColourGroup = json['ColourGroup']; Packages = json['Packages']; Engine = json['Engine']; AdditionalInformation = json['AdditionalInformation']; UrlReferrer = json['UrlReferrer']; PreferredDeliveryDate = json['PreferredDeliveryDate']; IsSmart = json['IsSmart']; IsSpecialised = json['IsSpecialised']; return this; } Map toJson() => { 'Model': Model, 'Transmission': Transmission, 'Fuel': Fuel, 'Upholstery': Upholstery, 'Equipment': Equipment, 'Line': Line, 'BodyStyle': BodyStyle, 'ColourGroup': ColourGroup, 'Packages': Packages, 'Engine': Engine, 'AdditionalInformation': AdditionalInformation, 'UrlReferrer': UrlReferrer, 'PreferredDeliveryDate': PreferredDeliveryDate, 'IsSmart': IsSmart, 'IsSpecialised': IsSpecialised }; getTypeName() => "CriteriaDifference"; TypeContext? context = _ctx; } class CriteriaBase extends JsonVersion implements IConvertible { List? Transmission = []; List? Fuel = []; List? Upholstery = []; List? Equipment = []; List? Line = []; List? BodyStyle = []; List? ColourGroup = []; List? Packages = []; List? Model = []; String? UrlReferrer; String? PreferredDeliveryDate; // @ApiMember(ExcludeInSchema=true) bool? IsNewModel; // @ApiMember(ExcludeInSchema=true) bool? IsSmart; // @ApiMember(ExcludeInSchema=true) bool? IsSpecialised; // @ApiMember(ExcludeInSchema=true) CriteriaDifference? CriteriaDifference; CriteriaBase({this.Transmission,this.Fuel,this.Upholstery,this.Equipment,this.Line,this.BodyStyle,this.ColourGroup,this.Packages,this.Model,this.UrlReferrer,this.PreferredDeliveryDate,this.IsNewModel,this.IsSmart,this.IsSpecialised,this.CriteriaDifference}); CriteriaBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Transmission = JsonConverters.fromJson(json['Transmission'],'List',context!); Fuel = JsonConverters.fromJson(json['Fuel'],'List',context!); Upholstery = JsonConverters.fromJson(json['Upholstery'],'List',context!); Equipment = JsonConverters.fromJson(json['Equipment'],'List',context!); Line = JsonConverters.fromJson(json['Line'],'List',context!); BodyStyle = JsonConverters.fromJson(json['BodyStyle'],'List',context!); ColourGroup = JsonConverters.fromJson(json['ColourGroup'],'List',context!); Packages = JsonConverters.fromJson(json['Packages'],'List',context!); Model = JsonConverters.fromJson(json['Model'],'List',context!); UrlReferrer = json['UrlReferrer']; PreferredDeliveryDate = json['PreferredDeliveryDate']; IsNewModel = json['IsNewModel']; IsSmart = json['IsSmart']; IsSpecialised = json['IsSpecialised']; CriteriaDifference = JsonConverters.fromJson(json['CriteriaDifference'],'CriteriaDifference',context!); return this; } Map toJson() => super.toJson()..addAll({ 'Transmission': JsonConverters.toJson(Transmission,'List',context!), 'Fuel': JsonConverters.toJson(Fuel,'List',context!), 'Upholstery': JsonConverters.toJson(Upholstery,'List',context!), 'Equipment': JsonConverters.toJson(Equipment,'List',context!), 'Line': JsonConverters.toJson(Line,'List',context!), 'BodyStyle': JsonConverters.toJson(BodyStyle,'List',context!), 'ColourGroup': JsonConverters.toJson(ColourGroup,'List',context!), 'Packages': JsonConverters.toJson(Packages,'List',context!), 'Model': JsonConverters.toJson(Model,'List',context!), 'UrlReferrer': UrlReferrer, 'PreferredDeliveryDate': PreferredDeliveryDate, 'IsNewModel': IsNewModel, 'IsSmart': IsSmart, 'IsSpecialised': IsSpecialised, 'CriteriaDifference': JsonConverters.toJson(CriteriaDifference,'CriteriaDifference',context!) }); getTypeName() => "CriteriaBase"; TypeContext? context = _ctx; } class Criteria extends CriteriaBase implements IConvertible { List? Engine = []; Criteria({this.Engine}); Criteria.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Engine = JsonConverters.fromJson(json['Engine'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'Engine': JsonConverters.toJson(Engine,'List',context!) }); getTypeName() => "Criteria"; TypeContext? context = _ctx; } class V2EngineCriteria implements IConvertible { String? Badge; String? Brand; V2EngineCriteria({this.Badge,this.Brand}); V2EngineCriteria.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Badge = json['Badge']; Brand = json['Brand']; return this; } Map toJson() => { 'Badge': Badge, 'Brand': Brand }; getTypeName() => "V2EngineCriteria"; TypeContext? context = _ctx; } class V2Criteria extends CriteriaBase implements IConvertible { List? Engine = []; V2Criteria({this.Engine}); V2Criteria.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Engine = JsonConverters.fromJson(json['Engine'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'Engine': JsonConverters.toJson(Engine,'List',context!) }); getTypeName() => "V2Criteria"; 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 json) { fromMap(json); } fromMap(Map json) { IsOutrightPurchase = json['IsOutrightPurchase']; Reference = json['Reference']; DiscountRate = JsonConverters.toDouble(json['DiscountRate']); Bm7NST = json['Bm7NST']; IsBackOrder = json['IsBackOrder']; IsCOPConverter = json['IsCOPConverter']; return this; } Map toJson() => { 'IsOutrightPurchase': IsOutrightPurchase, 'Reference': Reference, 'DiscountRate': DiscountRate, 'Bm7NST': Bm7NST, 'IsBackOrder': IsBackOrder, 'IsCOPConverter': IsCOPConverter }; getTypeName() => "OutrightPurchase"; TypeContext? context = _ctx; } class CreateBackOrderBase implements IConvertible { String? GssnId; String? AdditionalInformation; String? ConfigCode; Source? Source; String? TagUrl; Customer? Customer; Criteria? CustomerCriteria; V2Criteria? AgentCriteria; OutrightPurchase? OutrightPurchase; String? GasId; bool? Motability; int? MotabilityPricingId; int? AssistanceProviderId; String? AssistanceDetail; String? ConfiguratorCode; CreateBackOrderBase({this.GssnId,this.AdditionalInformation,this.ConfigCode,this.Source,this.TagUrl,this.Customer,this.CustomerCriteria,this.AgentCriteria,this.OutrightPurchase,this.GasId,this.Motability,this.MotabilityPricingId,this.AssistanceProviderId,this.AssistanceDetail,this.ConfiguratorCode}); CreateBackOrderBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { GssnId = json['GssnId']; AdditionalInformation = json['AdditionalInformation']; ConfigCode = json['ConfigCode']; Source = JsonConverters.fromJson(json['Source'],'Source',context!); TagUrl = json['TagUrl']; Customer = JsonConverters.fromJson(json['Customer'],'Customer',context!); CustomerCriteria = JsonConverters.fromJson(json['CustomerCriteria'],'Criteria',context!); AgentCriteria = JsonConverters.fromJson(json['AgentCriteria'],'V2Criteria',context!); OutrightPurchase = JsonConverters.fromJson(json['OutrightPurchase'],'OutrightPurchase',context!); GasId = json['GasId']; Motability = json['Motability']; MotabilityPricingId = json['MotabilityPricingId']; AssistanceProviderId = json['AssistanceProviderId']; AssistanceDetail = json['AssistanceDetail']; ConfiguratorCode = json['ConfiguratorCode']; return this; } Map toJson() => { 'GssnId': GssnId, 'AdditionalInformation': AdditionalInformation, 'ConfigCode': ConfigCode, 'Source': JsonConverters.toJson(Source,'Source',context!), 'TagUrl': TagUrl, 'Customer': JsonConverters.toJson(Customer,'Customer',context!), 'CustomerCriteria': JsonConverters.toJson(CustomerCriteria,'Criteria',context!), 'AgentCriteria': JsonConverters.toJson(AgentCriteria,'V2Criteria',context!), 'OutrightPurchase': JsonConverters.toJson(OutrightPurchase,'OutrightPurchase',context!), 'GasId': GasId, 'Motability': Motability, 'MotabilityPricingId': MotabilityPricingId, 'AssistanceProviderId': AssistanceProviderId, 'AssistanceDetail': AssistanceDetail, 'ConfiguratorCode': ConfiguratorCode }; getTypeName() => "CreateBackOrderBase"; TypeContext? context = _ctx; } abstract class ICustomer { Address? Address; String? CompanyName; String? CustomerId; String? EmailAddress; String? Firstname; bool? IsCiam; CustomerMode? Mode; String? Surname; String? Telephone; String? Title; } abstract class IJsonVersion { int? Version; } class CreateBackOrderResponse implements IConvertible { String? Guid; String? Reference; CreateBackOrderResponse({this.Guid,this.Reference}); CreateBackOrderResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Guid = json['Guid']; Reference = json['Reference']; return this; } Map toJson() => { 'Guid': Guid, 'Reference': Reference }; getTypeName() => "CreateBackOrderResponse"; TypeContext? context = _ctx; } // @Route("/v1/oneAdmin/backorder", "POST") class CreateOneAdminBackOrderRequest extends CreateBackOrderBase implements IReturn, IPost, IConvertible { CreateOneAdminBackOrderRequest(); CreateOneAdminBackOrderRequest.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => CreateBackOrderResponse(); getResponseTypeName() => "CreateBackOrderResponse"; getTypeName() => "CreateOneAdminBackOrderRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'prod_api_agency_orch_mb_dhc.rapp_customers.co.uk', types: { 'Source': TypeInfo(TypeOf.Enum, enumValues:Source.values), 'Address': TypeInfo(TypeOf.Class, create:() => Address()), 'CustomerMode': TypeInfo(TypeOf.Enum, enumValues:CustomerMode.values), 'SalesforceCustomer': TypeInfo(TypeOf.Class, create:() => SalesforceCustomer()), 'Preferences': TypeInfo(TypeOf.Class, create:() => Preferences()), 'Customer': TypeInfo(TypeOf.Class, create:() => Customer()), 'JsonVersion': TypeInfo(TypeOf.Class, create:() => JsonVersion()), 'CriteriaModel': TypeInfo(TypeOf.Class, create:() => CriteriaModel()), 'CriteriaDifference': TypeInfo(TypeOf.Class, create:() => CriteriaDifference()), 'CriteriaBase': TypeInfo(TypeOf.Class, create:() => CriteriaBase()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Criteria': TypeInfo(TypeOf.Class, create:() => Criteria()), 'V2EngineCriteria': TypeInfo(TypeOf.Class, create:() => V2EngineCriteria()), 'V2Criteria': TypeInfo(TypeOf.Class, create:() => V2Criteria()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'OutrightPurchase': TypeInfo(TypeOf.Class, create:() => OutrightPurchase()), 'CreateBackOrderBase': TypeInfo(TypeOf.Class, create:() => CreateBackOrderBase()), 'ICustomer': TypeInfo(TypeOf.Interface), 'IJsonVersion': TypeInfo(TypeOf.Interface), 'CreateBackOrderResponse': TypeInfo(TypeOf.Class, create:() => CreateBackOrderResponse()), 'CreateOneAdminBackOrderRequest': TypeInfo(TypeOf.Class, create:() => CreateOneAdminBackOrderRequest()), });