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

// @DataContract
export enum 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
export enum ApplicationBoardingStatus
{
    PENDING = 0,
    IN_PROGRESS = 5,
    FAILED = 9,
    COMPLETED = 10,
}

export class InitiateBoardingResponse
{
    public applicationGuid?: string;
    public csr?: number;
    public applicationQueueGuid?: string;
    public queueStatus?: ApplicationQueueStatus;
    public boardingStatus?: ApplicationBoardingStatus;
    public errorMessages?: string[];

    public constructor(init?: Partial<InitiateBoardingResponse>) { (Object as any).assign(this, init); }
}

export enum SourceSystemType
{
    MARS = 'MARS',
    ASA = 'ASA',
    OLS = 'OLS',
    INASA = 'INASA',
}

export enum CustomerType
{
    New = 0,
    Existing = 1,
    None = -1,
}

export class Partner
{
    public partnerId?: string;
    public partnerName?: string;

    public constructor(init?: Partial<Partner>) { (Object as any).assign(this, init); }
}

export enum PricingPackageType
{
    CustomUk = 0,
    MonthlyUk = 1,
    SimplicityUk = 2,
    PaygUk = 3,
    CustomRoi = 4,
    PaygeComUK = 5,
    None = -1,
}

export enum PreferredContactMethodType
{
    Email = 'Email',
    Telephone = 'Telephone',
    Any = 'Any',
}

export class ContactPerson
{
    public title?: string;
    public firstName?: string;
    public middleName?: string;
    public lastName?: string;
    public telephoneNumber?: string;
    public altTelephoneNumber?: string;
    public email?: string;
    public position?: string;
    public preferredContactMethod?: PreferredContactMethodType;
    public preferredContactBestTime?: string;

    public constructor(init?: Partial<ContactPerson>) { (Object as any).assign(this, init); }
}

export class AuthorisedSigner extends ContactPerson
{
    public dateOfBirth?: string;
    public countryCode?: string;

    public constructor(init?: Partial<AuthorisedSigner>) { super(init); (Object as any).assign(this, init); }
}

export class AccessibilityOptions
{
    public audiotapeRequired?: boolean;
    public largePrintRequired?: boolean;
    public uncontractedBrailleGrade1Required?: boolean;
    public uncontractedBrailleGrade2Required?: boolean;
    public nextGenerationTextRequired?: boolean;

    public constructor(init?: Partial<AccessibilityOptions>) { (Object as any).assign(this, init); }
}

export class ApplicationDetails
{
    public sourceSystem?: SourceSystemType;
    public sourceSystemIdentifier?: string;
    public customerType?: CustomerType;
    public csr?: string;
    public partner?: Partner;
    public sellerCode?: string;
    public pricingPackage?: PricingPackageType;
    public contactPerson?: AuthorisedSigner;
    public specialInstructions?: string;
    public offerDetails?: string;
    public dateContractAccepted?: string;
    public worldpayBusinessFinanceInterest?: boolean;
    public sar?: boolean;
    public sellerEmail?: string;
    public anticipatedGoLiveDate?: string;
    public accessibilityOptions?: AccessibilityOptions;
    public ultimateParentId?: string;

    public constructor(init?: Partial<ApplicationDetails>) { (Object as any).assign(this, init); }
}

export class Address
{
    public address1?: string;
    public address2?: string;
    public address3?: string;
    public postcode?: string;
    public city?: string;
    public state?: string;
    public countrycode?: string;

    public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}

export class BusinessAddress extends Address
{
    public isCommercial?: boolean;

    public constructor(init?: Partial<BusinessAddress>) { super(init); (Object as any).assign(this, init); }
}

export enum CompanyType
{
    SoleTrader = 'SoleTrader',
    Partnership = 'Partnership',
    LimitedCompany = 'LimitedCompany',
    Trust = 'Trust',
    RegisteredCharity = 'RegisteredCharity',
    PublicLimitedCompany = 'PublicLimitedCompany',
    LimitedByGuarantee = 'LimitedByGuarantee',
    ClubSocietyAssociation = 'ClubSocietyAssociation',
    CommunityInterestCompanyOrIndustrialProvident = 'CommunityInterestCompanyOrIndustrialProvident',
    LimitedLiabilityPartnership = 'LimitedLiabilityPartnership',
    Other = 'Other',
}

