/* Options: Date: 2024-07-06 12:32:36 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://abservice-test.worldpay.com //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: ApplicationBoarding.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using BoardingGateway.Common.Requests.Boarding; using Autoboarding.Common; using BoardingGateway.Common.Requests.Boarding.BusinessDetails; using BoardingGateway.Common.Requests.Boarding.Acquiring; using BoardingGateway.Common.Requests.Boarding.Products; using BoardingGateway.Common.Requests.Boarding.BusinessDetails.GoodsAndServices; using BoardingGateway.Common.Requests.Boarding.Products.PosProducts; using BoardingGateway.Common.Requests.Boarding.Products.EcomProducts; using BoardingGateway.Common.Requests.Boarding.Products.WptProducts; using BoardingGateway.Common.Requests.Boarding.Products.IpProducts; using BoardingGateway.Common.Requests.Orders; using Autoboarding.Common.Requests; using Autoboarding.Common.Responses; namespace Autoboarding.Common { [DataContract] public enum ApplicationBoardingStatus { PENDING = 0, IN_PROGRESS = 5, FAILED = 9, COMPLETED = 10, } [DataContract] public 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, } } namespace Autoboarding.Common.Requests { [Route("/ApplicationBoarding", "POST")] public partial class ApplicationBoarding : IReturn { public virtual Guid CorrelationId { get; set; } public virtual int Csr { get; set; } public virtual string SellerCode { get; set; } public virtual string SellerEmail { get; set; } public virtual int ApplicationSource { get; set; } public virtual Application ApplicationJson { get; set; } } } namespace Autoboarding.Common.Responses { public partial class InitiateBoardingResponse { public InitiateBoardingResponse() { ErrorMessages = new List{}; } public virtual Guid ApplicationGuid { get; set; } public virtual int CSR { get; set; } public virtual Guid? ApplicationQueueGuid { get; set; } public virtual ApplicationQueueStatus QueueStatus { get; set; } public virtual ApplicationBoardingStatus? BoardingStatus { get; set; } public virtual List ErrorMessages { get; set; } } } namespace BoardingGateway.Common.Requests.Boarding { public partial class AccessibilityOptions { public virtual bool? AudiotapeRequired { get; set; } public virtual bool? LargePrintRequired { get; set; } public virtual bool? UncontractedBrailleGrade1Required { get; set; } public virtual bool? UncontractedBrailleGrade2Required { get; set; } public virtual bool? NextGenerationTextRequired { get; set; } } public partial class Application { public virtual ApplicationDetails ApplicationDetails { get; set; } public virtual MerchantDetails MerchantDetails { get; set; } public virtual Acquiring Acquiring { get; set; } public virtual Products Products { get; set; } } public partial class ApplicationDetails { public virtual SourceSystemType SourceSystem { get; set; } public virtual string SourceSystemIdentifier { get; set; } public virtual CustomerType CustomerType { get; set; } public virtual string Csr { get; set; } public virtual Partner Partner { get; set; } public virtual string SellerCode { get; set; } public virtual PricingPackageType PricingPackage { get; set; } public virtual AuthorisedSigner ContactPerson { get; set; } public virtual string SpecialInstructions { get; set; } public virtual string OfferDetails { get; set; } public virtual DateTime DateContractAccepted { get; set; } public virtual bool? WorldpayBusinessFinanceInterest { get; set; } public virtual bool? Sar { get; set; } public virtual string SellerEmail { get; set; } public virtual DateTime? AnticipatedGoLiveDate { get; set; } public virtual AccessibilityOptions AccessibilityOptions { get; set; } public virtual string UltimateParentId { get; set; } } public enum CustomerType { New = 0, Existing = 1, None = -1, } public partial class Partner { public virtual string PartnerId { get; set; } public virtual string PartnerName { get; set; } } public enum PricingPackageType { CustomUk = 0, MonthlyUk = 1, SimplicityUk = 2, PaygUk = 3, CustomRoi = 4, PaygeComUK = 5, None = -1, } public enum SourceSystemType { MARS, ASA, OLS, INASA, } } namespace BoardingGateway.Common.Requests.Boarding.Acquiring { public partial class Acquiring { public virtual int SettlementPeriodTPlus { get; set; } public virtual Rates Rates { get; set; } public virtual Services Services { get; set; } public virtual IEnumerable TradingCurrencies { get; set; } } } namespace BoardingGateway.Common.Requests.Boarding.BusinessDetails { public partial class Address { public virtual string Address1 { get; set; } public virtual string Address2 { get; set; } public virtual string Address3 { get; set; } public virtual string Postcode { get; set; } public virtual string City { get; set; } public virtual string State { get; set; } public virtual string Countrycode { get; set; } } public partial class AuthorisedSigner : ContactPerson { public virtual DateTime? DateOfBirth { get; set; } public virtual string CountryCode { get; set; } } public partial class BankAccount { public virtual string SortCode { get; set; } public virtual string AccountNumber { get; set; } public virtual string BankName { get; set; } public virtual string BankAccountName { get; set; } } public partial class Business { public virtual string LegalName { get; set; } public virtual BusinessAddress LegalAddress { get; set; } public virtual string WebsiteAddress { get; set; } public virtual CompanyType CompanyType { get; set; } public virtual string CompanyTypeOther { get; set; } public virtual string CompanyRegistrationNumber { get; set; } public virtual string CharityNumber { get; set; } public virtual string MerchantCategoryCode { get; set; } public virtual string MerchantCategoryDescription { get; set; } public virtual string DescriptionOfGoodsAndServices { get; set; } public virtual string VatNumber { get; set; } public virtual DateTime? DateStartedTrading { get; set; } public virtual string CountryOfIncorporation { get; set; } public virtual string RegionOfIncorporation { get; set; } public virtual Financials Financials { get; set; } public virtual bool NewToCards { get; set; } public virtual TradeAssociation TradeAssociation { get; set; } } public partial class BusinessAddress : Address { public virtual bool? IsCommercial { get; set; } } public partial class ClearingDetails { public virtual string MerchantUrl { get; set; } public virtual string Telephone { get; set; } public virtual string Email { get; set; } } public enum CompanyType { SoleTrader, Partnership, LimitedCompany, Trust, RegisteredCharity, PublicLimitedCompany, LimitedByGuarantee, ClubSocietyAssociation, CommunityInterestCompanyOrIndustrialProvident, LimitedLiabilityPartnership, Other, } public partial class ContactPerson { public virtual string Title { get; set; } public virtual string FirstName { get; set; } public virtual string MiddleName { get; set; } public virtual string LastName { get; set; } public virtual string TelephoneNumber { get; set; } public virtual string AltTelephoneNumber { get; set; } public virtual string Email { get; set; } public virtual string Position { get; set; } public virtual PreferredContactMethodType PreferredContactMethod { get; set; } public virtual string PreferredContactBestTime { get; set; } } public partial class Financials { public virtual decimal Annual { get; set; } public virtual decimal CardPercentage { get; set; } public virtual decimal CreditCardPercentage { get; set; } public virtual decimal AverageTransactionValue { get; set; } } public partial class MerchantDetails { public virtual Business Business { get; set; } public virtual IEnumerable Principals { get; set; } public virtual IEnumerable Outlets { get; set; } public virtual GoodsAndServices GoodsAndServices { get; set; } } public partial class Outlet { public virtual string TradingName { get; set; } public virtual BusinessAddress TradingAddress { get; set; } public virtual ContactPerson ContactPerson { get; set; } public virtual BusinessAddress TerminalDeliveryAddress { get; set; } public virtual BusinessAddress CorrespondenceAddress { get; set; } public virtual BankAccount SettlementBankAccount { get; set; } public virtual BankAccount ChargesBankAccount { get; set; } public virtual string DirectDebitCorrespondenceEmail { get; set; } public virtual ClearingDetails ClearingDetails { get; set; } public virtual IEnumerable ProductAllocation { get; set; } } public partial class OutletAllocatedProduct { public virtual int Id { get; set; } public virtual int Quantity { get; set; } } public enum PreferredContactMethodType { Email, Telephone, Any, } public partial class Principal { public virtual string Title { get; set; } public virtual string FirstName { get; set; } public virtual string MiddleName { get; set; } public virtual string LastName { get; set; } public virtual DateTime DateOfBirth { get; set; } public virtual string Nationality { get; set; } public virtual IEnumerable HomeAddresses { get; set; } public virtual decimal OwnershipPercentage { get; set; } public virtual PositionType Position { get; set; } public virtual bool? IsFinancialController { get; set; } } public partial class TradeAssociation { public virtual string GroupName { get; set; } public virtual string MemberNumber { get; set; } } } namespace BoardingGateway.Common.Requests.Boarding.BusinessDetails.GoodsAndServices { public partial class GoodsAndServices { public virtual bool? GoodsProvidedByThirdParty { get; set; } public virtual Deposits Deposits { get; set; } public virtual WarrantiesAndGuarantees WarrantiesAndGuarantees { get; set; } public virtual Prepayments Prepayments { get; set; } public virtual MembershipsSubscriptionAndInsurancePremiums MembershipsSubscriptionAndInsurancePremiums { get; set; } public virtual Address StockHeldAtAnotherAddressLocation { get; set; } } } namespace BoardingGateway.Common.Requests.Boarding.Products { public partial class ProductFee { public virtual ProductFeeType Type { get; set; } public virtual decimal Cost { get; set; } } public partial class Products { public virtual PosProducts PosProducts { get; set; } public virtual EcomProducts EcomProducts { get; set; } public virtual WptProducts WptProducts { get; set; } public virtual IpProducts IpProducts { get; set; } } } namespace BoardingGateway.Common.Requests.Boarding.Products.EcomProducts { public partial class EcomOption { public virtual EcomOptionType Type { get; set; } public virtual IEnumerable RelatedFees { get; set; } } public enum EcomOptionType { Paypal, FuturePay, RMM, } public partial class EcomProduct { public virtual int Id { get; set; } public virtual EcomProductType Type { get; set; } public virtual int Quantity { get; set; } public virtual IEnumerable RelatedFees { get; set; } public virtual IEnumerable Options { get; set; } } public partial class EcomProductOption { public virtual EcomProductOptionType Type { get; set; } public virtual string Value { get; set; } } public enum EcomProductOptionType { PSP, FreeTransactions, } public partial class EcomProducts { public virtual int? Term { get; set; } public virtual int? RenewalLength { get; set; } public virtual IEnumerable Products { get; set; } public virtual IEnumerable Options { get; set; } } public enum EcomProductType { Gateway, VirtualTerminal, PayByLink, EcomMidOnly, } } namespace BoardingGateway.Common.Requests.Boarding.Products.IpProducts { public partial class IpProduct { public virtual int Id { get; set; } public virtual IpProductType Type { get; set; } public virtual int Quantity { get; set; } public virtual IEnumerable RelatedFees { get; set; } public virtual IpVariantType? Variant { get; set; } } public partial class IpProducts { public virtual int? Term { get; set; } public virtual int? RenewalLength { get; set; } public virtual IntegratedSolutionProvider IntegratedSolutionProvider { get; set; } public virtual IEnumerable Products { get; set; } } public enum IpProductType { PaxA920, MiuraM020, } public enum IpVariantType { Sdk, Cloud, None, } } namespace BoardingGateway.Common.Requests.Boarding.Products.PosProducts { public partial class PosProduct { public virtual int Id { get; set; } public virtual PosProductType Type { get; set; } public virtual int Quantity { get; set; } public virtual IEnumerable RelatedFees { get; set; } public virtual IEnumerable Options { get; set; } } public partial class PosProductOption { public virtual PosProductOptionType Type { get; set; } public virtual string Value { get; set; } } public enum PosProductOptionType { PSP, } public partial class PosProducts { public virtual int? Term { get; set; } public virtual int? RenewalLength { get; set; } public virtual IEnumerable Products { get; set; } } public enum PosProductType { Mobile, Wifi, Bluetooth, Fixed, PosMidOnly, } } namespace BoardingGateway.Common.Requests.Boarding.Products.WptProducts { public partial class IntegratedSolutionProvider { public virtual string Name { get; set; } public virtual Address Address { get; set; } public virtual string Telephone { get; set; } public virtual IspContact PrimaryContact { get; set; } public virtual IspContact TechnicalContact { get; set; } public virtual string ProviderType { get; set; } public virtual string ProviderSoftware { get; set; } } public partial class IspContact { public virtual string Title { get; set; } public virtual string FirstName { get; set; } public virtual string LastName { get; set; } public virtual string Position { get; set; } public virtual string EmailAddress { get; set; } } public partial class WptProduct { public virtual WptProductType Type { get; set; } public virtual int Id { get; set; } public virtual WptVariantType? Variant { get; set; } public virtual int Quantity { get; set; } public virtual IEnumerable RelatedFees { get; set; } } public partial class WptProducts { public virtual int? Term { get; set; } public virtual int? RenewalLength { get; set; } public virtual DateTime PosInstallationDate { get; set; } public virtual IntegratedSolutionProvider IntegratedSolutionProvider { get; set; } public virtual IEnumerable Products { get; set; } } public enum WptProductType { VerifoneP400, IngenicoWL258, VerifoneV240, } public enum WptVariantType { Serial, Usb, Ethernet, None, } } namespace BoardingGateway.Common.Requests.Orders { public partial class AccessibilityOptions { public virtual bool? AudiotapeRequired { get; set; } public virtual bool? LargePrintRequired { get; set; } public virtual bool? UncontractedBrailleGrade1Required { get; set; } public virtual bool? UncontractedBrailleGrade2Required { get; set; } public virtual bool? NextGenerationTextRequired { get; set; } } public partial class Acquiring { public virtual int SettlementPeriod { get; set; } public virtual string FundingMode { get; set; } public virtual Rates Rates { get; set; } public virtual IEnumerable TradingCurrencies { get; set; } } public partial class Address { public virtual string Address1 { get; set; } public virtual string Address2 { get; set; } public virtual string Address3 { get; set; } public virtual string Postcode { get; set; } public virtual string City { get; set; } public virtual string State { get; set; } public virtual string CountryCode { get; set; } } public partial class AuthorisedSigner : Contact { public virtual DateTime? DateOfBirth { get; set; } public virtual string CountryCode { get; set; } } public partial class BankAccount { public virtual string SortCode { get; set; } public virtual string AccountNumber { get; set; } public virtual string BankName { get; set; } public virtual string BankAccountName { get; set; } public virtual string SwiftCode { get; set; } public virtual string InternationalBankAccountNumber { get; set; } } public partial class ClearingDetails { public virtual string MerchantUrl { get; set; } public virtual string Telephone { get; set; } public virtual string Email { get; set; } } public partial class Financials { public virtual decimal Annual { get; set; } public virtual decimal CardPercentage { get; set; } public virtual decimal CreditCardPercentage { get; set; } public virtual decimal AverageTransactionValue { get; set; } public virtual decimal? CardNotPresentPercentage { get; set; } } public partial class GoodsAndServices { public virtual bool? GoodsProvidedByThirdParty { get; set; } public virtual Deposits Deposits { get; set; } public virtual WarrantiesAndGuarantees WarrantiesAndGuarantees { get; set; } public virtual Prepayments Prepayments { get; set; } public virtual MembershipsSubscriptionAndInsurancePremiums MembershipsSubscriptionAndInsurancePremiums { get; set; } public virtual Address StockHeldAtAnotherAddressLocation { get; set; } } public partial class Partner { public virtual string PartnerName { get; set; } public virtual string PartnerId { get; set; } } public partial class Principal : Person { public virtual string Position { get; set; } public virtual bool IsFinancialController { get; set; } public virtual DateTime DateOfBirth { get; set; } public virtual string Nationality { get; set; } public virtual decimal OwnershipPercentage { get; set; } public virtual IEnumerable HomeAddresses { get; set; } public virtual IEnumerable PrincipalIdDocuments { get; set; } } public partial class ProductFee { public virtual string Type { get; set; } public virtual decimal Cost { get; set; } public virtual string BillingParty { get; set; } } public partial class TradeAssociation { public virtual string GroupName { get; set; } public virtual string MemberNumber { get; set; } } }