Autoboard Webservice v5.13.0.0

<back to all web services

OrderBoardingRequest

json-order
Requires Authentication
The following routes are available for this service:
POST/OrderBoarding
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

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

    [<AllowNullLiteral>]
    type Person() = 
        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

    [<AllowNullLiteral>]
    type Contact() = 
        inherit Person()
        member val IdpGuid:Nullable<Guid> = new Nullable<Guid>() 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:String = null with get,set
        member val PreferredContactBestTime:String = null with get,set

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

    [<AllowNullLiteral>]
    type OrderMeta() = 
        member val SourceSystem:String = null with get,set
        member val SourceSystemIdentifier:String = null with get,set
        member val Csr:String = null with get,set
        member val UltimateParentId:String = null with get,set
        member val OrderType:String = null with get,set
        member val CustomerType:String = null with get,set
        member val Partner:Partner = null with get,set
        member val SellerCode:String = null with get,set
        member val SellerEmail:String = null with get,set
        member val SpecialInstructions:String = null with get,set
        member val Contact:AuthorisedSigner = 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 HasSupportingFiles:Boolean = new Boolean() 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 MerchantAddress() = 
        inherit Address()
        member val AddressType:String = null with get,set
        member val IsCommercial:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type InvoiceContact() = 
        inherit Person()
        member val Email:String = null with get,set
        member val Position:String = null 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
        member val SwiftCode:String = null with get,set
        member val InternationalBankAccountNumber:String = null with get,set

    [<AllowNullLiteral>]
    type MerchantCategory() = 
        member val MerchantCategoryCode:String = null with get,set
        member val MerchantCategoryDescription:String = null with get,set
        member val DescriptionOfGoodsAndServices:String = null with get,set

    [<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
        member val CardNotPresentPercentage:Nullable<Decimal> = new Nullable<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 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 Deposits() = 
        member val PerOfSalesWhereInitialDepositTaken:Int32 = new Int32() with get,set
        member val SizePerTotalValue:Int32 = new Int32() with get,set
        member val AvgTimeBeforeDeliveryDepositTaken:Int32 = new Int32() with get,set
        member val AvgTimeBeforeDeliveryBalanceTaken:Int32 = new Int32() with get,set

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

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

    [<AllowNullLiteral>]
    type MembershipsSubscriptionAndInsurancePremiums() = 
        member val PercCardTurnover:Int32 = new Int32() with get,set
        member val AvgLengthInMonths:Int32 = new Int32() with get,set
        member val MembershipCost:Decimal = new 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 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 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

    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

    [<AllowNullLiteral>]
    type AdditionalTariff() = 
        member val Type:String = null 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 AdditionalTariffs:IEnumerable<AdditionalTariff> = null 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 SettlementPeriod:Int32 = new Int32() with get,set
        member val FundingMode:String = null with get,set
        member val Rates:Rates = null with get,set
        member val TradingCurrencies:IEnumerable<TradingCurrency> = null with get,set

    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

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

    [<AllowNullLiteral>]
    type Product() = 
        member val Name:String = null with get,set
        member val Type:String = null with get,set
        member val Variant:String = null with get,set
        member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RelatedFees:IEnumerable<ProductFee> = null with get,set
        member val Options:IEnumerable<ProductOption> = null with get,set

    [<AllowNullLiteral>]
    type Subscription() = 
        member val Proposition:String = null with get,set
        member val PricingPackage:String = null with get,set
        member val Term:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RenewalLength:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Acquiring:Acquiring = null with get,set
        member val Products:IEnumerable<Product> = null with get,set

    [<AllowNullLiteral>]
    type OrderPayload() = 
        member val PartyId:String = null with get,set
        member val ParentPartyId:String = null with get,set
        member val LegalName:String = null with get,set
        member val TradingName:String = null with get,set
        member val Addresses:IEnumerable<MerchantAddress> = null with get,set
        member val TradingContact:Contact = null with get,set
        member val InvoiceContact:InvoiceContact = 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 WebsiteAddress:String = null with get,set
        member val CompanyType:String = null 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 MerchantCategories:IEnumerable<MerchantCategory> = 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 AnticipatedGoLiveDate: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:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val TradeAssociation:TradeAssociation = null with get,set
        member val Principals:IEnumerable<Principal> = null with get,set
        member val GoodsAndServices:GoodsAndServices = null with get,set
        member val AccessibilityOptions:AccessibilityOptions = null with get,set
        member val ClearingDetails:ClearingDetails = null with get,set
        member val Acquiring:Acquiring = null with get,set
        member val Subscriptions:IEnumerable<Subscription> = null with get,set
        member val Children:IEnumerable<OrderPayload> = null with get,set

    [<AllowNullLiteral>]
    type Order() = 
        member val Meta:OrderMeta = null with get,set
        member val Payload:OrderPayload = null with get,set

    [<AllowNullLiteral>]
    type OrderBoardingRequest() = 
        [<ApiMember(IsRequired=true)>]
        member val CorrelationId:Guid = new Guid() with get,set

        [<ApiMember(IsRequired=true)>]
        member val OrderJson:Order = null with get,set

        member val OnboardingRequestId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val LocalEnterpriseId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val Audience: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

F# OrderBoardingRequest 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 /OrderBoarding HTTP/1.1 
Host: abservice.worldpay.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"correlationId":"00000000000000000000000000000000","orderJson":{"meta":{"sourceSystem":"String","sourceSystemIdentifier":"String","csr":"String","ultimateParentId":"String","orderType":"String","customerType":"String","partner":{"partnerName":"String","partnerId":"String"},"sellerCode":"String","sellerEmail":"String","specialInstructions":"String","contact":{"dateOfBirth":"\/Date(-62135596800000-0000)\/","countryCode":"String","idpGuid":"00000000000000000000000000000000","telephoneNumber":"String","altTelephoneNumber":"String","email":"String","position":"String","preferredContactMethod":"String","preferredContactBestTime":"String","title":"String","firstName":"String","middleName":"String","lastName":"String"},"offerDetails":"String","dateContractAccepted":"\/Date(-62135596800000-0000)\/","worldpayBusinessFinanceInterest":false,"sar":false,"hasSupportingFiles":false},"payload":{"partyId":"String","parentPartyId":"String","legalName":"String","tradingName":"String","tradingContact":{"idpGuid":"00000000000000000000000000000000","telephoneNumber":"String","altTelephoneNumber":"String","email":"String","position":"String","preferredContactMethod":"String","preferredContactBestTime":"String","title":"String","firstName":"String","middleName":"String","lastName":"String"},"invoiceContact":{"email":"String","position":"String","title":"String","firstName":"String","middleName":"String","lastName":"String"},"settlementBankAccount":{"sortCode":"String","accountNumber":"String","bankName":"String","bankAccountName":"String","swiftCode":"String","internationalBankAccountNumber":"String"},"chargesBankAccount":{"sortCode":"String","accountNumber":"String","bankName":"String","bankAccountName":"String","swiftCode":"String","internationalBankAccountNumber":"String"},"directDebitCorrespondenceEmail":"String","websiteAddress":"String","companyType":"String","companyTypeOther":"String","companyRegistrationNumber":"String","charityNumber":"String","vatNumber":"String","dateStartedTrading":"\/Date(-62135596800000-0000)\/","anticipatedGoLiveDate":"\/Date(-62135596800000-0000)\/","countryOfIncorporation":"String","regionOfIncorporation":"String","financials":{"annual":0,"cardPercentage":0,"creditCardPercentage":0,"averageTransactionValue":0,"cardNotPresentPercentage":0},"newToCards":false,"tradeAssociation":{"groupName":"String","memberNumber":"String"},"goodsAndServices":{"goodsProvidedByThirdParty":false,"deposits":{"perOfSalesWhereInitialDepositTaken":0,"sizePerTotalValue":0,"avgTimeBeforeDeliveryDepositTaken":0,"avgTimeBeforeDeliveryBalanceTaken":0},"warrantiesAndGuarantees":{"percCardTurnover":0,"avgLengthInMonths":0,"percGoodsReturned":0,"thirdPartyProviders":"String"},"prepayments":{"percGoodsWherePaymentTakenPriorToDelivery":0,"avgDaysPaymentTakenInAdvance":0},"membershipsSubscriptionAndInsurancePremiums":{"percCardTurnover":0,"avgLengthInMonths":0,"membershipCost":0},"stockHeldAtAnotherAddressLocation":{"address1":"String","address2":"String","address3":"String","postcode":"String","city":"String","state":"String","countryCode":"String"}},"accessibilityOptions":{"audiotapeRequired":false,"largePrintRequired":false,"uncontractedBrailleGrade1Required":false,"uncontractedBrailleGrade2Required":false,"nextGenerationTextRequired":false},"clearingDetails":{"merchantUrl":"String","telephone":"String","email":"String"},"acquiring":{"settlementPeriod":0,"fundingMode":"String","rates":{}}}},"onboardingRequestId":"00000000000000000000000000000000","localEnterpriseId":"00000000000000000000000000000000","audience":"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"]}