export class Financials
{
    public annual?: number;
    public cardPercentage?: number;
    public creditCardPercentage?: number;
    public averageTransactionValue?: number;

    public constructor(init?: Partial<Financials>) { (Object as any).assign(this, init); }
}

export class TradeAssociation
{
    public groupName?: string;
    public memberNumber?: string;

    public constructor(init?: Partial<TradeAssociation>) { (Object as any).assign(this, init); }
}

export class Business
{
    public legalName?: string;
    public legalAddress?: BusinessAddress;
    public websiteAddress?: string;
    public companyType?: CompanyType;
    public companyTypeOther?: string;
    public companyRegistrationNumber?: string;
    public charityNumber?: string;
    public merchantCategoryCode?: string;
    public merchantCategoryDescription?: string;
    public descriptionOfGoodsAndServices?: string;
    public vatNumber?: string;
    public dateStartedTrading?: string;
    public countryOfIncorporation?: string;
    public regionOfIncorporation?: string;
    public financials?: Financials;
    public newToCards?: boolean;
    public tradeAssociation?: TradeAssociation;

    public constructor(init?: Partial<Business>) { (Object as any).assign(this, init); }
}

export class PrincipalAddress extends Address
{
    public startDate?: string;
    public endDate?: string;

    public constructor(init?: Partial<PrincipalAddress>) { super(init); (Object as any).assign(this, init); }
}

export enum 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,
}

export class Principal
{
    public title?: string;
    public firstName?: string;
    public middleName?: string;
    public lastName?: string;
    public dateOfBirth?: string;
    public nationality?: string;
    public homeAddresses?: PrincipalAddress[];
    public ownershipPercentage?: number;
    public position?: PositionType;
    public isFinancialController?: boolean;

    public constructor(init?: Partial<Principal>) { (Object as any).assign(this, init); }
}

export class BankAccount
{
    public sortCode?: string;
    public accountNumber?: string;
    public bankName?: string;
    public bankAccountName?: string;

    public constructor(init?: Partial<BankAccount>) { (Object as any).assign(this, init); }
}

export class ClearingDetails
{
    public merchantUrl?: string;
    public telephone?: string;
    public email?: string;

    public constructor(init?: Partial<ClearingDetails>) { (Object as any).assign(this, init); }
}

export class OutletAllocatedProduct
{
    public id?: number;
    public quantity?: number;

    public constructor(init?: Partial<OutletAllocatedProduct>) { (Object as any).assign(this, init); }
}

export class Outlet
{
    public tradingName?: string;
    public tradingAddress?: BusinessAddress;
    public contactPerson?: ContactPerson;
    public terminalDeliveryAddress?: BusinessAddress;
    public correspondenceAddress?: BusinessAddress;
    public settlementBankAccount?: BankAccount;
    public chargesBankAccount?: BankAccount;
    public directDebitCorrespondenceEmail?: string;
    public clearingDetails?: ClearingDetails;
    public productAllocation?: OutletAllocatedProduct[];

    public constructor(init?: Partial<Outlet>) { (Object as any).assign(this, init); }
}

export class Deposits
{
    public accepted?: boolean;
    public perOfSalesWhereInitialDepositTaken?: number;
    public sizePercOfTotalValue?: number;
    public avgTimeBeforeDeliveryTaken?: number;
    public avgTimeBeforeDeliveryBalanceTaken?: number;

    public constructor(init?: Partial<Deposits>) { (Object as any).assign(this, init); }
}

export class WarrantiesAndGuarantees
{
    public levyCharge?: boolean;
    public percCardTurnover?: number;
    public avgLengthInMonths?: number;
    public percGoodsReturned?: number;
    public thirdPartyProviders?: string;

    public constructor(init?: Partial<WarrantiesAndGuarantees>) { (Object as any).assign(this, init); }
}

export class Prepayments
{
    public fullPaymentAcceptedPriorToSupply?: boolean;
    public percGoodsWherePaymentTakenPriorToDelivery?: number;
    public avgDaysPaymentTakenInAdvance?: number;

