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
165 lines (161 loc) • 5.89 kB
text/typescript
/**
* Shell Data & Reporting APIsLib
*
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import {
boolean,
nullable,
number,
object,
optional,
Schema,
string,
} from '../schema';
export interface BonusHistory {
/** Payer Id */
payerId?: number | null;
/** Payer Number of the selected payer */
payerNumber?: string | null;
/** Payer short name. */
payerShortName?: string | null;
/** Payer full name. */
payerFullName?: string | null;
/** Account Id */
accountId?: number | null;
/** Account Number of the selected payer. */
accountNumber?: string | null;
/** Account short name. */
accountShortName?: string | null;
/** Account full name. */
accountFullName?: string | null;
/** Invoice Account Id */
invoiceAccountId?: number | null;
/** Invoice Account Number of the selected payer. */
invoiceAccountNumber?: string | null;
/** Invoice Account short name. */
invoiceAccountShortName?: string | null;
/** Invoice Account full name. */
invoiceAccountFullName?: string | null;
/** Bonus or association bonus configuration identifier */
feeRuleId?: string | null;
/** Bonus or association bonus configuration description that is associated to the bonus fee item */
feeRuleDescription?: string | null;
/**
* Bonus was calculated from this date.
* Format: YYYYMMDD
*/
fromDate?: string | null;
/**
* Bonus was calculated till this date.
* Format: YYYYMMDD
*/
toDate?: string | null;
/**
* Specifies how the bonus was paid back.
* Format: ID-Description
* Example:
* 1-Pay to Payer
* 2-Pay to invoice levels before the payer
* 3-Pay to specific customer
* 4-Pay to Association Customer
* 5-Pay to Associated Customers
*/
bonusPaidTo?: string | null;
/** Bonus fee item identifier. */
feeItemId?: number | null;
/**
* Fee Rule Basis of the bonus fee item.
* Format: ID-Description
* Example:
* 1-Currency Per Unit
* 2-Percentage of Uplift
* 3-Lump Sum
*/
feeRuleBasis?: string | null;
/**
* ISO currency code of the currency in which Bonus is paid.
* Example: GBP
*/
feeItemCurrencyCode?: string | null;
/** Currency symbol of the currency in which Bonus is paid. */
feeItemCurrencySymbol?: string | null;
/** Prorated volume considered under the account as configured for the bonus association. */
proratedVolume?: number | null;
/** Total volume considered for calculating the bonus. */
totalVolume?: number | null;
/**
* Product as shown in the invoice for the bonus paid.
* Format: ID-Description
* Example: 1562-Bonus diesel Shell Netherlands on agreed site(s)
*/
feeProduct?: string | null;
/** Gross Amount – Bonus Paid including VAT as shown on the Invoice */
invoiceGrossAmount?: number | null;
/** Net Amount – Bonus Paid excluding VAT as shown on the Invoice */
invoiceNetAmount?: number | null;
/** VAT calculated for the bonus paid as shown on the Invoice */
invoiceVATAmount?: number | null;
/**
* True/False
* True if bonus is generated but cancelled. When true, consider this as not paid.
*/
isFeeCancelled?: boolean | null;
/** Prorated volume in the bonus fee item tier. */
feeItemTierProratedVolume?: number | null;
/** Total volume in the bonus fee item tier. */
feeItemTierTotalVolume?: number | null;
/** Tier minimum value considered for calculation */
tierMinimum?: number | null;
/** Tier rate considered for calculation */
tierRate?: number | null;
}
export const bonusHistorySchema: Schema<BonusHistory> = object({
payerId: ['PayerId', optional(nullable(number()))],
payerNumber: ['PayerNumber', optional(nullable(string()))],
payerShortName: ['PayerShortName', optional(nullable(string()))],
payerFullName: ['PayerFullName', optional(nullable(string()))],
accountId: ['AccountId', optional(nullable(number()))],
accountNumber: ['AccountNumber', optional(nullable(string()))],
accountShortName: ['AccountShortName', optional(nullable(string()))],
accountFullName: ['AccountFullName', optional(nullable(string()))],
invoiceAccountId: ['InvoiceAccountId', optional(nullable(number()))],
invoiceAccountNumber: ['InvoiceAccountNumber', optional(nullable(string()))],
invoiceAccountShortName: [
'InvoiceAccountShortName',
optional(nullable(string())),
],
invoiceAccountFullName: [
'InvoiceAccountFullName',
optional(nullable(string())),
],
feeRuleId: ['FeeRuleId', optional(nullable(string()))],
feeRuleDescription: ['FeeRuleDescription', optional(nullable(string()))],
fromDate: ['FromDate', optional(nullable(string()))],
toDate: ['ToDate', optional(nullable(string()))],
bonusPaidTo: ['BonusPaidTo', optional(nullable(string()))],
feeItemId: ['FeeItemId', optional(nullable(number()))],
feeRuleBasis: ['FeeRuleBasis', optional(nullable(string()))],
feeItemCurrencyCode: ['FeeItemCurrencyCode', optional(nullable(string()))],
feeItemCurrencySymbol: [
'FeeItemCurrencySymbol',
optional(nullable(string())),
],
proratedVolume: ['ProratedVolume', optional(nullable(number()))],
totalVolume: ['TotalVolume', optional(nullable(number()))],
feeProduct: ['FeeProduct', optional(nullable(string()))],
invoiceGrossAmount: ['InvoiceGrossAmount', optional(nullable(number()))],
invoiceNetAmount: ['InvoiceNetAmount', optional(nullable(number()))],
invoiceVATAmount: ['InvoiceVATAmount', optional(nullable(number()))],
isFeeCancelled: ['IsFeeCancelled', optional(nullable(boolean()))],
feeItemTierProratedVolume: [
'FeeItemTierProratedVolume',
optional(nullable(number())),
],
feeItemTierTotalVolume: [
'FeeItemTierTotalVolume',
optional(nullable(number())),
],
tierMinimum: ['TierMinimum', optional(nullable(number()))],
tierRate: ['TierRate', optional(nullable(number()))],
});