/* Options: Date: 2024-07-06 12:52:17 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://wp-cddws-test.worldpay.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AllChecksApplicationDataRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } 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) { (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
) { (Object as any).assign(this, init); } } export class BusinessAddress extends Address { public IsCommercial?: boolean; public constructor(init?: Partial) { 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) { (Object as any).assign(this, init); } } export class TradeAssociation { public GroupName: string; public MemberNumber: string; public constructor(init?: Partial) { (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) { (Object as any).assign(this, init); } } export class Principal extends Person { public Position: string; public IsFinancialController: boolean; public DateOfBirth: string; public Nationality: string; public OwnershipPercentage: number; public HomeAddresses: PrincipalAddress[]; public PrincipalIdDocuments: PrincipalIdDocument[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } 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) { (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) { (Object as any).assign(this, init); } } export class ClearingDetails { public MerchantUrl: string; public Telephone: string; public Email: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class OutletAllocatedProduct { public Id: number; public Quantity: number; public constructor(init?: Partial) { (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) { (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) { (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) { (Object as any).assign(this, init); } } export class Acquiring { public SettlementPeriod: number; public FundingMode: string; public Rates: Rates; public TradingCurrencies: TradingCurrency[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum PosProductType { Mobile = 'Mobile', Wifi = 'Wifi', Bluetooth = 'Bluetooth', Fixed = 'Fixed', PosMidOnly = 'PosMidOnly', } export class ProductFee { public Type: string; public Cost: number; public BillingParty: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum PosProductOptionType { PSP = 'PSP', } export class PosProductOption { public Type: PosProductOptionType; public Value: string; public constructor(init?: Partial) { (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) { (Object as any).assign(this, init); } } export class PosProducts { public Term?: number; public RenewalLength?: number; public Products: PosProduct[]; public constructor(init?: Partial) { (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) { (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) { (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) { (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) { (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) { (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) { (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) { (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) { (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) { (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) { (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) { (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) { (Object as any).assign(this, init); } } export class ApplicationDetails { public specialInstructions: string; public typeAcquiring?: boolean; public typePOS_F2F?: boolean; public typePOS_MOTO?: boolean; public typeOnlinePayments?: boolean; public typeVirtualTerminal?: boolean; public sellerCode: string; public numOutlets?: number; public mccCode: string; public offerDescription: string; public pricingPackage: string; public contractLength?: number; public settlementPeriodTPlus: string; public ecomPSP: string; public posPSP: string; public constructor(init?: Partial) { (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) { (Object as any).assign(this, init); } } 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) { (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) { (Object as any).assign(this, init); } } export class BankAccount { public SortCode: string; public AccountNumber: string; public BankName: string; public BankAccountName: string; public SwiftCode: string; public InternationalBankAccountNumber: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Financials { public Annual: number; public CardPercentage: number; public CreditCardPercentage: number; public AverageTransactionValue: number; public CardNotPresentPercentage?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TradeAssociation { public GroupName: string; public MemberNumber: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ClearingDetails { public MerchantUrl: string; public Telephone: string; public Email: string; public constructor(init?: Partial) { (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
) { (Object as any).assign(this, init); } } export class ProductFee { public Type: ProductFeeType; public Cost: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class StandardResponse { public Status: number; public CorrelationId: string; public Message: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/allchecks/submit/json", "POST") export class AllChecksApplicationDataRequest implements IReturn { public Application: Application; public CorrelationId: string; public NapPartyId: string; public LEID: string; public OrderId: string; public PartyIndividuals: string[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'AllChecksApplicationDataRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new StandardResponse(); } }