    public constructor(init?: Partial<Prepayments>) { (Object as any).assign(this, init); }
}

export class MembershipsSubscriptionAndInsurancePremiums
{
    public levyCharge?: boolean;
    public percCardTurnover?: number;
    public avgLengthInMonths?: number;
    public membershipCost?: number;

    public constructor(init?: Partial<MembershipsSubscriptionAndInsurancePremiums>) { (Object as any).assign(this, init); }
}

export class GoodsAndServices
{
    public goodsProvidedByThirdParty?: boolean;
    public deposits?: Deposits;
    public warrantiesAndGuarantees?: WarrantiesAndGuarantees;
    public prepayments?: Prepayments;
    public membershipsSubscriptionAndInsurancePremiums?: MembershipsSubscriptionAndInsurancePremiums;
    public stockHeldAtAnotherAddressLocation?: Address;

    public constructor(init?: Partial<GoodsAndServices>) { (Object as any).assign(this, init); }
}

export class MerchantDetails
{
    public business?: Business;
    public principals?: Principal[];
    public outlets?: Outlet[];
    public goodsAndServices?: GoodsAndServices;

    public constructor(init?: Partial<MerchantDetails>) { (Object as any).assign(this, init); }
}

export enum CardType
{
    VisaDebit = 'VisaDebit',
    VisaCredit = 'VisaCredit',
    VisaCommercial = 'VisaCommercial',
    MastercardDebit = 'MastercardDebit',
    MastercardCredit = 'MastercardCredit',
    MastercardCommercial = 'MastercardCommercial',
    MastercardWorldSignia = 'MastercardWorldSignia',
    JcbCredit = 'JcbCredit',
    JcbDebit = 'JcbDebit',
    JcbCommercial = 'JcbCommercial',
    DinersDiscoverCredit = 'DinersDiscoverCredit',
    DinersDiscoverDebit = 'DinersDiscoverDebit',
    DinersDiscoverCommercial = 'DinersDiscoverCommercial',
    Amex = 'Amex',
    ChinaUnionPayCredit = 'ChinaUnionPayCredit',
    ChinaUnionPayDebit = 'ChinaUnionPayDebit',
    ChinaUnionPayCommercial = 'ChinaUnionPayCommercial',
    VisaBusinessDebit = 'VisaBusinessDebit',
    MastercardBusiness = 'MastercardBusiness',
}

export class RateChargePair
{
    public percent?: number;
    public cost?: number;

    public constructor(init?: Partial<RateChargePair>) { (Object as any).assign(this, init); }
}

export class CardCharge
{
    public cardType?: CardType;
    public purchase?: RateChargePair;
    public refund?: RateChargePair;

    public constructor(init?: Partial<CardCharge>) { (Object as any).assign(this, init); }
}

export enum PremiumTransactionChargeType
{
    Magstripe = 'Magstripe',
    CnpMoto = 'CnpMoto',
    Paper = 'Paper',
    PanKeyEntry = 'PanKeyEntry',
    SecureEcom = 'SecureEcom',
    NonSecureEcom = 'NonSecureEcom',
    InterRegional = 'InterRegional',
    IntraRegional = 'IntraRegional',
    NonAuth = 'NonAuth',
}

export class PremiumTransactionCharge
{
    public type?: PremiumTransactionChargeType;
    public creditCard?: RateChargePair;
    public debitCard?: RateChargePair;

    public constructor(init?: Partial<PremiumTransactionCharge>) { (Object as any).assign(this, init); }
}

export enum AdditionalTarrifType
{
    NameAndAddressCheck = 'NameAndAddressCheck',
    Auth = 'Auth',
    chargeback = 'chargeback',
    Mmsc = 'Mmsc',
    PaperStatement = 'PaperStatement',
    PciVerbalAssessment = 'PciVerbalAssessment',
    PciIpScan = 'PciIpScan',
    PciNonCompliance = 'PciNonCompliance',
    PciSaferPaymentsPlus = 'PciSaferPaymentsPlus',
    JoiningFee = 'JoiningFee',
    PayMonthlyAcquiringFee = 'PayMonthlyAcquiringFee',
    PciSaferPayments = 'PciSaferPayments',
}

