Autoboard Webservice v5.13.0.0

<back to all web services

ApplicationBoarding

json-app
Requires Authentication
The following routes are available for this service:
POST/ApplicationBoarding
namespace Autoboarding.Common

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<DataContract>]
    type ApplicationQueueStatus =
        | Queued = 0
        | StandardisedXML = 20
        | ReadyToDistribute = 40
        | AwaitingDistributeResponse = 60
        | ReadyToAutoboard = 80
        | ThrottleCheckPassed = 100
        | EligibilityCheckPassed = 300
        | SentToAutoboardService = 400
        | AutoboardingSuspended = 450
        | SuccessfullyBoarded = 500
        | QueueError = 1000
        | ThrottleCheckError = 1100
        | XMLStandardisationError = 1200
        | EligibilityCheckError = 1300
        | AutoboardingError = 1400
        | IneligibleThrottleLimit = 2100
        | IneligibleApplication = 2300

    [<DataContract>]
    type ApplicationBoardingStatus =
        | PENDING = 0
        | IN_PROGRESS = 5
        | FAILED = 9
        | COMPLETED = 10

    [<AllowNullLiteral>]
    type InitiateBoardingResponse() = 
        member val ApplicationGuid:Guid = new Guid() with get,set
        member val CSR:Int32 = new Int32() with get,set
        member val ApplicationQueueGuid:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val QueueStatus:ApplicationQueueStatus = new ApplicationQueueStatus() with get,set
        member val BoardingStatus:Nullable<ApplicationBoardingStatus> = new Nullable<ApplicationBoardingStatus>() with get,set
        member val ErrorMessages:ResizeArray<String> = new ResizeArray<String>() with get,set

    type SourceSystemType =
        | MARS = 0
        | ASA = 1
        | OLS = 2
        | INASA = 3

    type CustomerType =
        | New = 0
        | Existing = 1
        | None = -1

    [<AllowNullLiteral>]
    type Partner() = 
        member val PartnerId:String = null with get,set
        member val PartnerName:String = null with get,set

    type PricingPackageType =
        | CustomUk = 0
        | MonthlyUk = 1
        | SimplicityUk = 2
        | PaygUk = 3
        | CustomRoi = 4
        | PaygeComUK = 5
        | None = -1

    type PreferredContactMethodType =
        | Email = 0
        | Telephone = 1
        | Any = 2

    [<AllowNullLiteral>]
    type ContactPerson() = 
        member val Title:String = null with get,set
        member val FirstName:String = null with get,set
        member val MiddleName:String = null with get,set
        member val LastName:String = null with get,set
        member val TelephoneNumber:String = null with get,set
        member val AltTelephoneNumber:String = null with get,set
        member val Email:String = null with get,set
        member val Position:String = null with get,set
        member val PreferredContactMethod:PreferredContactMethodType = new PreferredContactMethodType() with get,set
        member val PreferredContactBestTime:String = null with get,set

    [<AllowNullLiteral>]
    type AuthorisedSigner() = 
        inherit ContactPerson()
        member val DateOfBirth:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val CountryCode:String = null with get,set

    [<AllowNullLiteral>]
    type AccessibilityOptions() = 
        member val AudiotapeRequired:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val LargePrintRequired:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val UncontractedBrailleGrade1Required:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val UncontractedBrailleGrade2Required:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val NextGenerationTextRequired:Nullable<Boolean> = new Nullable<Boolean>() with get,set

    [<AllowNullLiteral>]
    type ApplicationDetails() = 
        member val SourceSystem:SourceSystemType = new SourceSystemType() with get,set
        member val SourceSystemIdentifier:String = null with get,set
        member val CustomerType:CustomerType = new CustomerType() with get,set
        member val Csr:String = null with get,set
        member val Partner:Partner = null with get,set
        member val SellerCode:String = null with get,set
        member val PricingPackage:PricingPackageType = new PricingPackageType() with get,set
        member val ContactPerson:AuthorisedSigner = null with get,set
        member val SpecialInstructions:String = null with get,set
        member val OfferDetails:String = null with get,set
        member val DateContractAccepted:DateTime = new DateTime() with get,set
        member val WorldpayBusinessFinanceInterest:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val Sar:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val SellerEmail:String = null with get,set
        member val AnticipatedGoLiveDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val AccessibilityOptions:AccessibilityOptions = null with get,set
        member val UltimateParentId:String = null with get,set

    [<AllowNullLiteral>]
    type Address() = 
        member val Address1:String = null with get,set
        member val Address2:String = null with get,set
        member val Address3:String = null with get,set
        member val Postcode:String = null with get,set
        member val City:String = null with get,set
        member val State:String = null with get,set
        member val Countrycode:String = null with get,set

    [<AllowNullLiteral>]
    type BusinessAddress() = 
        inherit Address()
        member val IsCommercial:Nullable<Boolean> = new Nullable<Boolean>() with get,set

    type CompanyType =
        | SoleTrader = 0
        | Partnership = 1
        | LimitedCompany = 2
        | Trust = 3
        | RegisteredCharity = 4
        | PublicLimitedCompany = 5
        | LimitedByGuarantee = 6
        | ClubSocietyAssociation = 7
        | CommunityInterestCompanyOrIndustrialProvident = 8
        | LimitedLiabilityPartnership = 9
        | Other = 10

    [<AllowNullLiteral>]
    type Financials() = 
        member val Annual:Decimal = new Decimal() with get,set
        member val CardPercentage:Decimal = new Decimal() with get,set
        member val CreditCardPercentage:Decimal = new Decimal() with get,set
        member val AverageTransactionValue:Decimal = new Decimal() with get,set

    [<AllowNullLiteral>]
    type TradeAssociation() = 
        member val GroupName:String = null with get,set
        member val MemberNumber:String = null with get,set

    [<AllowNullLiteral>]
    type Business() = 
        member val LegalName:String = null with get,set
        member val LegalAddress:BusinessAddress = null with get,set
        member val WebsiteAddress:String = null with get,set
        member val CompanyType:CompanyType = new CompanyType() with get,set
        member val CompanyTypeOther:String = null with get,set
        member val CompanyRegistrationNumber:String = null with get,set
        member val CharityNumber:String = null with get,set
        member val MerchantCategoryCode:String = null with get,set
        member val MerchantCategoryDescription:String = null with get,set
        member val DescriptionOfGoodsAndServices:String = null with get,set
        member val VatNumber:String = null with get,set
        member val DateStartedTrading:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val CountryOfIncorporation:String = null with get,set
        member val RegionOfIncorporation:String = null with get,set
        member val Financials:Financials = null with get,set
        member val NewToCards:Boolean = new Boolean() with get,set
        member val TradeAssociation:TradeAssociation = null with get,set

    [<AllowNullLiteral>]
    type PrincipalAddress() = 
        inherit Address()
        member val StartDate:DateTime = new DateTime() with get,set
        member val EndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    type PositionType =
        | SoleTrader = 0
        | Partner = 1
        | Director = 2
        | CompanySecretary = 3
        | ChiefFinancialOfficer = 4
        | Chairman = 5
        | DesignatedBoardMember = 7
        | Settlor = 8
        | Treasurer = 9
        | Trustee = 10
        | ChiefExecutive = 11
        | AuthorisedPersonWithConsent = 12
        | NonExecutiveDirector = 13
        | ContactPerson = 14
        | Shareholder = 15

    [<AllowNullLiteral>]
    type Principal() = 
        member val Title:String = null with get,set
        member val FirstName:String = null with get,set
        member val MiddleName:String = null with get,set
        member val LastName:String = null with get,set
        member val DateOfBirth:DateTime = new DateTime() with get,set
        member val Nationality:String = null with get,set
        member val HomeAddresses:IEnumerable<PrincipalAddress> = null with get,set
        member val OwnershipPercentage:Decimal = new Decimal() with get,set
        member val Position:PositionType = new PositionType() with get,set
        member val IsFinancialController:Nullable<Boolean> = new Nullable<Boolean>() with get,set

    [<AllowNullLiteral>]
    type BankAccount() = 
        member val SortCode:String = null with get,set
        member val AccountNumber:String = null with get,set
        member val BankName:String = null with get,set
        member val BankAccountName:String = null with get,set

    [<AllowNullLiteral>]
    type ClearingDetails() = 
        member val MerchantUrl:String = null with get,set
        member val Telephone:String = null with get,set
        member val Email:String = null with get,set

    [<AllowNullLiteral>]
    type OutletAllocatedProduct() = 
        member val Id:Int32 = new Int32() with get,set
        member val Quantity:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type Outlet() = 
        member val TradingName:String = null with get,set
        member val TradingAddress:BusinessAddress = null with get,set
        member val ContactPerson:ContactPerson = null with get,set
        member val TerminalDeliveryAddress:BusinessAddress = null with get,set
        member val CorrespondenceAddress:BusinessAddress = null with get,set
        member val SettlementBankAccount:BankAccount = null with get,set
        member val ChargesBankAccount:BankAccount = null with get,set
        member val DirectDebitCorrespondenceEmail:String = null with get,set
        member val ClearingDetails:ClearingDetails = null with get,set
        member val ProductAllocation:IEnumerable<OutletAllocatedProduct> = null with get,set

    [<AllowNullLiteral>]
    type Deposits() = 
        member val Accepted:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val PerOfSalesWhereInitialDepositTaken:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SizePercOfTotalValue:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AvgTimeBeforeDeliveryTaken:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AvgTimeBeforeDeliveryBalanceTaken:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type WarrantiesAndGuarantees() = 
        member val LevyCharge:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val PercCardTurnover:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AvgLengthInMonths:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val PercGoodsReturned:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ThirdPartyProviders:String = null with get,set

    [<AllowNullLiteral>]
    type Prepayments() = 
        member val FullPaymentAcceptedPriorToSupply:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val PercGoodsWherePaymentTakenPriorToDelivery:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AvgDaysPaymentTakenInAdvance:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type MembershipsSubscriptionAndInsurancePremiums() = 
        member val LevyCharge:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val PercCardTurnover:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val AvgLengthInMonths:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val MembershipCost:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type GoodsAndServices() = 
        member val GoodsProvidedByThirdParty:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val Deposits:Deposits = null with get,set
        member val WarrantiesAndGuarantees:WarrantiesAndGuarantees = null with get,set
        member val Prepayments:Prepayments = null with get,set
        member val MembershipsSubscriptionAndInsurancePremiums:MembershipsSubscriptionAndInsurancePremiums = null with get,set
        member val StockHeldAtAnotherAddressLocation:Address = null with get,set

    [<AllowNullLiteral>]
    type MerchantDetails() = 
        member val Business:Business = null with get,set
        member val Principals:IEnumerable<Principal> = null with get,set
        member val Outlets:IEnumerable<Outlet> = null with get,set
        member val GoodsAndServices:GoodsAndServices = null with get,set

    type CardType =
        | VisaDebit = 0
        | VisaCredit = 1
        | VisaCommercial = 2
        | MastercardDebit = 3
        | MastercardCredit = 4
        | MastercardCommercial = 5
        | MastercardWorldSignia = 6
        | JcbCredit = 7
        | JcbDebit = 8
        | JcbCommercial = 9
        | DinersDiscoverCredit = 10
        | DinersDiscoverDebit = 11
        | DinersDiscoverCommercial = 12
        | Amex = 13
        | ChinaUnionPayCredit = 14
        | ChinaUnionPayDebit = 15
        | ChinaUnionPayCommercial = 16
        | VisaBusinessDebit = 17
        | MastercardBusiness = 18

    [<AllowNullLiteral>]
    type RateChargePair() = 
        member val Percent:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Cost:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type CardCharge() = 
        member val CardType:CardType = new CardType() with get,set
        member val Purchase:RateChargePair = null with get,set
        member val Refund:RateChargePair = null with get,set

    type PremiumTransactionChargeType =
        | Magstripe = 0
        | CnpMoto = 1
        | Paper = 2
        | PanKeyEntry = 3
        | SecureEcom = 4
        | NonSecureEcom = 5
        | InterRegional = 6
        | IntraRegional = 7
        | NonAuth = 8

    [<AllowNullLiteral>]
    type PremiumTransactionCharge() = 
        member val Type:PremiumTransactionChargeType = new PremiumTransactionChargeType() with get,set
        member val CreditCard:RateChargePair = null with get,set
        member val DebitCard:RateChargePair = null with get,set

    type AdditionalTarrifType =
        | NameAndAddressCheck = 0
        | Auth = 1
        | chargeback = 2
        | Mmsc = 3
        | PaperStatement = 4
        | PciVerbalAssessment = 5
        | PciIpScan = 6
        | PciNonCompliance = 7
        | PciSaferPaymentsPlus = 8
        | JoiningFee = 9
        | PayMonthlyAcquiringFee = 10
        | PciSaferPayments = 11

    [<AllowNullLiteral>]
    type AdditionalTarrif() = 
        member val Type:AdditionalTarrifType = new AdditionalTarrifType() with get,set
        member val Cost:Decimal = new Decimal() with get,set

    [<AllowNullLiteral>]
    type Rates() = 
        member val CardCharges:IEnumerable<CardCharge> = null with get,set
        member val PremiumTransactionCharges:IEnumerable<PremiumTransactionCharge> = null with get,set
        member val AdditionalTarrifs:IEnumerable<AdditionalTarrif> = null with get,set

    [<AllowNullLiteral>]
    type Cnp() = 
        member val Required:Boolean = new Boolean() with get,set
        member val Percentage:Decimal = new Decimal() with get,set

    [<AllowNullLiteral>]
    type Amex() = 
        member val Required:Boolean = new Boolean() with get,set
        member val ExistingAmexNumber:String = null with get,set

    [<AllowNullLiteral>]
    type Services() = 
        member val Cnp:Cnp = null with get,set
        member val Amex:Amex = null with get,set
        member val CashbackRequired:Boolean = new Boolean() with get,set
        member val WorldpayDashboardRequired:Boolean = new Boolean() with get,set
        member val PaperInvoicingRequired:Boolean = new Boolean() with get,set

    type CurrencyCodeType =
        | GBP = 0
        | EUR = 1
        | USD = 2
        | AED = 3
        | AFN = 4
        | ALL = 5
        | AMD = 6
        | ANG = 7
        | AOA = 8
        | ARS = 9
        | AUD = 10
        | AWG = 11
        | AZN = 12
        | BAM = 13
        | BBD = 14
        | BDT = 15
        | BGN = 16
        | BHD = 17
        | BIF = 18
        | BMD = 19
        | BND = 20
        | BOB = 21
        | BRL = 22
        | BSD = 23
        | BTN = 24
        | BWP = 25
        | BYR = 26
        | BZD = 27
        | CAD = 28
        | CDF = 29
        | CHF = 30
        | CLP = 31
        | CNY = 32
        | COP = 33
        | COU = 34
        | CRC = 35
        | CUC = 36
        | CUP = 37
        | CVE = 38
        | CZK = 39
        | DJF = 40
        | DKK = 41
        | DOP = 42
        | DZD = 43
        | EEK = 44
        | EGP = 45
        | ERN = 46
        | ETB = 47
        | FJD = 48
        | FKP = 49
        | GEL = 50
        | GHS = 51
        | GIP = 52
        | GMD = 53
        | GNF = 54
        | GTQ = 55
        | GYD = 56
        | HKD = 57
        | HNL = 58
        | HRK = 59
        | HTG = 60
        | HUF = 61
        | IDR = 62
        | ILS = 63
        | INR = 64
        | IQD = 65
        | IRR = 66
        | ISK = 67
        | JMD = 68
        | JOD = 69
        | JPY = 70
        | KES = 71
        | KGS = 72
        | KHR = 73
        | KMF = 74
        | KPW = 75
        | KRW = 76
        | KWD = 77
        | KYD = 78
        | KZT = 79
        | LAK = 80
        | LBP = 81
        | LKR = 82
        | LRD = 83
        | LSL = 84
        | LTL = 85
        | LVL = 86
        | LYD = 87
        | MAD = 88
        | MDL = 89
        | MGA = 90
        | MKD = 91
        | MMK = 92
        | MNT = 93
        | MOP = 94
        | MRO = 95
        | MUR = 96
        | MVR = 97
        | MWK = 98
        | MXN = 99
        | MYR = 100
        | MZN = 101
        | NAD = 102
        | NGN = 103
        | NIO = 104
        | NOK = 105
        | NPR = 106
        | NZD = 107
        | OMR = 108
        | PAB = 109
        | PEN = 110
        | PGK = 111
        | PHP = 112
        | PKR = 113
        | PLN = 114
        | PYG = 115
        | QAR = 116
        | RON = 117
        | RSD = 118
        | RUB = 119
        | RWF = 120
        | SAR = 121
        | SBD = 122
        | SCR = 123
        | SDG = 124
        | SEK = 125
        | SGD = 126
        | SHP = 127
        | SLL = 128
        | SOS = 129
        | SRD = 130
        | STD = 131
        | SYP = 132
        | SZL = 133
        | THB = 134
        | TJS = 135
        | TMT = 136
        | TND = 137
        | TOP = 138
        | TRY = 139
        | TTD = 140
        | TWD = 141
        | TZS = 142
        | UAH = 143
        | UGX = 144
        | UYU = 145
        | UZS = 146
        | VEF = 147
        | VND = 148
        | VUV = 149
        | WST = 150
        | YER = 151
        | ZAR = 152
        | ZMK = 153
        | ZWL = 154

    [<AllowNullLiteral>]
    type TradingCurrency() = 
        member val TransactionCurrencies:IEnumerable<CurrencyCodeType> = null with get,set
        member val SettlementCurrency:CurrencyCodeType = new CurrencyCodeType() with get,set
        member val SettlementBankSwift:String = null with get,set
        member val SettlementBankIban:String = null with get,set

    [<AllowNullLiteral>]
    type Acquiring() = 
        member val SettlementPeriodTPlus:Int32 = new Int32() with get,set
        member val Rates:Rates = null with get,set
        member val Services:Services = null with get,set
        member val TradingCurrencies:IEnumerable<TradingCurrency> = null with get,set

    type PosProductType =
        | Mobile = 0
        | Wifi = 1
        | Bluetooth = 2
        | Fixed = 3
        | PosMidOnly = 4

    type ProductFeeType =
        | HireCost = 0
        | TransactionCost = 1
        | ServiceFee = 2
        | ManagedServiceSetup = 3
        | ManagedServiceMonthly = 4

    [<AllowNullLiteral>]
    type ProductFee() = 
        member val Type:ProductFeeType = new ProductFeeType() with get,set
        member val Cost:Decimal = new Decimal() with get,set

    type PosProductOptionType =
        | PSP = 0

    [<AllowNullLiteral>]
    type PosProductOption() = 
        member val Type:PosProductOptionType = new PosProductOptionType() with get,set
        member val Value:String = null with get,set

    [<AllowNullLiteral>]
    type PosProduct() = 
        member val Id:Int32 = new Int32() with get,set
        member val Type:PosProductType = new PosProductType() with get,set
        member val Quantity:Int32 = new Int32() with get,set
        member val RelatedFees:IEnumerable<ProductFee> = null with get,set
        member val Options:IEnumerable<PosProductOption> = null with get,set

    [<AllowNullLiteral>]
    type PosProducts() = 
        member val Term:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RenewalLength:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Products:IEnumerable<PosProduct> = null with get,set

    type EcomProductType =
        | Gateway = 0
        | VirtualTerminal = 1
        | PayByLink = 2
        | EcomMidOnly = 3

    type EcomProductOptionType =
        | PSP = 0
        | FreeTransactions = 1

    [<AllowNullLiteral>]
    type EcomProductOption() = 
        member val Type:EcomProductOptionType = new EcomProductOptionType() with get,set
        member val Value:String = null with get,set

    [<AllowNullLiteral>]
    type EcomProduct() = 
        member val Id:Int32 = new Int32() with get,set
        member val Type:EcomProductType = new EcomProductType() with get,set
        member val Quantity:Int32 = new Int32() with get,set
        member val RelatedFees:IEnumerable<ProductFee> = null with get,set
        member val Options:IEnumerable<EcomProductOption> = null with get,set

    type EcomOptionType =
        | Paypal = 0
        | FuturePay = 1
        | RMM = 2

    [<AllowNullLiteral>]
    type EcomOption() = 
        member val Type:EcomOptionType = new EcomOptionType() with get,set
        member val RelatedFees:IEnumerable<ProductFee> = null with get,set

    [<AllowNullLiteral>]
    type EcomProducts() = 
        member val Term:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RenewalLength:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Products:IEnumerable<EcomProduct> = null with get,set
        member val Options:IEnumerable<EcomOption> = null with get,set

    [<AllowNullLiteral>]
    type IspContact() = 
        member val Title:String = null with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val Position:String = null with get,set
        member val EmailAddress:String = null with get,set

    [<AllowNullLiteral>]
    type IntegratedSolutionProvider() = 
        member val Name:String = null with get,set
        member val Address:Address = null with get,set
        member val Telephone:String = null with get,set
        member val PrimaryContact:IspContact = null with get,set
        member val TechnicalContact:IspContact = null with get,set
        member val ProviderType:String = null with get,set
        member val ProviderSoftware:String = null with get,set

    type WptProductType =
        | VerifoneP400 = 0
        | IngenicoWL258 = 1
        | VerifoneV240 = 2

    type WptVariantType =
        | Serial = 0
        | Usb = 1
        | Ethernet = 2
        | None = 3

    [<AllowNullLiteral>]
    type WptProduct() = 
        member val Type:WptProductType = new WptProductType() with get,set
        member val Id:Int32 = new Int32() with get,set
        member val Variant:Nullable<WptVariantType> = new Nullable<WptVariantType>() with get,set
        member val Quantity:Int32 = new Int32() with get,set
        member val RelatedFees:IEnumerable<ProductFee> = null with get,set

    [<AllowNullLiteral>]
    type WptProducts() = 
        member val Term:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RenewalLength:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val PosInstallationDate:DateTime = new DateTime() with get,set
        member val IntegratedSolutionProvider:IntegratedSolutionProvider = null with get,set
        member val Products:IEnumerable<WptProduct> = null with get,set

    type IpProductType =
        | PaxA920 = 0
        | MiuraM020 = 1

    type IpVariantType =
        | Sdk = 0
        | Cloud = 1
        | None = 2

    [<AllowNullLiteral>]
    type IpProduct() = 
        member val Id:Int32 = new Int32() with get,set
        member val Type:IpProductType = new IpProductType() with get,set
        member val Quantity:Int32 = new Int32() with get,set
        member val RelatedFees:IEnumerable<ProductFee> = null with get,set
        member val Variant:Nullable<IpVariantType> = new Nullable<IpVariantType>() with get,set

    [<AllowNullLiteral>]
    type IpProducts() = 
        member val Term:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RenewalLength:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val IntegratedSolutionProvider:IntegratedSolutionProvider = null with get,set
        member val Products:IEnumerable<IpProduct> = null with get,set

    [<AllowNullLiteral>]
    type Products() = 
        member val PosProducts:PosProducts = null with get,set
        member val EcomProducts:EcomProducts = null with get,set
        member val WptProducts:WptProducts = null with get,set
        member val IpProducts:IpProducts = null with get,set

    [<AllowNullLiteral>]
    type Application() = 
        member val ApplicationDetails:ApplicationDetails = null with get,set
        member val MerchantDetails:MerchantDetails = null with get,set
        member val Acquiring:Acquiring = null with get,set
        member val Products:Products = null with get,set

    [<AllowNullLiteral>]
    type ApplicationBoarding() = 
        member val CorrelationId:Guid = new Guid() with get,set
        member val Csr:Int32 = new Int32() with get,set
        member val SellerCode:String = null with get,set
        member val SellerEmail:String = null with get,set
        member val ApplicationSource:Int32 = new Int32() with get,set
        member val ApplicationJson:Application = null with get,set

