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
273 lines (269 loc) • 9.19 kB
text/typescript
/**
* Shell Data & Reporting APIsLib
*
* This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import {
boolean,
lazy,
number,
object,
optional,
Schema,
string,
} from '../schema';
import { Accounts, accountsSchema } from './accounts';
export interface PriceTransSummaryRequest {
/**
* Collecting Company Id of the selected payer.
* Optional if ColCoCode is passed else Mandatory.
* Example:
* 1 for Philippines
* 5 for UK
*/
colCoId?: number;
/**
* Collecting Company Code of the selected payer.
* Mandatory for serviced OUs such as Romania, Latvia, Lithuania, Estonia, Ukraine etc. It is optional for other countries if ColCoID is provided.
* Example:
* 86 for Philippines
* 5 for UK
*/
colCoCode?: number;
/**
* Payer Id of the selected payer.
* Optional if PayerNumber is passed else Mandatory
*/
payerId?: number;
/**
* Payer Number (Ex: GB000000123) of the selected payer.
* Optional if PayerId is passed else Mandatory
* Example: GB000000123
*/
payerNumber?: string;
accounts?: Accounts;
/**
* Card Id (i.e. Unique Card Id in GFN)
* Optional
* When both Card Id and Card PAN are not present on request, the response will have transactions of all cards under the selected payer or account
*/
cardId?: number;
/**
* Full Card PAN
* Optional
* When both Card Id and Card PAN are not present on request, the response will have transactions of all cards under the selected payer or account.
*/
cardPAN?: string;
/**
* Driver Name (of Card record)
* Optional
* Minimum of 4 characters should be provided else not considered
* Transactions of the card having the entered value at any part of the Driver Name will be returned
*/
driverName?: string;
/**
* Vehicle Registration (of Card record)
* Optional
* Minimum of 4 characters should be provided else not considered
* Transactions of the card having the entered value at any part of the VRN will be returned
*/
vehicleRegistrationNumber?: string;
/**
* Invoice status of the transactions.
* Mandatory
* Possible options:
* I - Invoiced
* U – Un-Invoiced
* A – All
*/
invoiceStatus?: string;
/**
* Product Id
* Example:
* 21 Unleaded - High octane
* 22 Unleaded - Medium octane
* 23 Unleaded - Low octane
* 24 Unleaded Environmental
*/
productId?: number;
/**
* Product Code – Global as per GFN configuration
* Optional
* Max Length: 8
* Example:
* 10 TMF Charges
* 11 Tunnel/Bridges
* 12 Motorway toll
* 13 Ferries
*/
productCode?: string;
/**
* ISO Country Code (ex: UK, FR)
* Note: If IncludeFees is true then this filter will be ignored
*/
purchasedInCountry?: string;
/** Card Group Id in GFN */
cardGroupId?: number;
/**
* Transactions from Date/Time.
* Optional – When provided, it should be with in last 24 months.
* Format: yyyyMMdd
*/
fromDate?: string;
/**
* Transactions to Date/Time.
* Optional- Refer introduction section of this operation for the priority and sequence of different date and invoice number filters that are conditionally applied.
* Note:
* 1) When the value is blank and FromDate is provided on the input, all transactions took place 210(Configurable) days after the given FromDate is returned.
* 2) Difference between FromDate and ToDate cannot be more than 210 (Configurable) days.
* Format: yyyyMMdd
*/
toDate?: string;
/**
* Transactions Period.
* Possible values are:
* 1. Last 7 Days
* 2. Last 30 Days
* 3. Last 90 Days
* Optional - Refer introduction section of this operation for the priority and sequence of different date and invoice number filters that are conditionally applied.
*/
period?: number;
/**
* Site Code as configured in GFN
* Example:
* 050001 - CHARNOCK RICHARD NTHBOUND MWSA 0755
* 050002 - CHARNOCK RICHARD STHBOUND MWSA 0755
* 050005 - HARTSHEAD MOOR EASTBOUND MWSA 0761.
* 050006 - HARTSHEAD MOOR WESTBOUND MWSA.
* Note: If IncludeFees is true then this filter will be ignored
*/
siteCode?: string;
/**
* Site Group Id in GFN
* Optional
* Example: 202
* Note: If IncludeFees is true then this filter will be ignored
*/
siteGroupId?: number;
/**
* Transaction Posting Date/time in the Cards Platform - From Date/time.
* Note:
* 1) When the value of both PostingDateFrom and PostingDateTo are present in the request then the value of PostingDateFrom must be less than PostingDateTo.
* 2) If IncludeFees is true then this filter will be ignored
* Format: yyyyMMdd HH:mm:ss
*/
postingDateFrom?: string;
/**
* Transaction Posting Date/time in the Cards Platform – To Date/time.
* Note:
* 1) If IncludeFees is true then this filter will be ignored.
* 2) When the value of both PostingDateFrom and PostingDateTo are present in the request then the value of PostingDateFrom must be less than PostingDateTo.
* Format: yyyyMMdd HH:mm:ss
*/
postingDateTo?: string;
/**
* Unique SalesItemId (Either Billed on Unbilled)
* Optional
* Note: If IncludeFees is true then this filter will be ignored
*/
salesItemId?: string;
/**
* Unique Transaction Id
* Optional
* Note: If IncludeFees is true then this filter will be ignored
*/
transactionId?: string;
/**
* Invoice Date.
* Optional
* Note:
* 1) If value is not blank then the system will ignore the InvoiceStatus parameter and it will return all the billed transactions for the given invoice date.
* Format: yyyyMMdd
*/
invoiceDate?: string;
/**
* Invoice Number.
* Optional
* Note:
* 1) If value is not blank then the system will ignore the InvoiceStatus parameter and it will return all the billed transactions for the given invoice date.
*/
invoiceNumber?: string;
/**
* True/False
* Optional
* Default value: True.
* When passed as ‘True’ the transactions records with report date not equal to 9999-12-30 will be returned.
* When passed as ‘False’ the above condition will not be checked.
*/
validInvoiceDateOnly?: boolean;
/**
* Start date for transaction search by invoice date.
* Optional
* Note:
* 1) Value should be with in last 24 months (if provided).
* 2) Maximum of 90(Configurable) day’s duration allowed per search.
* 3) When provided, InvoiceFromDate has to be less than or equal to InvoiceToDate.
* Format: yyyyMMdd
*/
invoiceFromDate?: string;
/**
* End date for transaction search by invoice date.
* Optional
* Note:
* 1) When InvoiceFromDate is provided and InvoiceToDate is null, then InvoiceToDate will be calculated as (InvoiceFromDate + 90 days) or (CurrentDate) whichever is lesser.
* Format: yyyyMMdd
*/
invoiceToDate?: string;
/**
* True/False
* Optional
* Default value: False.
* When passed as ‘True’ Only returned records with Fuel transactions.
* When passed as ‘False’ the above condition will not be checked.
*/
fuelOnly?: boolean;
/**
* True/False
* Optional
* Default value: False
* When passed as ‘True’ then ignore few filters, all sales items along with fees included on the same response
*/
includeFees?: boolean;
}
export const priceTransSummaryRequestSchema: Schema<PriceTransSummaryRequest> = object(
{
colCoId: ['ColCoId', optional(number())],
colCoCode: ['ColCoCode', optional(number())],
payerId: ['PayerId', optional(number())],
payerNumber: ['PayerNumber', optional(string())],
accounts: ['Accounts', optional(lazy(() => accountsSchema))],
cardId: ['CardId', optional(number())],
cardPAN: ['CardPAN', optional(string())],
driverName: ['DriverName', optional(string())],
vehicleRegistrationNumber: [
'VehicleRegistrationNumber',
optional(string()),
],
invoiceStatus: ['InvoiceStatus', optional(string())],
productId: ['ProductId', optional(number())],
productCode: ['ProductCode', optional(string())],
purchasedInCountry: ['PurchasedInCountry', optional(string())],
cardGroupId: ['CardGroupId', optional(number())],
fromDate: ['FromDate', optional(string())],
toDate: ['ToDate', optional(string())],
period: ['Period', optional(number())],
siteCode: ['SiteCode', optional(string())],
siteGroupId: ['SiteGroupId', optional(number())],
postingDateFrom: ['PostingDateFrom', optional(string())],
postingDateTo: ['PostingDateTo', optional(string())],
salesItemId: ['SalesItemId', optional(string())],
transactionId: ['TransactionId', optional(string())],
invoiceDate: ['InvoiceDate', optional(string())],
invoiceNumber: ['InvoiceNumber', optional(string())],
validInvoiceDateOnly: ['ValidInvoiceDateOnly', optional(boolean())],
invoiceFromDate: ['InvoiceFromDate', optional(string())],
invoiceToDate: ['InvoiceToDate', optional(string())],
fuelOnly: ['FuelOnly', optional(boolean())],
includeFees: ['IncludeFees', optional(boolean())],
}
);