export class AdditionalTarrif
{
    public type?: AdditionalTarrifType;
    public cost?: number;

    public constructor(init?: Partial<AdditionalTarrif>) { (Object as any).assign(this, init); }
}

export class Rates
{
    public cardCharges?: CardCharge[];
    public premiumTransactionCharges?: PremiumTransactionCharge[];
    public additionalTarrifs?: AdditionalTarrif[];

    public constructor(init?: Partial<Rates>) { (Object as any).assign(this, init); }
}

export class Cnp
{
    public required?: boolean;
    public percentage?: number;

    public constructor(init?: Partial<Cnp>) { (Object as any).assign(this, init); }
}

export class Amex
{
    public required?: boolean;
    public existingAmexNumber?: string;

    public constructor(init?: Partial<Amex>) { (Object as any).assign(this, init); }
}

export class Services
{
    public cnp?: Cnp;
    public amex?: Amex;
    public cashbackRequired?: boolean;
    public worldpayDashboardRequired?: boolean;
    public paperInvoicingRequired?: boolean;

    public constructor(init?: Partial<Services>) { (Object as any).assign(this, init); }
}

export enum CurrencyCodeType
{
    GBP = 'GBP',
    EUR = 'EUR',
    USD = 'USD',
    AED = 'AED',
    AFN = 'AFN',
    ALL = 'ALL',
    AMD = 'AMD',
    ANG = 'ANG',
    AOA = 'AOA',
    ARS = 'ARS',
    AUD = 'AUD',
    AWG = 'AWG',
    AZN = 'AZN',
    BAM = 'BAM',
    BBD = 'BBD',
    BDT = 'BDT',
    BGN = 'BGN',
    BHD = 'BHD',
    BIF = 'BIF',
    BMD = 'BMD',
    BND = 'BND',
    BOB = 'BOB',
    BRL = 'BRL',
    BSD = 'BSD',
    BTN = 'BTN',
    BWP = 'BWP',
    BYR = 'BYR',
    BZD = 'BZD',
    CAD = 'CAD',
    CDF = 'CDF',
    CHF = 'CHF',
    CLP = 'CLP',
    CNY = 'CNY',
    COP = 'COP',
    COU = 'COU',
    CRC = 'CRC',
    CUC = 'CUC',
    CUP = 'CUP',
    CVE = 'CVE',
    CZK = 'CZK',
    DJF = 'DJF',
    DKK = 'DKK',
    DOP = 'DOP',
    DZD = 'DZD',
    EEK = 'EEK',
    EGP = 'EGP',
    ERN = 'ERN',
    ETB = 'ETB',
    FJD = 'FJD',
    FKP = 'FKP',
    GEL = 'GEL',
    GHS = 'GHS',
    GIP = 'GIP',
    GMD = 'GMD',
    GNF = 'GNF',
    GTQ = 'GTQ',
    GYD = 'GYD',
    HKD = 'HKD',
    HNL = 'HNL',
    HRK = 'HRK',
    HTG = 'HTG',
    HUF = 'HUF',
    IDR = 'IDR',
    ILS = 'ILS',
    INR = 'INR',
    IQD = 'IQD',
    IRR = 'IRR',
    ISK = 'ISK',
    JMD = 'JMD',
    JOD = 'JOD',
    JPY = 'JPY',
    KES = 'KES',
    KGS = 'KGS',
    KHR = 'KHR',
    KMF = 'KMF',
    KPW = 'KPW',
    KRW = 'KRW',
    KWD = 'KWD',
    KYD = 'KYD',
    KZT = 'KZT',
    LAK = 'LAK',
    LBP = 'LBP',
    LKR = 'LKR',
    LRD = 'LRD',
    LSL = 'LSL',
    LTL = 'LTL',
    LVL = 'LVL',
    LYD = 'LYD',
    MAD = 'MAD',
    MDL = 'MDL',
    MGA = 'MGA',
    MKD = 'MKD',
    MMK = 'MMK',
    MNT = 'MNT',
    MOP = 'MOP',
    MRO = 'MRO',
    MUR = 'MUR',
    MVR = 'MVR',
    MWK = 'MWK',
    MXN = 'MXN',
    MYR = 'MYR',
    MZN = 'MZN',
    NAD = 'NAD',
    NGN = 'NGN',
    NIO = 'NIO',
    NOK = 'NOK',
    NPR = 'NPR',
    NZD = 'NZD',
    OMR = 'OMR',
    PAB = 'PAB',
    PEN = 'PEN',
    PGK = 'PGK',
    PHP = 'PHP',
    PKR = 'PKR',
    PLN = 'PLN',
    PYG = 'PYG',
    QAR = 'QAR',
    RON = 'RON',
    RSD = 'RSD',
    RUB = 'RUB',
    RWF = 'RWF',
    SAR = 'SAR',
    SBD = 'SBD',
    SCR = 'SCR',
    SDG = 'SDG',
    SEK = 'SEK',
    SGD = 'SGD',
    SHP = 'SHP',
    SLL = 'SLL',
    SOS = 'SOS',
    SRD = 'SRD',
    STD = 'STD',
    SYP = 'SYP',
    SZL = 'SZL',
    THB = 'THB',
    TJS = 'TJS',
    TMT = 'TMT',
    TND = 'TND',
    TOP = 'TOP',
    TRY = 'TRY',
    TTD = 'TTD',
    TWD = 'TWD',
    TZS = 'TZS',
    UAH = 'UAH',
    UGX = 'UGX',
    UYU = 'UYU',
    UZS = 'UZS',
    VEF = 'VEF',
    VND = 'VND',
    VUV = 'VUV',
    WST = 'WST',
    YER = 'YER',
    ZAR = 'ZAR',
    ZMK = 'ZMK',
    ZWL = 'ZWL',
}