F# ApplicationBoarding DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /ApplicationBoarding HTTP/1.1 
Host: abservice-featuretest.worldpay.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"correlationId":"00000000000000000000000000000000","csr":0,"sellerCode":"String","sellerEmail":"String","applicationSource":0,"applicationJson":{"applicationDetails":{"sourceSystem":"MARS","sourceSystemIdentifier":"String","customerType":"New","csr":"String","partner":{"partnerId":"String","partnerName":"String"},"sellerCode":"String","pricingPackage":"CustomUk","contactPerson":{"dateOfBirth":"\/Date(-62135596800000-0000)\/","countryCode":"String","title":"String","firstName":"String","middleName":"String","lastName":"String","telephoneNumber":"String","altTelephoneNumber":"String","email":"String","position":"String","preferredContactMethod":"Email","preferredContactBestTime":"String"},"specialInstructions":"String","offerDetails":"String","dateContractAccepted":"\/Date(-62135596800000-0000)\/","worldpayBusinessFinanceInterest":false,"sar":false,"sellerEmail":"String","anticipatedGoLiveDate":"\/Date(-62135596800000-0000)\/","accessibilityOptions":{"audiotapeRequired":false,"largePrintRequired":false,"uncontractedBrailleGrade1Required":false,"uncontractedBrailleGrade2Required":false,"nextGenerationTextRequired":false},"ultimateParentId":"String"},"merchantDetails":{"business":{"legalName":"String","legalAddress":{"isCommercial":false,"address1":"String","address2":"String","address3":"String","postcode":"String","city":"String","state":"String","countrycode":"String"},"websiteAddress":"String","companyType":"SoleTrader","companyTypeOther":"String","companyRegistrationNumber":"String","charityNumber":"String","merchantCategoryCode":"String","merchantCategoryDescription":"String","descriptionOfGoodsAndServices":"String","vatNumber":"String","dateStartedTrading":"\/Date(-62135596800000-0000)\/","countryOfIncorporation":"String","regionOfIncorporation":"String","financials":{"annual":0,"cardPercentage":0,"creditCardPercentage":0,"averageTransactionValue":0},"newToCards":false,"tradeAssociation":{"groupName":"String","memberNumber":"String"}},"goodsAndServices":{"goodsProvidedByThirdParty":false,"deposits":{"accepted":false,"perOfSalesWhereInitialDepositTaken":0,"sizePercOfTotalValue":0,"avgTimeBeforeDeliveryTaken":0,"avgTimeBeforeDeliveryBalanceTaken":0},"warrantiesAndGuarantees":{"levyCharge":false,"percCardTurnover":0,"avgLengthInMonths":0,"percGoodsReturned":0,"thirdPartyProviders":"String"},"prepayments":{"fullPaymentAcceptedPriorToSupply":false,"percGoodsWherePaymentTakenPriorToDelivery":0,"avgDaysPaymentTakenInAdvance":0},"membershipsSubscriptionAndInsurancePremiums":{"levyCharge":false,"percCardTurnover":0,"avgLengthInMonths":0,"membershipCost":0},"stockHeldAtAnotherAddressLocation":{"address1":"String","address2":"String","address3":"String","postcode":"String","city":"String","state":"String","countrycode":"String"}}},"acquiring":{"settlementPeriodTPlus":0,"rates":{},"services":{"cnp":{"required":false,"percentage":0},"amex":{"required":false,"existingAmexNumber":"String"},"cashbackRequired":false,"worldpayDashboardRequired":false,"paperInvoicingRequired":false}},"products":{"posProducts":{"term":0,"renewalLength":0},"ecomProducts":{"term":0,"renewalLength":0},"wptProducts":{"term":0,"renewalLength":0,"posInstallationDate":"\/Date(-62135596800000-0000)\/","integratedSolutionProvider":{"name":"String","address":{"address1":"String","address2":"String","address3":"String","postcode":"String","city":"String","state":"String","countrycode":"String"},"telephone":"String","primaryContact":{"title":"String","firstName":"String","lastName":"String","position":"String","emailAddress":"String"},"technicalContact":{"title":"String","firstName":"String","lastName":"String","position":"String","emailAddress":"String"},"providerType":"String","providerSoftware":"String"}},"ipProducts":{"term":0,"renewalLength":0,"integratedSolutionProvider":{"name":"String","address":{"address1":"String","address2":"String","address3":"String","postcode":"String","city":"String","state":"String","countrycode":"String"},"telephone":"String","primaryContact":{"title":"String","firstName":"String","lastName":"String","position":"String","emailAddress":"String"},"technicalContact":{"title":"String","firstName":"String","lastName":"String","position":"String","emailAddress":"String"},"providerType":"String","providerSoftware":"String"}}}}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"applicationGuid":"00000000000000000000000000000000","csr":0,"applicationQueueGuid":"00000000000000000000000000000000","queueStatus":"Queued","boardingStatus":"PENDING","errorMessages":["String"]}