/* Options: Date: 2025-05-05 18:05:27 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: CreateOrderRequest.* //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 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 Vehicle implements IConvertible { String? Vin; Vehicle({this.Vin}); Vehicle.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Vin = json['Vin']; return this; } Map toJson() => { 'Vin': Vin }; getTypeName() => "Vehicle"; TypeContext? context = _ctx; } class Option implements IConvertible { bool? IsDefault; int? Value; Option({this.IsDefault,this.Value}); Option.fromJson(Map json) { fromMap(json); } fromMap(Map json) { IsDefault = json['IsDefault']; Value = json['Value']; return this; } Map toJson() => { 'IsDefault': IsDefault, 'Value': Value }; getTypeName() => "Option"; TypeContext? context = _ctx; } class Term implements IConvertible { List