data-and-reporting-sdk
Version:
Data And Reporting product consists of API's which provides details of transaction and invoice informations about shell cards. The Shell Card Transaction and Invoice API is REST-based and employs Basic authentication in Version 1 and Oauth authentication
499 lines (495 loc) • 20.4 kB
text/typescript
/**
* Shell Data & Reporting APIsLib
*
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import {
array,
boolean,
lazy,
nullable,
number,
object,
optional,
Schema,
string,
} from '../schema';
import { Address, addressSchema } from './address';
import { BankAccount, bankAccountSchema } from './bankAccount';
import { CustomerContract, customerContractSchema } from './customerContract';
import { FinanceCurrency, financeCurrencySchema } from './financeCurrency';
import {
InvoiceDistributionMethod,
invoiceDistributionMethodSchema,
} from './invoiceDistributionMethod';
export interface PayerDetails {
/** Collecting company id of the customer. */
colCoId?: number | null;
/** Collecting company code of the customer. */
colCoCode?: number | null;
/** ISO code of the customer country. */
countryCode?: string | null;
/** Country of the customer */
country?: string | null;
/** Payer id of the customer */
payerId?: number | null;
/** Payer Number of the customer */
payerNumber?: string | null;
/** Full Name of the Payer */
payerFullName?: string | null;
/** Short name of the payer */
payerShortName?: string | null;
/** Payer Group Id */
payerGroupId?: number | null;
/** Invoiced amount and due for payment from the last SOA. */
amountDue?: number | null;
/** Invoiced amount and overdue for payment from the last SOA. */
amountOverdue?: number | null;
/** Invoiced amount and not overdue for payment from the last SOA. */
amountNotOverdue?: number | null;
/** Current outstanding balance amount from the last SOA. */
outstandingBalance?: number | null;
/**
* Unallocated payment.
* When negative, indicates overdue amount from the last SOA.
*/
unallocatedPayment?: number | null;
/** Currency ISO code */
sOACurrencyCode?: string | null;
/** Currency symbol */
sOACurrencySymbol?: string | null;
/** Currency ISO code */
sOACreditLimitCurrencyCode?: string | null;
/** Currency symbol */
sOACreditLimitCurrencySymbol?: string | null;
/** Currency ISO code */
lastPaymentCurrencyCode?: string | null;
/** currency symbol */
lastPaymentCurrencySymbol?: string | null;
/** Latest payment amount for the requested payer. */
lastPaymentAmount?: number | null;
/** Latest payment date for the requested payer. */
lastPaymentDate?: string | null;
/** Last payment amount in statement of account for the requested payer. */
sOALastPaymentAmount?: number | null;
/** Last payment date in statement of account for the requested payer. */
sOALastPaymentDate?: string | null;
/** Currency ISO code */
currencyCode?: string | null;
/** Currency Symbol */
currencySymbol?: string | null;
/** The 2-character ISO Code for the customer and card owning country. */
colCoCountryCode?: string | null;
/** Currency ISO code of the local country. */
localCurrencyCode?: string | null;
/** Currency Symbol of the local country */
localCurrencySymbol?: string | null;
/** Exchange rate from OU base currency to local currency. */
localCurrencyExchangeRate?: number | null;
/** Exchange rate from SoA credit limit currency to local currency */
localCurrencyExchangeRateSoA?: number | null;
/**
* Billing/Invoice frequency Identifier. Indicates the frequency in which the transactions will be considered for invoicing in a bulling run
* E.g.: 1, 2, 3, etc.
*/
billingFrequencyTypeId?: number | null;
/**
* Billing/Invoice frequency. The frequency in which the transactions will be considered for invoicing in a bulling run
* E.g.:
* 1 Daily (all days)
* 2 Daily (only working days)
* 3 Weekly - Monday
* 4 Weekly – Tuesday
* Etc.
*/
billingFrequencyType?: string | null;
/**
* Frequency at which the billing process is triggered.
* E.g.: 1, 2, 3, etc.
*/
billingRunFrequencyTypeId?: number | null;
/**
* Frequency at which the billing process is triggered.E.g.:
* 1 Daily (all days)
* 2 Daily (only working days)
* 3 Weekly - Monday
* 4 Weekly – Tuesday
* Etc.
*/
billingRunFrequnecy?: string | null;
/** The first day in a month when the billing should run in case of multiple billing runs configured with in a single month. */
day1Run?: number | null;
/** The second day in a month when the billing should run in case of multiple billing runs configured with in a single month. */
day2Run?: number | null;
/** The third day in a month when the billing should run in case of multiple billing runs configured with in a single month. */
day3Run?: number | null;
/** The fourth day in a month when the billing should run in case of multiple billing runs configured with in a single month. */
day4Run?: number | null;
invoiceDistributionMethods?: InvoiceDistributionMethod[];
/**
* Invoice output type (Id-Description)
* E.g.:
* 1-PDF
* 6-Print
*/
outputType?: string | null;
/** The Account ID of the account on which the invoice is generated. */
invoiceAccountID?: number | null;
/** The Account Number of the account on which the invoice is generated. */
invoiceAccountNumber?: string | null;
/** The Account Short Name of the account on which the invoice is generated. */
invoiceAccountShortName?: string | null;
/** Best of Indicator of the Pricing customer/account configured. */
bestOfIndicator?: boolean;
/** Whether the account is international. */
isInternational?: boolean;
/** Total number of accounts under the payer. */
totalAccounts?: number | null;
/** Total number of active accounts under the payer. */
totalActiveAccounts?: number | null;
/** Total number of cards under the payer. */
totalCards?: number | null;
/** Total number of active cards under the payer. */
totalActiveCards?: number | null;
/** Total number of cards under the payer that are permanently blocked */
totalBlockedCards?: number | null;
/** Total number of cards under the payer that are cancelled */
totalCancelledCards?: number | null;
/** Total number of expired cards under the payer. */
totalExpiredCards?: number | null;
/** Total number of Renewal Pending cards under the payer. */
totalRenewalPendingCards?: number | null;
/** Total number of cards under the payer with status as “Replaced */
totalReplacedCards?: number | null;
/** Total number of cards under the payer that are temporarily blocked by customer. */
totalTemporaryBlockCardsByCustomer?: number | null;
/** Total number of cards under the payer that are temporarily blocked by Shell. */
totalTemporaryBlockCardsByShell?: number | null;
/** Total number of cards in “New” status */
totalNewCards?: number | null;
/** Total number of cards in Fraud status */
totalFraudCards?: number | null;
/** Total number of accounts in Blocked status */
totalBlockedAccounts?: number | null;
/** Total number of accounts in Cancel status */
totalCancelledAccounts?: number | null;
/** Trading name for the Payer */
payerTradingName?: string | null;
/**
* Payer current status id and description
* e.g. (Id – Description):
* 1-Active
* 2-Requested from UTA
* 3-Awaiting embossing
* 4-Manufactured
* 5-Awaiting despatch
*/
status?: string;
/** Payer Billing Language id and description */
billingLanguage?: string | null;
/** Legal entity id and description of the Payer */
legalEntity?: string | null;
/** Payer/Company Established Date. */
dateEstablished?: string | null;
/** Payer/Company Classification id and description */
customerClassification?: string | null;
/** Payer/Company Industry class id and description */
industryClass?: string | null;
/** Marketing Segmentation id and description */
marketingSegmentation?: string | null;
/** Payer/Company Line of Business Id and Description */
lineOfBusiness?: string | null;
/**
* Is Credit Limit printed on the statement of account: True/False
* If True Credit Limit is printed on invoice/SOA
*/
printCreditLimit?: boolean;
/**
* Card Group Type configured for Payer
* e.g. (Id – Description):
* 1-Horizontal only
* 2-Vertical only
* 3-Both
*/
cardGroupType?: string | null;
/** If set to True cards will be automatically renewed on expiry */
renewCards?: boolean;
/** If set to True then Self Select PIN is allowed for Payer */
allowSelectPIN?: boolean;
/** If set to True then Fleet PIN is applied for the cards directly under payer */
useFleetPIN?: boolean;
/** Payer/Company VAT registration number. */
vATRegNumber?: string | null;
/** Payer/Company VAT registration number 2. */
vATRegNumber2?: string;
/** Payer/Company Registration number */
registrationNumber?: string | null;
/** Payer/Company Registration number2 */
registrationNumber2?: string | null;
/** Sales Ledger Balance (Billed) */
salesLedgerBalance?: number | null;
/** Exposure after guarantee */
exposure?: number | null;
/** Total outstanding debt (including billed and unbilled sales and fee items) */
outstandingDebt?: number | null;
/**
* The available credit for the payer.
* This is the credit limit minus the outstanding debt.
*/
availableCredit?: number | null;
/**
* Band Id and Description of the Payer in Card Platform.
* e.g. (Id – Description):
* 1-Platinum
* 2-Gold
* 3-Silver
* 4-Bronze
*/
band?: string | null;
/** Global Customer reference id configured in card platform for Payer (Same as Payer Group) */
globalCustomerReferenceId?: string | null;
/** Payment Credit limit of Payer. */
creditLimit?: number | null;
/**
* Credit limit in Customer currency.
* Note: For currency details refer the parameters CurrencyCode & CurrencySymbol in the PayerDetail response.
*/
creditLimitInCustomerCurrency?: number | null;
/** Customer Billing currency ISO code. */
billingCurrencyCode?: string | null;
/** Customer Billing currency Symbol. */
billingCurrencySymbol?: string | null;
/** Payment method Id and Description as configured for Payer in Card Platform */
paymentMethod?: string | null;
/** Payment terms Id and Description as configured for Payer in Card Platform */
paymentTerms?: string | null;
/** Temporary Credit limit increase value */
temporaryCreditLimitIncrease?: number | null;
/** Temporary Credit limit increase value */
temporaryCreditLimitIncreaseInCustomerCurrency?: number | null;
/** Temporary Credit limit expiry date */
temporaryCreditLimitExpiryDate?: string | null;
payerBankAccount?: BankAccount[];
cardDeliveryAddress?: Address;
correspondanceAddress?: Address;
billingAddress?: Address;
/**
* True, if the payer is setup for volume-based pricing and is active on the current date, else false.
* This field is returned only when IncludeBonusParameters is set to True in the request. Else set to null.
*/
hasActiveVolBasedPricing?: boolean;
/**
* True, if the payer is setup for volume-based bonus and is active on the current date, else false.
* This field is returned only when IncludeBonusParameters is set to True in the request. Else set to null.
*/
hasActiveVolBasedBonus?: boolean;
/**
* True, if the payer is setup for volume-based association bonus and is active on the current date, else false.
* This field is returned only when IncludeBonusParameters is set to True in the request. Else set to null.
*/
hasActiveVolBasedAssociationBonus?: boolean;
/** This entity will not be present in the response if the ‘IncludeFinanceCurrency’ flag in the request is ‘false’ */
financeCurrency?: FinanceCurrency;
/**
* Customer id in e-TM system
* This field will have value only when ReturnTollsCustomerId is set to true in the request else set to null or empty.
*/
tollsCustomerId?: string | null;
/**
* String Colco country type id in e-TM system
* This field will have value only when ReturnTollsCustomerId is set to true in the request else set to null or empty.
*/
tollsColcoCountryTypeId?: string | null;
contracts?: CustomerContract[];
}
export const payerDetailsSchema: Schema<PayerDetails> = object({
colCoId: ['ColCoId', optional(nullable(number()))],
colCoCode: ['ColCoCode', optional(nullable(number()))],
countryCode: ['CountryCode', optional(nullable(string()))],
country: ['Country', optional(nullable(string()))],
payerId: ['PayerId', optional(nullable(number()))],
payerNumber: ['PayerNumber', optional(nullable(string()))],
payerFullName: ['PayerFullName', optional(nullable(string()))],
payerShortName: ['PayerShortName', optional(nullable(string()))],
payerGroupId: ['PayerGroupId', optional(nullable(number()))],
amountDue: ['AmountDue', optional(nullable(number()))],
amountOverdue: ['AmountOverdue', optional(nullable(number()))],
amountNotOverdue: ['AmountNotOverdue', optional(nullable(number()))],
outstandingBalance: ['OutstandingBalance', optional(nullable(number()))],
unallocatedPayment: ['UnallocatedPayment', optional(nullable(number()))],
sOACurrencyCode: ['SOACurrencyCode', optional(nullable(string()))],
sOACurrencySymbol: ['SOACurrencySymbol', optional(nullable(string()))],
sOACreditLimitCurrencyCode: [
'SOACreditLimitCurrencyCode',
optional(nullable(string())),
],
sOACreditLimitCurrencySymbol: [
'SOACreditLimitCurrencySymbol',
optional(nullable(string())),
],
lastPaymentCurrencyCode: [
'LastPaymentCurrencyCode',
optional(nullable(string())),
],
lastPaymentCurrencySymbol: [
'LastPaymentCurrencySymbol',
optional(nullable(string())),
],
lastPaymentAmount: ['LastPaymentAmount', optional(nullable(number()))],
lastPaymentDate: ['LastPaymentDate', optional(nullable(string()))],
sOALastPaymentAmount: ['SOALastPaymentAmount', optional(nullable(number()))],
sOALastPaymentDate: ['SOALastPaymentDate', optional(nullable(string()))],
currencyCode: ['CurrencyCode', optional(nullable(string()))],
currencySymbol: ['CurrencySymbol', optional(nullable(string()))],
colCoCountryCode: ['ColCoCountryCode', optional(nullable(string()))],
localCurrencyCode: ['LocalCurrencyCode', optional(nullable(string()))],
localCurrencySymbol: ['LocalCurrencySymbol', optional(nullable(string()))],
localCurrencyExchangeRate: [
'LocalCurrencyExchangeRate',
optional(nullable(number())),
],
localCurrencyExchangeRateSoA: [
'LocalCurrencyExchangeRate_SoA',
optional(nullable(number())),
],
billingFrequencyTypeId: [
'BillingFrequencyTypeId',
optional(nullable(number())),
],
billingFrequencyType: ['BillingFrequencyType', optional(nullable(string()))],
billingRunFrequencyTypeId: [
'BillingRunFrequencyTypeId',
optional(nullable(number())),
],
billingRunFrequnecy: ['BillingRunFrequnecy', optional(nullable(string()))],
day1Run: ['Day1Run', optional(nullable(number()))],
day2Run: ['Day2Run', optional(nullable(number()))],
day3Run: ['Day3Run', optional(nullable(number()))],
day4Run: ['Day4Run', optional(nullable(number()))],
invoiceDistributionMethods: [
'InvoiceDistributionMethods',
optional(array(lazy(() => invoiceDistributionMethodSchema))),
],
outputType: ['OutputType', optional(nullable(string()))],
invoiceAccountID: ['InvoiceAccountID', optional(nullable(number()))],
invoiceAccountNumber: ['InvoiceAccountNumber', optional(nullable(string()))],
invoiceAccountShortName: [
'InvoiceAccountShortName',
optional(nullable(string())),
],
bestOfIndicator: ['BestOfIndicator', optional(boolean())],
isInternational: ['IsInternational', optional(boolean())],
totalAccounts: ['TotalAccounts', optional(nullable(number()))],
totalActiveAccounts: ['TotalActiveAccounts', optional(nullable(number()))],
totalCards: ['TotalCards', optional(nullable(number()))],
totalActiveCards: ['TotalActiveCards', optional(nullable(number()))],
totalBlockedCards: ['TotalBlockedCards', optional(nullable(number()))],
totalCancelledCards: ['TotalCancelledCards', optional(nullable(number()))],
totalExpiredCards: ['TotalExpiredCards', optional(nullable(number()))],
totalRenewalPendingCards: [
'TotalRenewalPendingCards',
optional(nullable(number())),
],
totalReplacedCards: ['TotalReplacedCards', optional(nullable(number()))],
totalTemporaryBlockCardsByCustomer: [
'TotalTemporaryBlockCardsByCustomer',
optional(nullable(number())),
],
totalTemporaryBlockCardsByShell: [
'TotalTemporaryBlockCardsByShell',
optional(nullable(number())),
],
totalNewCards: ['TotalNewCards', optional(nullable(number()))],
totalFraudCards: ['TotalFraudCards', optional(nullable(number()))],
totalBlockedAccounts: ['TotalBlockedAccounts', optional(nullable(number()))],
totalCancelledAccounts: [
'TotalCancelledAccounts',
optional(nullable(number())),
],
payerTradingName: ['PayerTradingName', optional(nullable(string()))],
status: ['Status', optional(string())],
billingLanguage: ['BillingLanguage', optional(nullable(string()))],
legalEntity: ['LegalEntity', optional(nullable(string()))],
dateEstablished: ['DateEstablished', optional(nullable(string()))],
customerClassification: [
'CustomerClassification',
optional(nullable(string())),
],
industryClass: ['IndustryClass', optional(nullable(string()))],
marketingSegmentation: [
'MarketingSegmentation',
optional(nullable(string())),
],
lineOfBusiness: ['LineOfBusiness', optional(nullable(string()))],
printCreditLimit: ['PrintCreditLimit', optional(boolean())],
cardGroupType: ['CardGroupType', optional(nullable(string()))],
renewCards: ['RenewCards', optional(boolean())],
allowSelectPIN: ['AllowSelectPIN', optional(boolean())],
useFleetPIN: ['UseFleetPIN', optional(boolean())],
vATRegNumber: ['VATRegNumber', optional(nullable(string()))],
vATRegNumber2: ['VATRegNumber2', optional(string())],
registrationNumber: ['RegistrationNumber', optional(nullable(string()))],
registrationNumber2: ['RegistrationNumber2', optional(nullable(string()))],
salesLedgerBalance: ['SalesLedgerBalance', optional(nullable(number()))],
exposure: ['Exposure', optional(nullable(number()))],
outstandingDebt: ['OutstandingDebt', optional(nullable(number()))],
availableCredit: ['AvailableCredit', optional(nullable(number()))],
band: ['Band', optional(nullable(string()))],
globalCustomerReferenceId: [
'GlobalCustomerReferenceId',
optional(nullable(string())),
],
creditLimit: ['CreditLimit', optional(nullable(number()))],
creditLimitInCustomerCurrency: [
'CreditLimitInCustomerCurrency',
optional(nullable(number())),
],
billingCurrencyCode: ['BillingCurrencyCode', optional(nullable(string()))],
billingCurrencySymbol: [
'BillingCurrencySymbol',
optional(nullable(string())),
],
paymentMethod: ['PaymentMethod', optional(nullable(string()))],
paymentTerms: ['PaymentTerms', optional(nullable(string()))],
temporaryCreditLimitIncrease: [
'TemporaryCreditLimitIncrease',
optional(nullable(number())),
],
temporaryCreditLimitIncreaseInCustomerCurrency: [
'TemporaryCreditLimitIncreaseInCustomerCurrency',
optional(nullable(number())),
],
temporaryCreditLimitExpiryDate: [
'TemporaryCreditLimitExpiryDate',
optional(nullable(string())),
],
payerBankAccount: [
'PayerBankAccount',
optional(array(lazy(() => bankAccountSchema))),
],
cardDeliveryAddress: [
'CardDeliveryAddress',
optional(lazy(() => addressSchema)),
],
correspondanceAddress: [
'CorrespondanceAddress',
optional(lazy(() => addressSchema)),
],
billingAddress: ['BillingAddress', optional(lazy(() => addressSchema))],
hasActiveVolBasedPricing: ['HasActiveVolBasedPricing', optional(boolean())],
hasActiveVolBasedBonus: ['HasActiveVolBasedBonus', optional(boolean())],
hasActiveVolBasedAssociationBonus: [
'HasActiveVolBasedAssociationBonus',
optional(boolean()),
],
financeCurrency: [
'FinanceCurrency',
optional(lazy(() => financeCurrencySchema)),
],
tollsCustomerId: ['TollsCustomerId', optional(nullable(string()))],
tollsColcoCountryTypeId: [
'TollsColcoCountryTypeId',
optional(nullable(string())),
],
contracts: ['Contracts', optional(array(lazy(() => customerContractSchema)))],
});