export class TradingCurrency
{
    public transactionCurrencies?: CurrencyCodeType[];
    public settlementCurrency?: CurrencyCodeType;
    public settlementBankSwift?: string;
    public settlementBankIban?: string;

    public constructor(init?: Partial<TradingCurrency>) { (Object as any).assign(this, init); }
}

export class Acquiring
{
    public settlementPeriodTPlus?: number;
    public rates?: Rates;
    public services?: Services;
    public tradingCurrencies?: TradingCurrency[];

    public constructor(init?: Partial<Acquiring>) { (Object as any).assign(this, init); }
}

export enum PosProductType
{
    Mobile = 'Mobile',
    Wifi = 'Wifi',
    Bluetooth = 'Bluetooth',
    Fixed = 'Fixed',
    PosMidOnly = 'PosMidOnly',
}

export enum ProductFeeType
{
    HireCost = 'HireCost',
    TransactionCost = 'TransactionCost',
    ServiceFee = 'ServiceFee',
    ManagedServiceSetup = 'ManagedServiceSetup',
    ManagedServiceMonthly = 'ManagedServiceMonthly',
}

export class ProductFee
{
    public type?: ProductFeeType;
    public cost?: number;

    public constructor(init?: Partial<ProductFee>) { (Object as any).assign(this, init); }
}

export enum PosProductOptionType
{
    PSP = 'PSP',
}

export class PosProductOption
{
    public type?: PosProductOptionType;
    public value?: string;

    public constructor(init?: Partial<PosProductOption>) { (Object as any).assign(this, init); }
}

export class PosProduct
{
    public id?: number;
    public type?: PosProductType;
    public quantity?: number;
    public relatedFees?: ProductFee[];
    public options?: PosProductOption[];

    public constructor(init?: Partial<PosProduct>) { (Object as any).assign(this, init); }
}

export class PosProducts
{
    public term?: number;
    public renewalLength?: number;
    public products?: PosProduct[];

    public constructor(init?: Partial<PosProducts>) { (Object as any).assign(this, init); }
}

export enum EcomProductType
{
    Gateway = 'Gateway',
    VirtualTerminal = 'VirtualTerminal',
    PayByLink = 'PayByLink',
    EcomMidOnly = 'EcomMidOnly',
}

export enum EcomProductOptionType
{
    PSP = 'PSP',
    FreeTransactions = 'FreeTransactions',
}

export class EcomProductOption
{
    public type?: EcomProductOptionType;
    public value?: string;

