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
364 lines (360 loc) • 12.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 { FeesFeeRuleTiers, feesFeeRuleTiersSchema } from './feesFeeRuleTiers';
export interface FeeItem {
/** Fee Item unique identifier in the H3 Cards Platform */
feeItemId?: number | null;
/** Account Id */
accountId?: number | null;
/** Account Number */
accountNumber?: string | null;
/** Account short Number */
accountShortName?: string | null;
/** Invoice Account Id */
invoiceAccountId?: number | null;
/** Invoice Account Number */
invoiceAccountNumber?: string | null;
/** Invoice Account short Name */
invoiceAccountShortName?: string | null;
/** Payer Id */
payerId?: number | null;
/** Payer Number */
payerNumber?: string | null;
/** Payer short Name */
payerShortName?: string | null;
/** Unique Card Id */
cardId?: number | null;
/** Card PAN */
pAN?: string | null;
/** Card Group Id */
cardGroupId?: number | null;
/** Card Group Name */
cardGroupName?: string | null;
/** Fee type identifier. */
feeTypeId?: number | null;
/** Fee type description */
feeType?: string | null;
/**
* Fee type group in under which the Fee item is generated.
* Example:
* Account
* Card
* Others
*/
feeTypeGroup?: string | null;
/** Fee rule identifier */
feeRuleId?: number | null;
/** Fee rule description */
feeRuleDescription?: string | null;
feeRuleTiers?: FeesFeeRuleTiers[];
/**
* Local Fee Item Date of when the transaction took place
* Format: yyyyMMdd
*/
feeItemDate?: string | null;
/**
* Local Fee Item Time of where the transaction took place
* Format: HH:mm:ss (24 hours format)
*/
feeItemTime?: string | null;
/**
* True/False.
* Is manual
*/
isManual?: boolean | null;
/**
* True/False.
* Is cancelled
*/
isCancelled?: boolean | null;
/**
* ISO currency code
* Example: GBP
*/
customerCurrencyCode?: string | null;
/**
* Currency symbol of the Currency Code
* Example: £, $
*/
customerCurrencySymbol?: string | null;
/**
* Product Id
* Example: Sample list of product ids and description.
* 100 Service fee
* 102 Invoice production fee
* 103 Account fee
* 104 Transaction fee
* 105 Card membership fee
*/
productId?: number | null;
/**
* Product Code – Global as per GFN configuration
* Example:
* 2 Service fee
* 4 Invoice production fee
* 5 Account fee
* 6 Transaction fee
* 7 Card membership fee
*/
productCode?: string | null;
/**
* Product Name
* Example: Sample list of product ids and description.
* Service fee
* Invoice production fee
*/
productName?: string | null;
/**
* Product Group Id
* Example: Sample list
* 22 Card related fees
* 23 Monetary Adjustment
*/
productGroupId?: number | null;
/**
* Product Group Name
* Example: Sample list
* 22 Card related fees
* 23 Monetary Adjustment
*/
productGroupName?: string | null;
/** Line Item Description generally the quantity as printed on Invoice or the manually keyed in description for manual fees */
lineItemDescription?: string | null;
/** Quantity */
quantity?: number | null;
/**
* True/False.
* Is fee item invoiced
*/
isInvoiced?: boolean | null;
/** VAT country ISO code */
vATCountryCode?: string | null;
/** VAT country name */
vATCountryName?: string | null;
/** VAT percentage */
vATPercentage?: number | null;
/** VAT Category identifier */
vATCategoryID?: number | null;
/** VAT Category description */
vATCategoryDescription?: string | null;
/** Legislative region id */
legislativeRegionId?: number | null;
/** Legislative region name */
legislativeRegionName?: string | null;
/** System entry date */
systemEntryDate?: string | null;
/** System entry time */
systemEntryTime?: string | null;
/** ColCo net amount */
colCoNetAmount?: number | null;
/** ColCoVAT amount */
colCoVATAmount?: number | null;
/** ColCo gross amount */
colCoGrossAmount?: number | null;
/** Interim invoice id */
interimInvoiceId?: number | null;
/** Interim invoice number */
interimInvoiceNumber?: string | null;
/** Invoice id */
invoiceId?: number | null;
/** Invoice number */
invoiceNumber?: string | null;
/**
* Invoice date
* Format: yyyyMMdd
*/
invoiceDate?: string | null;
/** Customer exchange rate */
customerExchangeRate?: number | null;
/** Invoice net amount */
invoiceNetAmount?: number | null;
/** Invoice gross amount */
invoiceGrossAmount?: number | null;
/** Invoice VAT amount */
invoiceVATAmount?: number | null;
/**
* True/False.
* Reverse charge.
*/
reverseCharge?: boolean | null;
/** Original Fee Item id. */
originalFeeItemId?: number | null;
/** Original FeeItem Currency ISO code. */
originalCurrencyCode?: string | null;
/** Original FeeItem currency symbol */
originalCurrencySymbol?: string | null;
/** Original FeeItem unit price */
originalUnitPrice?: number | null;
/** Original FeeItem net amount */
originalNetAmount?: number | null;
/** Original FeeItem VAT amount */
originalVATAmount?: number | null;
/** Original FeeItem gross amount */
originalGrossAmount?: number | null;
/** Original FeeItem exchange rate */
originalExchangeRate?: number | null;
/** Original legislative region id */
originalLegislativeRegionId?: number | null;
/** Original legislative region name */
originalLegislativeRegionName?: string | null;
/**
* Fee frequency derived from Fee rules if applicable
* Returns ID-Description in one field
* Example:
* 1- Daily (all days)
* 2-Daily (only working days)
* 3-Weekly – Monday
* 4-Weekly - Tuesday
*/
frequency?: string | null;
/** Fee breakup at card level for Fee Items where applicable. */
feeItemCardLevelBreakup?: string | null;
/**
* Invoice Id/ Billing Document Id of the original fee item (when not null).
* Applicable only for fee items that are refund to an original fee item that is already invoiced.
*/
originalFeeItemInvoiceId?: number | null;
/**
* Invoice Number of the original fee item (when not null).
* Applicable only for fee items that are refund to an original fee item that is already invoiced.
*/
originalFeeItemInvoiceNumber?: string | null;
/**
* Invoice Date of the original fee item (when not null).
* Applicable only for fee items that are refund to an original fee item that is already invoiced.
* Format: yyyyMMdd
*/
originalFeeItemInvoiceDate?: string | null;
/** Driver name embossed on the Card */
driverName?: string | null;
/** Text embossed on the Card */
embossText?: string | null;
/** Reg. Number embossed on the Card */
vRN?: string | null;
}
export const feeItemSchema: Schema<FeeItem> = object({
feeItemId: ['FeeItemId', optional(nullable(number()))],
accountId: ['AccountId', optional(nullable(number()))],
accountNumber: ['AccountNumber', optional(nullable(string()))],
accountShortName: ['AccountShortName', optional(nullable(string()))],
invoiceAccountId: ['InvoiceAccountId', optional(nullable(number()))],
invoiceAccountNumber: ['InvoiceAccountNumber', optional(nullable(string()))],
invoiceAccountShortName: [
'InvoiceAccountShortName',
optional(nullable(string())),
],
payerId: ['PayerId', optional(nullable(number()))],
payerNumber: ['PayerNumber', optional(nullable(string()))],
payerShortName: ['PayerShortName', optional(nullable(string()))],
cardId: ['CardId', optional(nullable(number()))],
pAN: ['PAN', optional(nullable(string()))],
cardGroupId: ['CardGroupId', optional(nullable(number()))],
cardGroupName: ['CardGroupName', optional(nullable(string()))],
feeTypeId: ['FeeTypeId', optional(nullable(number()))],
feeType: ['FeeType', optional(nullable(string()))],
feeTypeGroup: ['FeeTypeGroup', optional(nullable(string()))],
feeRuleId: ['FeeRuleId', optional(nullable(number()))],
feeRuleDescription: ['FeeRuleDescription', optional(nullable(string()))],
feeRuleTiers: [
'FeeRuleTiers',
optional(array(lazy(() => feesFeeRuleTiersSchema))),
],
feeItemDate: ['FeeItemDate', optional(nullable(string()))],
feeItemTime: ['FeeItemTime', optional(nullable(string()))],
isManual: ['IsManual', optional(nullable(boolean()))],
isCancelled: ['IsCancelled', optional(nullable(boolean()))],
customerCurrencyCode: ['CustomerCurrencyCode', optional(nullable(string()))],
customerCurrencySymbol: [
'CustomerCurrencySymbol',
optional(nullable(string())),
],
productId: ['ProductId', optional(nullable(number()))],
productCode: ['ProductCode', optional(nullable(string()))],
productName: ['ProductName', optional(nullable(string()))],
productGroupId: ['ProductGroupId', optional(nullable(number()))],
productGroupName: ['ProductGroupName', optional(nullable(string()))],
lineItemDescription: ['LineItemDescription', optional(nullable(string()))],
quantity: ['Quantity', optional(nullable(number()))],
isInvoiced: ['IsInvoiced', optional(nullable(boolean()))],
vATCountryCode: ['VATCountryCode', optional(nullable(string()))],
vATCountryName: ['VATCountryName', optional(nullable(string()))],
vATPercentage: ['VATPercentage', optional(nullable(number()))],
vATCategoryID: ['VATCategoryID', optional(nullable(number()))],
vATCategoryDescription: [
'VATCategoryDescription',
optional(nullable(string())),
],
legislativeRegionId: ['LegislativeRegionId', optional(nullable(number()))],
legislativeRegionName: [
'LegislativeRegionName',
optional(nullable(string())),
],
systemEntryDate: ['SystemEntryDate', optional(nullable(string()))],
systemEntryTime: ['SystemEntryTime', optional(nullable(string()))],
colCoNetAmount: ['ColCoNetAmount', optional(nullable(number()))],
colCoVATAmount: ['ColCoVATAmount', optional(nullable(number()))],
colCoGrossAmount: ['ColCoGrossAmount', optional(nullable(number()))],
interimInvoiceId: ['InterimInvoiceId', optional(nullable(number()))],
interimInvoiceNumber: ['InterimInvoiceNumber', optional(nullable(string()))],
invoiceId: ['InvoiceId', optional(nullable(number()))],
invoiceNumber: ['InvoiceNumber', optional(nullable(string()))],
invoiceDate: ['InvoiceDate', optional(nullable(string()))],
customerExchangeRate: ['CustomerExchangeRate', optional(nullable(number()))],
invoiceNetAmount: ['InvoiceNetAmount', optional(nullable(number()))],
invoiceGrossAmount: ['InvoiceGrossAmount', optional(nullable(number()))],
invoiceVATAmount: ['InvoiceVATAmount', optional(nullable(number()))],
reverseCharge: ['ReverseCharge', optional(nullable(boolean()))],
originalFeeItemId: ['OriginalFeeItemId', optional(nullable(number()))],
originalCurrencyCode: ['OriginalCurrencyCode', optional(nullable(string()))],
originalCurrencySymbol: [
'OriginalCurrencySymbol',
optional(nullable(string())),
],
originalUnitPrice: ['OriginalUnitPrice', optional(nullable(number()))],
originalNetAmount: ['OriginalNetAmount', optional(nullable(number()))],
originalVATAmount: ['OriginalVATAmount', optional(nullable(number()))],
originalGrossAmount: ['OriginalGrossAmount', optional(nullable(number()))],
originalExchangeRate: ['OriginalExchangeRate', optional(nullable(number()))],
originalLegislativeRegionId: [
'OriginalLegislativeRegionId',
optional(nullable(number())),
],
originalLegislativeRegionName: [
'OriginalLegislativeRegionName',
optional(nullable(string())),
],
frequency: ['Frequency', optional(nullable(string()))],
feeItemCardLevelBreakup: [
'FeeItemCardLevelBreakup',
optional(nullable(string())),
],
originalFeeItemInvoiceId: [
'OriginalFeeItemInvoiceId',
optional(nullable(number())),
],
originalFeeItemInvoiceNumber: [
'OriginalFeeItemInvoiceNumber',
optional(nullable(string())),
],
originalFeeItemInvoiceDate: [
'OriginalFeeItemInvoiceDate',
optional(nullable(string())),
],
driverName: ['DriverName', optional(nullable(string()))],
embossText: ['EmbossText', optional(nullable(string()))],
vRN: ['VRN', optional(nullable(string()))],
});