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
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class ApplicationBoarding
    {
        public UUID correlationId = null;
        public Integer csr = null;
        public String sellerCode = null;
        public String sellerEmail = null;
        public Integer applicationSource = null;
        public Application applicationJson = null;
        
        public UUID getCorrelationId() { return correlationId; }
        public ApplicationBoarding setCorrelationId(UUID value) { this.correlationId = value; return this; }
        public Integer getCsr() { return csr; }
        public ApplicationBoarding setCsr(Integer value) { this.csr = value; return this; }
        public String getSellerCode() { return sellerCode; }
        public ApplicationBoarding setSellerCode(String value) { this.sellerCode = value; return this; }
        public String getSellerEmail() { return sellerEmail; }
        public ApplicationBoarding setSellerEmail(String value) { this.sellerEmail = value; return this; }
        public Integer getApplicationSource() { return applicationSource; }
        public ApplicationBoarding setApplicationSource(Integer value) { this.applicationSource = value; return this; }
        public Application getApplicationJson() { return applicationJson; }
        public ApplicationBoarding setApplicationJson(Application value) { this.applicationJson = value; return this; }
    }

    public static class Application
    {
        public ApplicationDetails applicationDetails = null;
        public MerchantDetails merchantDetails = null;
        public Acquiring acquiring = null;
        public Products products = null;
        
        public ApplicationDetails getApplicationDetails() { return applicationDetails; }
        public Application setApplicationDetails(ApplicationDetails value) { this.applicationDetails = value; return this; }
        public MerchantDetails getMerchantDetails() { return merchantDetails; }
        public Application setMerchantDetails(MerchantDetails value) { this.merchantDetails = value; return this; }
        public Acquiring getAcquiring() { return acquiring; }
        public Application setAcquiring(Acquiring value) { this.acquiring = value; return this; }
        public Products getProducts() { return products; }
        public Application setProducts(Products value) { this.products = value; return this; }
    }

    public static class ApplicationDetails
    {
        public SourceSystemType sourceSystem = null;
        public String sourceSystemIdentifier = null;
        public CustomerType customerType = null;
        public String csr = null;
        public Partner partner = null;
        public String sellerCode = null;
        public PricingPackageType pricingPackage = null;
        public AuthorisedSigner contactPerson = null;
        public String specialInstructions = null;
        public String offerDetails = null;
        public Date dateContractAccepted = null;
        public Boolean worldpayBusinessFinanceInterest = null;
        public Boolean sar = null;
        public String sellerEmail = null;
        public Date anticipatedGoLiveDate = null;
        public AccessibilityOptions accessibilityOptions = null;
        public String ultimateParentId = null;
        
        public SourceSystemType getSourceSystem() { return sourceSystem; }
        public ApplicationDetails setSourceSystem(SourceSystemType value) { this.sourceSystem = value; return this; }
        public String getSourceSystemIdentifier() { return sourceSystemIdentifier; }
        public ApplicationDetails setSourceSystemIdentifier(String value) { this.sourceSystemIdentifier = value; return this; }
        public CustomerType getCustomerType() { return customerType; }
        public ApplicationDetails setCustomerType(CustomerType value) { this.customerType = value; return this; }
        public String getCsr() { return csr; }
        public ApplicationDetails setCsr(String value) { this.csr = value; return this; }
        public Partner getPartner() { return partner; }
        public ApplicationDetails setPartner(Partner value) { this.partner = value; return this; }
        public String getSellerCode() { return sellerCode; }
        public ApplicationDetails setSellerCode(String value) { this.sellerCode = value; return this; }
        public PricingPackageType getPricingPackage() { return pricingPackage; }
        public ApplicationDetails setPricingPackage(PricingPackageType value) { this.pricingPackage = value; return this; }
        public AuthorisedSigner getContactPerson() { return contactPerson; }
        public ApplicationDetails setContactPerson(AuthorisedSigner value) { this.contactPerson = value; return this; }
        public String getSpecialInstructions() { return specialInstructions; }
        public ApplicationDetails setSpecialInstructions(String value) { this.specialInstructions = value; return this; }
        public String getOfferDetails() { return offerDetails; }
        public ApplicationDetails setOfferDetails(String value) { this.offerDetails = value; return this; }
        public Date getDateContractAccepted() { return dateContractAccepted; }
        public ApplicationDetails setDateContractAccepted(Date value) { this.dateContractAccepted = value; return this; }
        public Boolean isWorldpayBusinessFinanceInterest() { return worldpayBusinessFinanceInterest; }
        public ApplicationDetails setWorldpayBusinessFinanceInterest(Boolean value) { this.worldpayBusinessFinanceInterest = value; return this; }
        public Boolean isSar() { return sar; }
        public ApplicationDetails setSar(Boolean value) { this.sar = value; return this; }
        public String getSellerEmail() { return sellerEmail; }
        public ApplicationDetails setSellerEmail(String value) { this.sellerEmail = value; return this; }
        public Date getAnticipatedGoLiveDate() { return anticipatedGoLiveDate; }
        public ApplicationDetails setAnticipatedGoLiveDate(Date value) { this.anticipatedGoLiveDate = value; return this; }
        public AccessibilityOptions getAccessibilityOptions() { return accessibilityOptions; }
        public ApplicationDetails setAccessibilityOptions(AccessibilityOptions value) { this.accessibilityOptions = value; return this; }
        public String getUltimateParentId() { return ultimateParentId; }
        public ApplicationDetails setUltimateParentId(String value) { this.ultimateParentId = value; return this; }
    }

    public static enum SourceSystemType
    {
        Mars,
        Asa,
        Ols,
        Inasa;
    }

    public static enum CustomerType
    {
        New(0),
        Existing(1),
        None(-1);

        private final int value;
        CustomerType(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    public static class Partner
    {
        public String partnerId = null;
        public String partnerName = null;
        
        public String getPartnerId() { return partnerId; }
        public Partner setPartnerId(String value) { this.partnerId = value; return this; }
        public String getPartnerName() { return partnerName; }
        public Partner setPartnerName(String value) { this.partnerName = value; return this; }
    }

    public static enum PricingPackageType
    {
        CustomUk(0),
        MonthlyUk(1),
        SimplicityUk(2),
        PaygUk(3),
        CustomRoi(4),
        PaygeComUK(5),
        None(-1);

        private final int value;
        PricingPackageType(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    public static class AuthorisedSigner extends ContactPerson
    {
        public Date dateOfBirth = null;
        public String countryCode = null;
        
        public Date getDateOfBirth() { return dateOfBirth; }
        public AuthorisedSigner setDateOfBirth(Date value) { this.dateOfBirth = value; return this; }
        public String getCountryCode() { return countryCode; }
        public AuthorisedSigner setCountryCode(String value) { this.countryCode = value; return this; }
    }

    public static class ContactPerson
    {
        public String title = null;
        public String firstName = null;
        public String middleName = null;
        public String lastName = null;
        public String telephoneNumber = null;
        public String altTelephoneNumber = null;
        public String email = null;
        public String position = null;
        public PreferredContactMethodType preferredContactMethod = null;
        public String preferredContactBestTime = null;
        
        public String getTitle() { return title; }
        public ContactPerson setTitle(String value) { this.title = value; return this; }
        public String getFirstName() { return firstName; }
        public ContactPerson setFirstName(String value) { this.firstName = value; return this; }
        public String getMiddleName() { return middleName; }
        public ContactPerson setMiddleName(String value) { this.middleName = value; return this; }
        public String getLastName() { return lastName; }
        public ContactPerson setLastName(String value) { this.lastName = value; return this; }
        public String getTelephoneNumber() { return telephoneNumber; }
        public ContactPerson setTelephoneNumber(String value) { this.telephoneNumber = value; return this; }
        public String getAltTelephoneNumber() { return altTelephoneNumber; }
        public ContactPerson setAltTelephoneNumber(String value) { this.altTelephoneNumber = value; return this; }
        public String getEmail() { return email; }
        public ContactPerson setEmail(String value) { this.email = value; return this; }
        public String getPosition() { return position; }
        public ContactPerson setPosition(String value) { this.position = value; return this; }
        public PreferredContactMethodType getPreferredContactMethod() { return preferredContactMethod; }
        public ContactPerson setPreferredContactMethod(PreferredContactMethodType value) { this.preferredContactMethod = value; return this; }
        public String getPreferredContactBestTime() { return preferredContactBestTime; }
        public ContactPerson setPreferredContactBestTime(String value) { this.preferredContactBestTime = value; return this; }
    }

    public static enum PreferredContactMethodType
    {
        Email,
        Telephone,
        Any;
    }

    public static class AccessibilityOptions
    {
        public Boolean audiotapeRequired = null;
        public Boolean largePrintRequired = null;
        public Boolean uncontractedBrailleGrade1Required = null;
        public Boolean uncontractedBrailleGrade2Required = null;
        public Boolean nextGenerationTextRequired = null;
        
        public Boolean isAudiotapeRequired() { return audiotapeRequired; }
        public AccessibilityOptions setAudiotapeRequired(Boolean value) { this.audiotapeRequired = value; return this; }
        public Boolean isLargePrintRequired() { return largePrintRequired; }
        public AccessibilityOptions setLargePrintRequired(Boolean value) { this.largePrintRequired = value; return this; }
        public Boolean isUncontractedBrailleGrade1Required() { return uncontractedBrailleGrade1Required; }
        public AccessibilityOptions setUncontractedBrailleGrade1Required(Boolean value) { this.uncontractedBrailleGrade1Required = value; return this; }
        public Boolean isUncontractedBrailleGrade2Required() { return uncontractedBrailleGrade2Required; }
        public AccessibilityOptions setUncontractedBrailleGrade2Required(Boolean value) { this.uncontractedBrailleGrade2Required = value; return this; }
        public Boolean isNextGenerationTextRequired() { return nextGenerationTextRequired; }
        public AccessibilityOptions setNextGenerationTextRequired(Boolean value) { this.nextGenerationTextRequired = value; return this; }
    }

    public static class MerchantDetails
    {
        public Business business = null;
        public ArrayList<Principal> principals = null;
        public ArrayList<Outlet> outlets = null;
        public GoodsAndServices goodsAndServices = null;
        
        public Business getBusiness() { return business; }
        public MerchantDetails setBusiness(Business value) { this.business = value; return this; }
        public ArrayList<Principal> getPrincipals() { return principals; }
        public MerchantDetails setPrincipals(ArrayList<Principal> value) { this.principals = value; return this; }
        public ArrayList<Outlet> getOutlets() { return outlets; }
        public MerchantDetails setOutlets(ArrayList<Outlet> value) { this.outlets = value; return this; }
        public GoodsAndServices getGoodsAndServices() { return goodsAndServices; }
        public MerchantDetails setGoodsAndServices(GoodsAndServices value) { this.goodsAndServices = value; return this; }
    }

    public static class Business
    {
        public String legalName = null;
        public BusinessAddress legalAddress = null;
        public String websiteAddress = null;
        public CompanyType companyType = null;
        public String companyTypeOther = null;
        public String companyRegistrationNumber = null;
        public String charityNumber = null;
        public String merchantCategoryCode = null;
        public String merchantCategoryDescription = null;
        public String descriptionOfGoodsAndServices = null;
        public String vatNumber = null;
        public Date dateStartedTrading = null;
        public String countryOfIncorporation = null;
        public String regionOfIncorporation = null;
        public Financials financials = null;
        public Boolean newToCards = null;
        public TradeAssociation tradeAssociation = null;
        
        public String getLegalName() { return legalName; }
        public Business setLegalName(String value) { this.legalName = value; return this; }
        public BusinessAddress getLegalAddress() { return legalAddress; }
        public Business setLegalAddress(BusinessAddress value) { this.legalAddress = value; return this; }
        public String getWebsiteAddress() { return websiteAddress; }
        public Business setWebsiteAddress(String value) { this.websiteAddress = value; return this; }
        public CompanyType getCompanyType() { return companyType; }
        public Business setCompanyType(CompanyType value) { this.companyType = value; return this; }
        public String getCompanyTypeOther() { return companyTypeOther; }
        public Business setCompanyTypeOther(String value) { this.companyTypeOther = value; return this; }
        public String getCompanyRegistrationNumber() { return companyRegistrationNumber; }
        public Business setCompanyRegistrationNumber(String value) { this.companyRegistrationNumber = value; return this; }
        public String getCharityNumber() { return charityNumber; }
        public Business setCharityNumber(String value) { this.charityNumber = value; return this; }
        public String getMerchantCategoryCode() { return merchantCategoryCode; }
        public Business setMerchantCategoryCode(String value) { this.merchantCategoryCode = value; return this; }
        public String getMerchantCategoryDescription() { return merchantCategoryDescription; }
        public Business setMerchantCategoryDescription(String value) { this.merchantCategoryDescription = value; return this; }
        public String getDescriptionOfGoodsAndServices() { return descriptionOfGoodsAndServices; }
        public Business setDescriptionOfGoodsAndServices(String value) { this.descriptionOfGoodsAndServices = value; return this; }
        public String getVatNumber() { return vatNumber; }
        public Business setVatNumber(String value) { this.vatNumber = value; return this; }
        public Date getDateStartedTrading() { return dateStartedTrading; }
        public Business setDateStartedTrading(Date value) { this.dateStartedTrading = value; return this; }
        public String getCountryOfIncorporation() { return countryOfIncorporation; }
        public Business setCountryOfIncorporation(String value) { this.countryOfIncorporation = value; return this; }
        public String getRegionOfIncorporation() { return regionOfIncorporation; }
        public Business setRegionOfIncorporation(String value) { this.regionOfIncorporation = value; return this; }
        public Financials getFinancials() { return financials; }
        public Business setFinancials(Financials value) { this.financials = value; return this; }
        public Boolean isNewToCards() { return newToCards; }
        public Business setNewToCards(Boolean value) { this.newToCards = value; return this; }
        public TradeAssociation getTradeAssociation() { return tradeAssociation; }
        public Business setTradeAssociation(TradeAssociation value) { this.tradeAssociation = value; return this; }
    }

    public static class BusinessAddress extends Address
    {
        public Boolean isCommercial = null;
        
        public Boolean getIsCommercial() { return isCommercial; }
        public BusinessAddress setIsCommercial(Boolean value) { this.isCommercial = value; return this; }
    }

    public static class Address
    {
        public String address1 = null;
        public String address2 = null;
        public String address3 = null;
        public String postcode = null;
        public String city = null;
        public String state = null;
        public String countrycode = null;
        
        public String getAddress1() { return address1; }
        public Address setAddress1(String value) { this.address1 = value; return this; }
        public String getAddress2() { return address2; }
        public Address setAddress2(String value) { this.address2 = value; return this; }
        public String getAddress3() { return address3; }
        public Address setAddress3(String value) { this.address3 = value; return this; }
        public String getPostcode() { return postcode; }
        public Address setPostcode(String value) { this.postcode = value; return this; }
        public String getCity() { return city; }
        public Address setCity(String value) { this.city = value; return this; }
        public String getState() { return state; }
        public Address setState(String value) { this.state = value; return this; }
        public String getCountrycode() { return countrycode; }
        public Address setCountrycode(String value) { this.countrycode = value; return this; }
    }

    public static enum CompanyType
    {
        SoleTrader,
        Partnership,
        LimitedCompany,
        Trust,
        RegisteredCharity,
        PublicLimitedCompany,
        LimitedByGuarantee,
        ClubSocietyAssociation,
        CommunityInterestCompanyOrIndustrialProvident,
        LimitedLiabilityPartnership,
        Other;
    }

    public static class Financials
    {
        public BigDecimal annual = null;
        public BigDecimal cardPercentage = null;
        public BigDecimal creditCardPercentage = null;
        public BigDecimal averageTransactionValue = null;
        
        public BigDecimal getAnnual() { return annual; }
        public Financials setAnnual(BigDecimal value) { this.annual = value; return this; }
        public BigDecimal getCardPercentage() { return cardPercentage; }
        public Financials setCardPercentage(BigDecimal value) { this.cardPercentage = value; return this; }
        public BigDecimal getCreditCardPercentage() { return creditCardPercentage; }
        public Financials setCreditCardPercentage(BigDecimal value) { this.creditCardPercentage = value; return this; }
        public BigDecimal getAverageTransactionValue() { return averageTransactionValue; }
        public Financials setAverageTransactionValue(BigDecimal value) { this.averageTransactionValue = value; return this; }
    }

    public static class TradeAssociation
    {
        public String groupName = null;
        public String memberNumber = null;
        
        public String getGroupName() { return groupName; }
        public TradeAssociation setGroupName(String value) { this.groupName = value; return this; }
        public String getMemberNumber() { return memberNumber; }
        public TradeAssociation setMemberNumber(String value) { this.memberNumber = value; return this; }
    }

    public static class Principal
    {
        public String title = null;
        public String firstName = null;
        public String middleName = null;
        public String lastName = null;
        public Date dateOfBirth = null;
        public String nationality = null;
        public ArrayList<PrincipalAddress> homeAddresses = null;
        public BigDecimal ownershipPercentage = null;
        public PositionType position = null;
        public Boolean isFinancialController = null;
        
        public String getTitle() { return title; }
        public Principal setTitle(String value) { this.title = value; return this; }
        public String getFirstName() { return firstName; }
        public Principal setFirstName(String value) { this.firstName = value; return this; }
        public String getMiddleName() { return middleName; }
        public Principal setMiddleName(String value) { this.middleName = value; return this; }
        public String getLastName() { return lastName; }
        public Principal setLastName(String value) { this.lastName = value; return this; }
        public Date getDateOfBirth() { return dateOfBirth; }
        public Principal setDateOfBirth(Date value) { this.dateOfBirth = value; return this; }
        public String getNationality() { return nationality; }
        public Principal setNationality(String value) { this.nationality = value; return this; }
        public ArrayList<PrincipalAddress> getHomeAddresses() { return homeAddresses; }
        public Principal setHomeAddresses(ArrayList<PrincipalAddress> value) { this.homeAddresses = value; return this; }
        public BigDecimal getOwnershipPercentage() { return ownershipPercentage; }
        public Principal setOwnershipPercentage(BigDecimal value) { this.ownershipPercentage = value; return this; }
        public PositionType getPosition() { return position; }
        public Principal setPosition(PositionType value) { this.position = value; return this; }
        public Boolean getIsFinancialController() { return isFinancialController; }
        public Principal setIsFinancialController(Boolean value) { this.isFinancialController = value; return this; }
    }

    public static class PrincipalAddress extends Address
    {
        public Date startDate = null;
        public Date endDate = null;
        
        public Date getStartDate() { return startDate; }
        public PrincipalAddress setStartDate(Date value) { this.startDate = value; return this; }
        public Date getEndDate() { return endDate; }
        public PrincipalAddress setEndDate(Date value) { this.endDate = value; return this; }
    }

    public static 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);

        private final int value;
        PositionType(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    public static class Outlet
    {
        public String tradingName = null;
        public BusinessAddress tradingAddress = null;
        public ContactPerson contactPerson = null;
        public BusinessAddress terminalDeliveryAddress = null;
        public BusinessAddress correspondenceAddress = null;
        public BankAccount settlementBankAccount = null;
        public BankAccount chargesBankAccount = null;
        public String directDebitCorrespondenceEmail = null;
        public ClearingDetails clearingDetails = null;
        public ArrayList<OutletAllocatedProduct> productAllocation = null;
        
        public String getTradingName() { return tradingName; }
        public Outlet setTradingName(String value) { this.tradingName = value; return this; }
        public BusinessAddress getTradingAddress() { return tradingAddress; }
        public Outlet setTradingAddress(BusinessAddress value) { this.tradingAddress = value; return this; }
        public ContactPerson getContactPerson() { return contactPerson; }
        public Outlet setContactPerson(ContactPerson value) { this.contactPerson = value; return this; }
        public BusinessAddress getTerminalDeliveryAddress() { return terminalDeliveryAddress; }
        public Outlet setTerminalDeliveryAddress(BusinessAddress value) { this.terminalDeliveryAddress = value; return this; }
        public BusinessAddress getCorrespondenceAddress() { return correspondenceAddress; }
        public Outlet setCorrespondenceAddress(BusinessAddress value) { this.correspondenceAddress = value; return this; }
        public BankAccount getSettlementBankAccount() { return settlementBankAccount; }
        public Outlet setSettlementBankAccount(BankAccount value) { this.settlementBankAccount = value; return this; }
        public BankAccount getChargesBankAccount() { return chargesBankAccount; }
        public Outlet setChargesBankAccount(BankAccount value) { this.chargesBankAccount = value; return this; }
        public String getDirectDebitCorrespondenceEmail() { return directDebitCorrespondenceEmail; }
        public Outlet setDirectDebitCorrespondenceEmail(String value) { this.directDebitCorrespondenceEmail = value; return this; }
        public ClearingDetails getClearingDetails() { return clearingDetails; }
        public Outlet setClearingDetails(ClearingDetails value) { this.clearingDetails = value; return this; }
        public ArrayList<OutletAllocatedProduct> getProductAllocation() { return productAllocation; }
        public Outlet setProductAllocation(ArrayList<OutletAllocatedProduct> value) { this.productAllocation = value; return this; }
    }

    public static class BankAccount
    {
        public String sortCode = null;
        public String accountNumber = null;
        public String bankName = null;
        public String bankAccountName = null;
        
        public String getSortCode() { return sortCode; }
        public BankAccount setSortCode(String value) { this.sortCode = value; return this; }
        public String getAccountNumber() { return accountNumber; }
        public BankAccount setAccountNumber(String value) { this.accountNumber = value; return this; }
        public String getBankName() { return bankName; }
        public BankAccount setBankName(String value) { this.bankName = value; return this; }
        public String getBankAccountName() { return bankAccountName; }
        public BankAccount setBankAccountName(String value) { this.bankAccountName = value; return this; }
    }

    public static class ClearingDetails
    {
        public String merchantUrl = null;
        public String telephone = null;
        public String email = null;
        
        public String getMerchantUrl() { return merchantUrl; }
        public ClearingDetails setMerchantUrl(String value) { this.merchantUrl = value; return this; }
        public String getTelephone() { return telephone; }
        public ClearingDetails setTelephone(String value) { this.telephone = value; return this; }
        public String getEmail() { return email; }
        public ClearingDetails setEmail(String value) { this.email = value; return this; }
    }

    public static class OutletAllocatedProduct
    {
        public Integer id = null;
        public Integer quantity = null;
        
        public Integer getId() { return id; }
        public OutletAllocatedProduct setId(Integer value) { this.id = value; return this; }
        public Integer getQuantity() { return quantity; }
        public OutletAllocatedProduct setQuantity(Integer value) { this.quantity = value; return this; }
    }

    public static class GoodsAndServices
    {
        public Boolean goodsProvidedByThirdParty = null;
        public Deposits deposits = null;
        public WarrantiesAndGuarantees warrantiesAndGuarantees = null;
        public Prepayments prepayments = null;
        public MembershipsSubscriptionAndInsurancePremiums membershipsSubscriptionAndInsurancePremiums = null;
        public Address stockHeldAtAnotherAddressLocation = null;
        
        public Boolean isGoodsProvidedByThirdParty() { return goodsProvidedByThirdParty; }
        public GoodsAndServices setGoodsProvidedByThirdParty(Boolean value) { this.goodsProvidedByThirdParty = value; return this; }
        public Deposits getDeposits() { return deposits; }
        public GoodsAndServices setDeposits(Deposits value) { this.deposits = value; return this; }
        public WarrantiesAndGuarantees getWarrantiesAndGuarantees() { return warrantiesAndGuarantees; }
        public GoodsAndServices setWarrantiesAndGuarantees(WarrantiesAndGuarantees value) { this.warrantiesAndGuarantees = value; return this; }
        public Prepayments getPrepayments() { return prepayments; }
        public GoodsAndServices setPrepayments(Prepayments value) { this.prepayments = value; return this; }
        public MembershipsSubscriptionAndInsurancePremiums getMembershipsSubscriptionAndInsurancePremiums() { return membershipsSubscriptionAndInsurancePremiums; }
        public GoodsAndServices setMembershipsSubscriptionAndInsurancePremiums(MembershipsSubscriptionAndInsurancePremiums value) { this.membershipsSubscriptionAndInsurancePremiums = value; return this; }
        public Address getStockHeldAtAnotherAddressLocation() { return stockHeldAtAnotherAddressLocation; }
        public GoodsAndServices setStockHeldAtAnotherAddressLocation(Address value) { this.stockHeldAtAnotherAddressLocation = value; return this; }
    }

    public static class Deposits
    {
        public Boolean accepted = null;
        public Integer perOfSalesWhereInitialDepositTaken = null;
        public Integer sizePercOfTotalValue = null;
        public Integer avgTimeBeforeDeliveryTaken = null;
        public Integer avgTimeBeforeDeliveryBalanceTaken = null;
        
        public Boolean isAccepted() { return accepted; }
        public Deposits setAccepted(Boolean value) { this.accepted = value; return this; }
        public Integer getPerOfSalesWhereInitialDepositTaken() { return perOfSalesWhereInitialDepositTaken; }
        public Deposits setPerOfSalesWhereInitialDepositTaken(Integer value) { this.perOfSalesWhereInitialDepositTaken = value; return this; }
        public Integer getSizePercOfTotalValue() { return sizePercOfTotalValue; }
        public Deposits setSizePercOfTotalValue(Integer value) { this.sizePercOfTotalValue = value; return this; }
        public Integer getAvgTimeBeforeDeliveryTaken() { return avgTimeBeforeDeliveryTaken; }
        public Deposits setAvgTimeBeforeDeliveryTaken(Integer value) { this.avgTimeBeforeDeliveryTaken = value; return this; }
        public Integer getAvgTimeBeforeDeliveryBalanceTaken() { return avgTimeBeforeDeliveryBalanceTaken; }
        public Deposits setAvgTimeBeforeDeliveryBalanceTaken(Integer value) { this.avgTimeBeforeDeliveryBalanceTaken = value; return this; }
    }

    public static class WarrantiesAndGuarantees
    {
        public Boolean levyCharge = null;
        public Integer percCardTurnover = null;
        public Integer avgLengthInMonths = null;
        public Integer percGoodsReturned = null;
        public String thirdPartyProviders = null;
        
        public Boolean isLevyCharge() { return levyCharge; }
        public WarrantiesAndGuarantees setLevyCharge(Boolean value) { this.levyCharge = value; return this; }
        public Integer getPercCardTurnover() { return percCardTurnover; }
        public WarrantiesAndGuarantees setPercCardTurnover(Integer value) { this.percCardTurnover = value; return this; }
        public Integer getAvgLengthInMonths() { return avgLengthInMonths; }
        public WarrantiesAndGuarantees setAvgLengthInMonths(Integer value) { this.avgLengthInMonths = value; return this; }
        public Integer getPercGoodsReturned() { return percGoodsReturned; }
        public WarrantiesAndGuarantees setPercGoodsReturned(Integer value) { this.percGoodsReturned = value; return this; }
        public String getThirdPartyProviders() { return thirdPartyProviders; }
        public WarrantiesAndGuarantees setThirdPartyProviders(String value) { this.thirdPartyProviders = value; return this; }
    }

    public static class Prepayments
    {
        public Boolean fullPaymentAcceptedPriorToSupply = null;
        public Integer percGoodsWherePaymentTakenPriorToDelivery = null;
        public Integer avgDaysPaymentTakenInAdvance = null;
        
        public Boolean isFullPaymentAcceptedPriorToSupply() { return fullPaymentAcceptedPriorToSupply; }
        public Prepayments setFullPaymentAcceptedPriorToSupply(Boolean value) { this.fullPaymentAcceptedPriorToSupply = value; return this; }
        public Integer getPercGoodsWherePaymentTakenPriorToDelivery() { return percGoodsWherePaymentTakenPriorToDelivery; }
        public Prepayments setPercGoodsWherePaymentTakenPriorToDelivery(Integer value) { this.percGoodsWherePaymentTakenPriorToDelivery = value; return this; }
        public Integer getAvgDaysPaymentTakenInAdvance() { return avgDaysPaymentTakenInAdvance; }
        public Prepayments setAvgDaysPaymentTakenInAdvance(Integer value) { this.avgDaysPaymentTakenInAdvance = value; return this; }
    }

    public static class MembershipsSubscriptionAndInsurancePremiums
    {
        public Boolean levyCharge = null;
        public Integer percCardTurnover = null;
        public Integer avgLengthInMonths = null;
        public BigDecimal membershipCost = null;
        
        public Boolean isLevyCharge() { return levyCharge; }
        public MembershipsSubscriptionAndInsurancePremiums setLevyCharge(Boolean value) { this.levyCharge = value; return this; }
        public Integer getPercCardTurnover() { return percCardTurnover; }
        public MembershipsSubscriptionAndInsurancePremiums setPercCardTurnover(Integer value) { this.percCardTurnover = value; return this; }
        public Integer getAvgLengthInMonths() { return avgLengthInMonths; }
        public MembershipsSubscriptionAndInsurancePremiums setAvgLengthInMonths(Integer value) { this.avgLengthInMonths = value; return this; }
        public BigDecimal getMembershipCost() { return membershipCost; }
        public MembershipsSubscriptionAndInsurancePremiums setMembershipCost(BigDecimal value) { this.membershipCost = value; return this; }
    }

    public static class Acquiring
    {
        public Integer settlementPeriodTPlus = null;
        public Rates rates = null;
        public Services services = null;
        public ArrayList<TradingCurrency> tradingCurrencies = null;
        
        public Integer getSettlementPeriodTPlus() { return settlementPeriodTPlus; }
        public Acquiring setSettlementPeriodTPlus(Integer value) { this.settlementPeriodTPlus = value; return this; }
        public Rates getRates() { return rates; }
        public Acquiring setRates(Rates value) { this.rates = value; return this; }
        public Services getServices() { return services; }
        public Acquiring setServices(Services value) { this.services = value; return this; }
        public ArrayList<TradingCurrency> getTradingCurrencies() { return tradingCurrencies; }
        public Acquiring setTradingCurrencies(ArrayList<TradingCurrency> value) { this.tradingCurrencies = value; return this; }
    }

    public static class Rates
    {
        public ArrayList<CardCharge> cardCharges = null;
        public ArrayList<PremiumTransactionCharge> premiumTransactionCharges = null;
        public ArrayList<AdditionalTarrif> additionalTarrifs = null;
        
        public ArrayList<CardCharge> getCardCharges() { return cardCharges; }
        public Rates setCardCharges(ArrayList<CardCharge> value) { this.cardCharges = value; return this; }
        public ArrayList<PremiumTransactionCharge> getPremiumTransactionCharges() { return premiumTransactionCharges; }
        public Rates setPremiumTransactionCharges(ArrayList<PremiumTransactionCharge> value) { this.premiumTransactionCharges = value; return this; }
        public ArrayList<AdditionalTarrif> getAdditionalTarrifs() { return additionalTarrifs; }
        public Rates setAdditionalTarrifs(ArrayList<AdditionalTarrif> value) { this.additionalTarrifs = value; return this; }
    }

    public static class CardCharge
    {
        public CardType cardType = null;
        public RateChargePair purchase = null;
        public RateChargePair refund = null;
        
        public CardType getCardType() { return cardType; }
        public CardCharge setCardType(CardType value) { this.cardType = value; return this; }
        public RateChargePair getPurchase() { return purchase; }
        public CardCharge setPurchase(RateChargePair value) { this.purchase = value; return this; }
        public RateChargePair getRefund() { return refund; }
        public CardCharge setRefund(RateChargePair value) { this.refund = value; return this; }
    }

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

    public static class RateChargePair
    {
        public BigDecimal percent = null;
        public BigDecimal cost = null;
        
        public BigDecimal getPercent() { return percent; }
        public RateChargePair setPercent(BigDecimal value) { this.percent = value; return this; }
        public BigDecimal getCost() { return cost; }
        public RateChargePair setCost(BigDecimal value) { this.cost = value; return this; }
    }

    public static class PremiumTransactionCharge
    {
        public PremiumTransactionChargeType type = null;
        public RateChargePair creditCard = null;
        public RateChargePair debitCard = null;
        
        public PremiumTransactionChargeType getType() { return type; }
        public PremiumTransactionCharge setType(PremiumTransactionChargeType value) { this.type = value; return this; }
        public RateChargePair getCreditCard() { return creditCard; }
        public PremiumTransactionCharge setCreditCard(RateChargePair value) { this.creditCard = value; return this; }
        public RateChargePair getDebitCard() { return debitCard; }
        public PremiumTransactionCharge setDebitCard(RateChargePair value) { this.debitCard = value; return this; }
    }

    public static enum PremiumTransactionChargeType
    {
        Magstripe,
        CnpMoto,
        Paper,
        PanKeyEntry,
        SecureEcom,
        NonSecureEcom,
        InterRegional,
        IntraRegional,
        NonAuth;
    }

    public static class AdditionalTarrif
    {
        public AdditionalTarrifType type = null;
        public BigDecimal cost = null;
        
        public AdditionalTarrifType getType() { return type; }
        public AdditionalTarrif setType(AdditionalTarrifType value) { this.type = value; return this; }
        public BigDecimal getCost() { return cost; }
        public AdditionalTarrif setCost(BigDecimal value) { this.cost = value; return this; }
    }

    public static enum AdditionalTarrifType
    {
        NameAndAddressCheck,
        Auth,
        Chargeback,
        Mmsc,
        PaperStatement,
        PciVerbalAssessment,
        PciIpScan,
        PciNonCompliance,
        PciSaferPaymentsPlus,
        JoiningFee,
        PayMonthlyAcquiringFee,
        PciSaferPayments;
    }

    public static class Services
    {
        public Cnp cnp = null;
        public Amex amex = null;
        public Boolean cashbackRequired = null;
        public Boolean worldpayDashboardRequired = null;
        public Boolean paperInvoicingRequired = null;
        
        public Cnp getCnp() { return cnp; }
        public Services setCnp(Cnp value) { this.cnp = value; return this; }
        public Amex getAmex() { return amex; }
        public Services setAmex(Amex value) { this.amex = value; return this; }
        public Boolean isCashbackRequired() { return cashbackRequired; }
        public Services setCashbackRequired(Boolean value) { this.cashbackRequired = value; return this; }
        public Boolean isWorldpayDashboardRequired() { return worldpayDashboardRequired; }
        public Services setWorldpayDashboardRequired(Boolean value) { this.worldpayDashboardRequired = value; return this; }
        public Boolean isPaperInvoicingRequired() { return paperInvoicingRequired; }
        public Services setPaperInvoicingRequired(Boolean value) { this.paperInvoicingRequired = value; return this; }
    }

    public static class Cnp
    {
        public Boolean required = null;
        public BigDecimal percentage = null;
        
        public Boolean isRequired() { return required; }
        public Cnp setRequired(Boolean value) { this.required = value; return this; }
        public BigDecimal getPercentage() { return percentage; }
        public Cnp setPercentage(BigDecimal value) { this.percentage = value; return this; }
    }

    public static class Amex
    {
        public Boolean required = null;
        public String existingAmexNumber = null;
        
        public Boolean isRequired() { return required; }
        public Amex setRequired(Boolean value) { this.required = value; return this; }
        public String getExistingAmexNumber() { return existingAmexNumber; }
        public Amex setExistingAmexNumber(String value) { this.existingAmexNumber = value; return this; }
    }

    public static class TradingCurrency
    {
        public ArrayList<CurrencyCodeType> transactionCurrencies = null;
        public CurrencyCodeType settlementCurrency = null;
        public String settlementBankSwift = null;
        public String settlementBankIban = null;
        
        public ArrayList<CurrencyCodeType> getTransactionCurrencies() { return transactionCurrencies; }
        public TradingCurrency setTransactionCurrencies(ArrayList<CurrencyCodeType> value) { this.transactionCurrencies = value; return this; }
        public CurrencyCodeType getSettlementCurrency() { return settlementCurrency; }
        public TradingCurrency setSettlementCurrency(CurrencyCodeType value) { this.settlementCurrency = value; return this; }
        public String getSettlementBankSwift() { return settlementBankSwift; }
        public TradingCurrency setSettlementBankSwift(String value) { this.settlementBankSwift = value; return this; }
        public String getSettlementBankIban() { return settlementBankIban; }
        public TradingCurrency setSettlementBankIban(String value) { this.settlementBankIban = value; return this; }
    }

    public static enum CurrencyCodeType
    {
        Gbp,
        Eur,
        Usd,
        Aed,
        Afn,
        All,
        Amd,
        Ang,
        Aoa,
        Ars,
        Aud,
        Awg,
        Azn,
        Bam,
        Bbd,
        Bdt,
        Bgn,
        Bhd,
        Bif,
        Bmd,
        Bnd,
        Bob,
        Brl,
        Bsd,
        Btn,
        Bwp,
        Byr,
        Bzd,
        Cad,
        Cdf,
        Chf,
        Clp,
        Cny,
        Cop,
        Cou,
        Crc,
        Cuc,
        Cup,
        Cve,
        Czk,
        Djf,
        Dkk,
        Dop,
        Dzd,
        Eek,
        Egp,
        Ern,
        Etb,
        Fjd,
        Fkp,
        Gel,
        Ghs,
        Gip,
        Gmd,
        Gnf,
        Gtq,
        Gyd,
        Hkd,
        Hnl,
        Hrk,
        Htg,
        Huf,
        Idr,
        Ils,
        Inr,
        Iqd,
        Irr,
        Isk,
        Jmd,
        Jod,
        Jpy,
        Kes,
        Kgs,
        Khr,
        Kmf,
        Kpw,
        Krw,
        Kwd,
        Kyd,
        Kzt,
        Lak,
        Lbp,
        Lkr,
        Lrd,
        Lsl,
        Ltl,
        Lvl,
        Lyd,
        Mad,
        Mdl,
        Mga,
        Mkd,
        Mmk,
        Mnt,
        Mop,
        Mro,
        Mur,
        Mvr,
        Mwk,
        Mxn,
        Myr,
        Mzn,
        Nad,
        Ngn,
        Nio,
        Nok,
        Npr,
        Nzd,
        Omr,
        Pab,
        Pen,
        Pgk,
        Php,
        Pkr,
        Pln,
        Pyg,
        Qar,
        Ron,
        Rsd,
        Rub,
        Rwf,
        Sar,
        Sbd,
        Scr,
        Sdg,
        Sek,
        Sgd,
        Shp,
        Sll,
        Sos,
        Srd,
        Std,
        Syp,
        Szl,
        Thb,
        Tjs,
        Tmt,
        Tnd,
        Top,
        Try,
        Ttd,
        Twd,
        Tzs,
        Uah,
        Ugx,
        Uyu,
        Uzs,
        Vef,
        Vnd,
        Vuv,
        Wst,
        Yer,
        Zar,
        Zmk,
        Zwl;
    }

    public static class Products
    {
        public PosProducts posProducts = null;
        public EcomProducts ecomProducts = null;
        public WptProducts wptProducts = null;
        public IpProducts ipProducts = null;
        
        public PosProducts getPosProducts() { return posProducts; }
        public Products setPosProducts(PosProducts value) { this.posProducts = value; return this; }
        public EcomProducts getEcomProducts() { return ecomProducts; }
        public Products setEcomProducts(EcomProducts value) { this.ecomProducts = value; return this; }
        public WptProducts getWptProducts() { return wptProducts; }
        public Products setWptProducts(WptProducts value) { this.wptProducts = value; return this; }
        public IpProducts getIpProducts() { return ipProducts; }
        public Products setIpProducts(IpProducts value) { this.ipProducts = value; return this; }
    }

    public static class PosProducts
    {
        public Integer term = null;
        public Integer renewalLength = null;
        public ArrayList<PosProduct> products = null;
        
        public Integer getTerm() { return term; }
        public PosProducts setTerm(Integer value) { this.term = value; return this; }
        public Integer getRenewalLength() { return renewalLength; }
        public PosProducts setRenewalLength(Integer value) { this.renewalLength = value; return this; }
        public ArrayList<PosProduct> getProducts() { return products; }
        public PosProducts setProducts(ArrayList<PosProduct> value) { this.products = value; return this; }
    }

    public static class PosProduct
    {
        public Integer id = null;
        public PosProductType type = null;
        public Integer quantity = null;
        public ArrayList<ProductFee> relatedFees = null;
        public ArrayList<PosProductOption> options = null;
        
        public Integer getId() { return id; }
        public PosProduct setId(Integer value) { this.id = value; return this; }
        public PosProductType getType() { return type; }
        public PosProduct setType(PosProductType value) { this.type = value; return this; }
        public Integer getQuantity() { return quantity; }
        public PosProduct setQuantity(Integer value) { this.quantity = value; return this; }
        public ArrayList<ProductFee> getRelatedFees() { return relatedFees; }
        public PosProduct setRelatedFees(ArrayList<ProductFee> value) { this.relatedFees = value; return this; }
        public ArrayList<PosProductOption> getOptions() { return options; }
        public PosProduct setOptions(ArrayList<PosProductOption> value) { this.options = value; return this; }
    }

    public static enum PosProductType
    {
        Mobile,
        Wifi,
        Bluetooth,
        Fixed,
        PosMidOnly;
    }

    public static class ProductFee
    {
        public ProductFeeType type = null;
        public BigDecimal cost = null;
        
        public ProductFeeType getType() { return type; }
        public ProductFee setType(ProductFeeType value) { this.type = value; return this; }
        public BigDecimal getCost() { return cost; }
        public ProductFee setCost(BigDecimal value) { this.cost = value; return this; }
    }

    public static enum ProductFeeType
    {
        HireCost,
        TransactionCost,
        ServiceFee,
        ManagedServiceSetup,
        ManagedServiceMonthly;
    }

    public static class PosProductOption
    {
        public PosProductOptionType type = null;
        public String value = null;
        
        public PosProductOptionType getType() { return type; }
        public PosProductOption setType(PosProductOptionType value) { this.type = value; return this; }
        public String getValue() { return value; }
        public PosProductOption setValue(String value) { this.value = value; return this; }
    }

    public static enum PosProductOptionType
    {
        Psp;
    }

    public static class EcomProducts
    {
        public Integer term = null;
        public Integer renewalLength = null;
        public ArrayList<EcomProduct> products = null;
        public ArrayList<EcomOption> options = null;
        
        public Integer getTerm() { return term; }
        public EcomProducts setTerm(Integer value) { this.term = value; return this; }
        public Integer getRenewalLength() { return renewalLength; }
        public EcomProducts setRenewalLength(Integer value) { this.renewalLength = value; return this; }
        public ArrayList<EcomProduct> getProducts() { return products; }
        public EcomProducts setProducts(ArrayList<EcomProduct> value) { this.products = value; return this; }
        public ArrayList<EcomOption> getOptions() { return options; }
        public EcomProducts setOptions(ArrayList<EcomOption> value) { this.options = value; return this; }
    }

    public static class EcomProduct
    {
        public Integer id = null;
        public EcomProductType type = null;
        public Integer quantity = null;
        public ArrayList<ProductFee> relatedFees = null;
        public ArrayList<EcomProductOption> options = null;
        
        public Integer getId() { return id; }
        public EcomProduct setId(Integer value) { this.id = value; return this; }
        public EcomProductType getType() { return type; }
        public EcomProduct setType(EcomProductType value) { this.type = value; return this; }
        public Integer getQuantity() { return quantity; }
        public EcomProduct setQuantity(Integer value) { this.quantity = value; return this; }
        public ArrayList<ProductFee> getRelatedFees() { return relatedFees; }
        public EcomProduct setRelatedFees(ArrayList<ProductFee> value) { this.relatedFees = value; return this; }
        public ArrayList<EcomProductOption> getOptions() { return options; }
        public EcomProduct setOptions(ArrayList<EcomProductOption> value) { this.options = value; return this; }
    }

    public static enum EcomProductType
    {
        Gateway,
        VirtualTerminal,
        PayByLink,
        EcomMidOnly;
    }

    public static class EcomProductOption
    {
        public EcomProductOptionType type = null;
        public String value = null;
        
        public EcomProductOptionType getType() { return type; }
        public EcomProductOption setType(EcomProductOptionType value) { this.type = value; return this; }
        public String getValue() { return value; }
        public EcomProductOption setValue(String value) { this.value = value; return this; }
    }

    public static enum EcomProductOptionType
    {
        Psp,
        FreeTransactions;
    }

    public static class EcomOption
    {
        public EcomOptionType type = null;
        public ArrayList<ProductFee> relatedFees = null;
        
        public EcomOptionType getType() { return type; }
        public EcomOption setType(EcomOptionType value) { this.type = value; return this; }
        public ArrayList<ProductFee> getRelatedFees() { return relatedFees; }
        public EcomOption setRelatedFees(ArrayList<ProductFee> value) { this.relatedFees = value; return this; }
    }

    public static enum EcomOptionType
    {
        Paypal,
        FuturePay,
        Rmm;
    }

    public static class WptProducts
    {
        public Integer term = null;
        public Integer renewalLength = null;
        public Date posInstallationDate = null;
        public IntegratedSolutionProvider integratedSolutionProvider = null;
        public ArrayList<WptProduct> products = null;
        
        public Integer getTerm() { return term; }
        public WptProducts setTerm(Integer value) { this.term = value; return this; }
        public Integer getRenewalLength() { return renewalLength; }
        public WptProducts setRenewalLength(Integer value) { this.renewalLength = value; return this; }
        public Date getPosInstallationDate() { return posInstallationDate; }
        public WptProducts setPosInstallationDate(Date value) { this.posInstallationDate = value; return this; }
        public IntegratedSolutionProvider getIntegratedSolutionProvider() { return integratedSolutionProvider; }
        public WptProducts setIntegratedSolutionProvider(IntegratedSolutionProvider value) { this.integratedSolutionProvider = value; return this; }
        public ArrayList<WptProduct> getProducts() { return products; }
        public WptProducts setProducts(ArrayList<WptProduct> value) { this.products = value; return this; }
    }

    public static class IntegratedSolutionProvider
    {
        public String name = null;
        public Address address = null;
        public String telephone = null;
        public IspContact primaryContact = null;
        public IspContact technicalContact = null;
        public String providerType = null;
        public String providerSoftware = null;
        
        public String getName() { return name; }
        public IntegratedSolutionProvider setName(String value) { this.name = value; return this; }
        public Address getAddress() { return address; }
        public IntegratedSolutionProvider setAddress(Address value) { this.address = value; return this; }
        public String getTelephone() { return telephone; }
        public IntegratedSolutionProvider setTelephone(String value) { this.telephone = value; return this; }
        public IspContact getPrimaryContact() { return primaryContact; }
        public IntegratedSolutionProvider setPrimaryContact(IspContact value) { this.primaryContact = value; return this; }
        public IspContact getTechnicalContact() { return technicalContact; }
        public IntegratedSolutionProvider setTechnicalContact(IspContact value) { this.technicalContact = value; return this; }
        public String getProviderType() { return providerType; }
        public IntegratedSolutionProvider setProviderType(String value) { this.providerType = value; return this; }
        public String getProviderSoftware() { return providerSoftware; }
        public IntegratedSolutionProvider setProviderSoftware(String value) { this.providerSoftware = value; return this; }
    }

    public static class IspContact
    {
        public String title = null;
        public String firstName = null;
        public String lastName = null;
        public String position = null;
        public String emailAddress = null;
        
        public String getTitle() { return title; }
        public IspContact setTitle(String value) { this.title = value; return this; }
        public String getFirstName() { return firstName; }
        public IspContact setFirstName(String value) { this.firstName = value; return this; }
        public String getLastName() { return lastName; }
        public IspContact setLastName(String value) { this.lastName = value; return this; }
        public String getPosition() { return position; }
        public IspContact setPosition(String value) { this.position = value; return this; }
        public String getEmailAddress() { return emailAddress; }
        public IspContact setEmailAddress(String value) { this.emailAddress = value; return this; }
    }

    public static class WptProduct
    {
        public WptProductType type = null;
        public Integer id = null;
        public WptVariantType variant = null;
        public Integer quantity = null;
        public ArrayList<ProductFee> relatedFees = null;
        
        public WptProductType getType() { return type; }
        public WptProduct setType(WptProductType value) { this.type = value; return this; }
        public Integer getId() { return id; }
        public WptProduct setId(Integer value) { this.id = value; return this; }
        public WptVariantType getVariant() { return variant; }
        public WptProduct setVariant(WptVariantType value) { this.variant = value; return this; }
        public Integer getQuantity() { return quantity; }
        public WptProduct setQuantity(Integer value) { this.quantity = value; return this; }
        public ArrayList<ProductFee> getRelatedFees() { return relatedFees; }
        public WptProduct setRelatedFees(ArrayList<ProductFee> value) { this.relatedFees = value; return this; }
    }

    public static enum WptProductType
    {
        VerifoneP400,
        IngenicoWL258,
        VerifoneV240;
    }

    public static enum WptVariantType
    {
        Serial,
        Usb,
        Ethernet,
        None;
    }

    public static class IpProducts
    {
        public Integer term = null;
        public Integer renewalLength = null;
        public IntegratedSolutionProvider integratedSolutionProvider = null;
        public ArrayList<IpProduct> products = null;
        
        public Integer getTerm() { return term; }
        public IpProducts setTerm(Integer value) { this.term = value; return this; }
        public Integer getRenewalLength() { return renewalLength; }
        public IpProducts setRenewalLength(Integer value) { this.renewalLength = value; return this; }
        public IntegratedSolutionProvider getIntegratedSolutionProvider() { return integratedSolutionProvider; }
        public IpProducts setIntegratedSolutionProvider(IntegratedSolutionProvider value) { this.integratedSolutionProvider = value; return this; }
        public ArrayList<IpProduct> getProducts() { return products; }
        public IpProducts setProducts(ArrayList<IpProduct> value) { this.products = value; return this; }
    }

    public static class IpProduct
    {
        public Integer id = null;
        public IpProductType type = null;
        public Integer quantity = null;
        public ArrayList<ProductFee> relatedFees = null;
        public IpVariantType variant = null;
        
        public Integer getId() { return id; }
        public IpProduct setId(Integer value) { this.id = value; return this; }
        public IpProductType getType() { return type; }
        public IpProduct setType(IpProductType value) { this.type = value; return this; }
        public Integer getQuantity() { return quantity; }
        public IpProduct setQuantity(Integer value) { this.quantity = value; return this; }
        public ArrayList<ProductFee> getRelatedFees() { return relatedFees; }
        public IpProduct setRelatedFees(ArrayList<ProductFee> value) { this.relatedFees = value; return this; }
        public IpVariantType getVariant() { return variant; }
        public IpProduct setVariant(IpVariantType value) { this.variant = value; return this; }
    }

    public static enum IpProductType
    {
        PaxA920,
        MiuraM020;
    }

    public static enum IpVariantType
    {
        Sdk,
        Cloud,
        None;
    }

    public static class InitiateBoardingResponse
    {
        public UUID applicationGuid = null;
        public Integer csr = null;
        public UUID applicationQueueGuid = null;
        public ApplicationQueueStatus queueStatus = null;
        public ApplicationBoardingStatus boardingStatus = null;
        public ArrayList<String> errorMessages = null;
        
        public UUID getApplicationGuid() { return applicationGuid; }
        public InitiateBoardingResponse setApplicationGuid(UUID value) { this.applicationGuid = value; return this; }
        public Integer getCsr() { return csr; }
        public InitiateBoardingResponse setCsr(Integer value) { this.csr = value; return this; }
        public UUID getApplicationQueueGuid() { return applicationQueueGuid; }
        public InitiateBoardingResponse setApplicationQueueGuid(UUID value) { this.applicationQueueGuid = value; return this; }
        public ApplicationQueueStatus getQueueStatus() { return queueStatus; }
        public InitiateBoardingResponse setQueueStatus(ApplicationQueueStatus value) { this.queueStatus = value; return this; }
        public ApplicationBoardingStatus getBoardingStatus() { return boardingStatus; }
        public InitiateBoardingResponse setBoardingStatus(ApplicationBoardingStatus value) { this.boardingStatus = value; return this; }
        public ArrayList<String> getErrorMessages() { return errorMessages; }
        public InitiateBoardingResponse setErrorMessages(ArrayList<String> value) { this.errorMessages = value; return this; }
    }

    @DataContract
    public static 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);

        private final int value;
        ApplicationQueueStatus(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    @DataContract
    public static enum ApplicationBoardingStatus
    {
        Pending(0),
        InProgress(5),
        Failed(9),
        Completed(10);

        private final int value;
        ApplicationBoardingStatus(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

}

Java 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.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"]}