    public constructor(init?: Partial<EcomProductOption>) { (Object as any).assign(this, init); }
}

export class EcomProduct
{
    public id?: number;
    public type?: EcomProductType;
    public quantity?: number;
    public relatedFees?: ProductFee[];
    public options?: EcomProductOption[];

    public constructor(init?: Partial<EcomProduct>) { (Object as any).assign(this, init); }
}

export enum EcomOptionType
{
    Paypal = 'Paypal',
    FuturePay = 'FuturePay',
    RMM = 'RMM',
}

export class EcomOption
{
    public type?: EcomOptionType;
    public relatedFees?: ProductFee[];

    public constructor(init?: Partial<EcomOption>) { (Object as any).assign(this, init); }
}

export class EcomProducts
{
    public term?: number;
    public renewalLength?: number;
    public products?: EcomProduct[];
    public options?: EcomOption[];

    public constructor(init?: Partial<EcomProducts>) { (Object as any).assign(this, init); }
}

export class IspContact
{
    public title?: string;
    public firstName?: string;
    public lastName?: string;
    public position?: string;
    public emailAddress?: string;

    public constructor(init?: Partial<IspContact>) { (Object as any).assign(this, init); }
}

export class IntegratedSolutionProvider
{
    public name?: string;
    public address?: Address;
    public telephone?: string;
    public primaryContact?: IspContact;
    public technicalContact?: IspContact;
    public providerType?: string;
    public providerSoftware?: string;

    public constructor(init?: Partial<IntegratedSolutionProvider>) { (Object as any).assign(this, init); }
}

export enum WptProductType
{
    VerifoneP400 = 'VerifoneP400',
    IngenicoWL258 = 'IngenicoWL258',
    VerifoneV240 = 'VerifoneV240',
}

export enum WptVariantType
{
    Serial = 'Serial',
    Usb = 'Usb',
    Ethernet = 'Ethernet',
    None = 'None',
}

export class WptProduct
{
    public type?: WptProductType;
    public id?: number;
    public variant?: WptVariantType;
    public quantity?: number;
    public relatedFees?: ProductFee[];

    public constructor(init?: Partial<WptProduct>) { (Object as any).assign(this, init); }
}

export class WptProducts
{
    public term?: number;
    public renewalLength?: number;
    public posInstallationDate?: string;
    public integratedSolutionProvider?: IntegratedSolutionProvider;
    public products?: WptProduct[];

    public constructor(init?: Partial<WptProducts>) { (Object as any).assign(this, init); }
}

export enum IpProductType
{
    PaxA920 = 'PaxA920',
    MiuraM020 = 'MiuraM020',
}

export enum IpVariantType
{
    Sdk = 'Sdk',
    Cloud = 'Cloud',
    None = 'None',
}

export class IpProduct
{
    public id?: number;
    public type?: IpProductType;
    public quantity?: number;
    public relatedFees?: ProductFee[];
    public variant?: IpVariantType;

    public constructor(init?: Partial<IpProduct>) { (Object as any).assign(this, init); }
}

export class IpProducts
{
    public term?: number;
    public renewalLength?: number;
    public integratedSolutionProvider?: IntegratedSolutionProvider;
    public products?: IpProduct[];

    public constructor(init?: Partial<IpProducts>) { (Object as any).assign(this, init); }
}

export class Products
{
    public posProducts?: PosProducts;
    public ecomProducts?: EcomProducts;
    public wptProducts?: WptProducts;
    public ipProducts?: IpProducts;

    public constructor(init?: Partial<Products>) { (Object as any).assign(this, init); }
}

export class Application
{
    public applicationDetails?: ApplicationDetails;
    public merchantDetails?: MerchantDetails;
    public acquiring?: Acquiring;
    public products?: Products;

    public constructor(init?: Partial<Application>) { (Object as any).assign(this, init); }
}

export class ApplicationBoarding
{
    public correlationId?: string;
    public csr?: number;
    public sellerCode?: string;
    public sellerEmail?: string;
    public applicationSource?: number;
    public applicationJson?: Application;

    public constructor(init?: Partial<ApplicationBoarding>) { (Object as any).assign(this, init); }
}

TypeScript 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"]}