Receipts v4 - Supported Receipt Types
Receipts can be any of the following types
See the schema documentation below for the specifications of each type, plus the various schemas that are shared components of each receipt schema. Property names mentioned in bold italics are required fields.
Address
Property Name |
Type |
Format |
Description |
streetAddress |
string |
N/A |
|
addressLocality |
string |
N/A |
City |
addressRegion |
string |
^[a-zA-Z0-9]{1,3}$ |
1 to 3 character country subdivision code as defined in ISO 3166-2:2013 |
addressCountry |
string |
country-code |
2 or 3 character country code as defined in ISO 3166-1:2013 |
postalCode |
string |
N/A |
|
Air Receipt
Schema for airline receipts.
Property Name |
Type |
Format |
Description |
itineraryLocator |
string |
^(?!\s*$).+ |
Unique ID of an itinerary (also know as a trip) in Concur’s Itinerary Service. An itinerary can contain one or more bookings from various sources. |
tickets |
array |
tickets |
Air tickets issued. |
lineItems |
array |
lineItems |
Ancillary airline fees. |
Tickets
Property Name |
Type |
Format |
Description |
number |
string |
N/A |
Ticket number issued by the airline when the payment is made. Ticket numbers are globally unique for all IATA carriers. The first 3 digits identify the airline. The three digit code for each airline can be found here. For example the ticket number for American Airlines where 001 is the airline: 0012375432602. |
recordLocator |
string |
N/A |
Confirmation identifier for the ticket created by the airline. For most airlines this is a 6 character alphanumeric code that is unique for a short period of time and could be reused in the future. |
issueDateTime |
string |
date-time |
Date and time the ticket was issued. |
pseudoCityCode |
string |
^[a-zA-Z]{3}$ |
IATA city code the ticket was issued from. For example, SEA for Seattle. |
IATAAgencyNumber |
string |
^[0-9]{8}$ |
Identifying number assigned by the IATA to the agency issuing the ticket. |
agencyName |
string |
N/A |
Name of the agency issuing the ticket. |
passengerName |
string |
N/A |
Name of the passenger associated with the ticket. |
coupons |
array |
coupons |
Flights issued within this transaction. |
Coupons
Property Name |
Type |
Format |
Description |
originationAirportIATACode |
string |
^[a-zA-Z]{3}$ |
IATA airport code of the flight’s origin. |
originationDateTime |
string |
date-time |
Date and time of origin. |
destinationAirportIATACode |
string |
^[a-zA-Z]{3}$ |
IATA airport code of the flight’s destination. |
destinationDateTime |
string |
date-time |
Date and time of destination. |
flightNumber |
string |
N/A |
Flight identifier. |
couponNumber |
string |
^(?!\s*$).+ |
Identifier associated with the given coupon. |
operatingAirlineCode |
string |
^[a-zA-Z]{2}$ |
IATA code of the airline operating the flight. |
marketingCarrier |
string |
^[a-zA-Z0-9]{3,8}$ |
Flight designator booking the flight. |
operatingCarrier |
string |
^[a-zA-Z0-9]{3,8}$ |
Flight designator operating the flight. |
classOfServiceCode |
string |
^[a-zA-Z]$ |
Class of service per the airline’s class of service codes. Most airlines use the same codes but some airlines have custom codes. |
fareBasisCode |
string |
^[a-zA-Z0-9]{2,8}$ |
Rate code the airline used to calculate the fare for this flight. |
ticketDesignatorCode |
string |
^[a-zA-Z0-9*?]{1,10}$ |
A valid ticket designator code to indicate what type of discount is applied, such as for a child or infant, or airline employee. This is a 1 to 10 alphanumeric code and can optionally include a single asterisk. Ticket designators are free-form text codes which help identify ticket types. Airlines determine which ticket designators they will use as no standards currently exist. |
fare |
string |
^[-]?\d*.?\d+$ |
Fare charged for the flight. |
taxes |
array |
Taxes |
Schema for objects that make up an array of taxes. Used in most receipt types. |
lineItems |
array |
lineItems |
Line Items/fees specific to a leg of the trip. Eg. Baggage fees, class of service fees, priority boarding, meals. |
Definitions
Property Name |
Type |
Format |
Description |
IATAAirportCode |
string |
^[a-zA-Z]{3}$ |
3-letter IATA code for an airport. |
IATAAirlineCode |
string |
^[a-zA-Z]{2}$ |
2-letter code for an airline. |
IATACityCode |
string |
^[a-zA-Z]{3}$ |
3-letter IATA city code. For example, SEA for Seattle. |
IATAAgencyNumber |
string |
^[0-9]{8}$ |
8-character ID number assigned by the IATA to an agency. |
flightDesignator |
string |
^[a-zA-Z0-9]{3,8}$ |
|
classOfServiceCode |
string |
^[a-zA-Z]$ |
|
fareBasisCode |
string |
^[a-zA-Z0-9]{2,8}$ |
|
ticketDesignatorCode |
string |
^[a-zA-Z0-9*?]{1,10}$ |
|
Car Rental Receipt
Schema for car rentals. This does not include ride services or taxis.
Property Name |
Type |
Format |
Description |
itineraryLocator |
string |
^(?!\s*$).+ |
Unique ID of an itinerary (also know as a trip) in Concur’s Itinerary Service. An itinerary can contain one or more bookings from various sources. |
segmentLocator |
string |
^(?!\s*$).+ |
Unique ID of a single travel event in Concur’s Itinerary Service. An itinerary can contain one or more bookings and each booking can contain one or more segments. The segmentLocator uniquely identifies an event like a car rental with a specific start and end date or a single air segment/sector. |
startDateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
endDateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
pickupLocation |
object |
Location |
Schema representing a location, including geographical information and a postal address. Used in multiple receipt types. |
dropoffLocation |
object |
Location |
Schema representing a location, including geographical information and a postal address. Used in multiple receipt types. |
rentalDays |
integer |
N/A |
Total number of days for which the car was rented. |
rentalAgreementNumber |
string |
N/A |
Agreement identifier. |
confirmationNumber |
string |
N/A |
Booking confirmation identifier. |
vehicle |
object |
vehicle |
|
driverName |
string |
N/A |
Name of the driver/renter of the vehicle. |
distance |
object |
distance |
Distance traveled. |
odometerReadingOut |
number |
N/A |
Odometer reading at the start of the rental period. A number with up to one decimal place is expected. |
odometerReadingIn |
number |
N/A |
Odometer reading at the end of the rental period. A number with up to one decimal place is expected. |
additionalDriver |
boolean |
N/A |
Additional approved driver (true) or not (false). |
lineItems |
array |
lineItems |
Break down of all car rental charges. This could include daily rate, fees, insurance, GPS rental and other add-ons. |
Vehicle
Property Name |
Type |
Format |
Description |
registrationNumber |
string |
N/A |
Registration or license plate identifier. |
description |
string |
N/A |
Vehicle description, including year, make and model. |
classReservedCode |
string |
^[a-zA-Z]{4}$ |
Four-letter Association of Car Rental Industry Systems Standard (ACRISS) car code. |
classRentedCode |
string |
^[a-zA-Z]{4}$ |
Actual vehicle rented ACRISS identifier. |
classChargedCode |
string |
^[a-zA-Z]{4}$ |
Car class code actually charged to the user. |
engineSize |
string |
^[0-9]{1,4}$ |
Engine displacement in cubic centimeters. |
Definitions
Property Name |
Type |
Format |
Description |
acrissCarCode |
string |
^[a-zA-Z]{4}$ |
Four-letter Association of Car Rental Industry Systems Standard (ACRISS) car code. |
engineSize |
string |
^[0-9]{1,4}$ |
Engine displacement in cubic centimeters. |
Common Definitions
Shared definitions that are utilized in multiple receipt types.
Definitions
Property Name |
Type |
Format |
Description |
dateTime |
string |
date-time |
The dateTime validation validates for a subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; This is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
duration |
string |
^(-)?P(?:(-?[0-9,.])Y)?(?:(-?[0-9,.])M)?(?:(-?[0-9,.])W)?(?:(-?[0-9,.])D)?(?:T(?:(-?[0-9,.])H)?(?:(-?[0-9,.])M)?(?:(-?[0-9,.]*)S)?)?$ |
Duration of a time interval as defined in ISO 8601 |
nonEmptyString |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
addressRegion |
string |
^[a-zA-Z0-9]{1,3}$ |
1 to 3 character country subdivision code as defined in ISO 3166-2:2013 |
addressCountry |
string |
country-code |
2 or 3 character country code as defined in ISO 3166-1:2013 |
currency |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
currencyCode |
string |
currency-code |
3-letter currency code as defined in ISO 4217 |
latitude |
number |
N/A |
Numeric latitude value between -90 and 90 |
longitude |
number |
N/A |
Numeric longitude value between -180 and 180 |
positiveInteger |
integer |
N/A |
Positive integer value of at least 1 |
positiveNumber |
number |
N/A |
Positive number value of at least 0 |
negativeCurrency |
string |
^[-]\d*.?\d+$ |
String representing a negative amount of money, normally used for a discount. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
Distance
Property Name |
Type |
Format |
Description |
totalDistance |
number |
N/A |
|
unit |
N/A |
N/A |
Can be any of the following values: mi, km |
Discount
Schema for discounts, such as coupons or discount codes, that could be part of a transaction.
Property Name |
Type |
Format |
Description |
discountName |
string |
N/A |
The name of the discount. |
discountCode |
string |
N/A |
The code for the discount. |
discountRate |
string |
N/A |
The percentage of discount provided. |
discountAmount |
string |
^[-]\d*.?\d+$ |
String representing a negative amount of money, normally used for a discount. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
General Receipt
General receipt type for transactions that do not fall under one of the more specific receipt types. This might include retail stores or restaurants.
Property Name |
Type |
Format |
Description |
lineItems |
array |
lineItems |
Line items specified for general receipts. |
Ground Transport Receipt
Schema for ground transportation receipts. This includes essentially all forms of non-aerial transportation, except those that run on railed tracks.
Property Name |
Type |
Format |
Description |
itineraryLocator |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
segmentLocator |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
classOfService |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
startDateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
endDateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
travelDuration |
string |
^(-)?P(?:(-?[0-9,.])Y)?(?:(-?[0-9,.])M)?(?:(-?[0-9,.])W)?(?:(-?[0-9,.])D)?(?:T(?:(-?[0-9,.])H)?(?:(-?[0-9,.])M)?(?:(-?[0-9,.]*)S)?)?$ |
Duration of a time interval as defined in ISO 8601 |
mapUrl |
string |
Google Maps URI Pattern |
Link to an image of the traveled route. |
pickupLocation |
object |
Location |
Schema representing a location, including geographical information and a postal address. Used in multiple receipt types. |
dropoffLocation |
object |
Location |
Schema representing a location, including geographical information and a postal address. Used in multiple receipt types. |
distance |
object |
distance |
Object representing a distance. |
driverNumber |
string |
N/A |
Unique identifier assigned by the ride company to a driver. |
lineItems |
array |
lineItems |
Descriptive breakdown of the fare charged. For example: base fare, distance travelled, discount and other add-ons. |
Google Maps URI Pattern: ^https://(www|maps).(googleapis|google).[a-z]+/maps/
Hotel Receipt
Schema for hotel receipts.
Property Name |
Type |
Format |
Description |
itineraryLocator |
string |
^(?!\s*$).+ |
Unique ID of an itinerary (also know as a trip) in Concur’s Itinerary Service. An itinerary can contain one or more bookings from various sources. |
segmentLocator |
string |
^(?!\s*$).+ |
Unique ID of a single travel event in Concur’s Itinerary Service. An itinerary can contain one or more bookings and each booking can contain one or more segments. The segmentLocator uniquely identifies an event like a car rental with a specific start and end date or a single air segment/sector. |
property |
object |
Location |
Physical property location information for the hotel property. This is often different than the merchant location information. |
confirmationNumber |
string |
N/A |
Booking identifier. |
checkInDateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
checkOutDateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
guests |
array |
guests |
Guest information. |
numberInParty |
integer |
N/A |
Number of individuals for the stay. |
room |
object |
room |
|
nightsStayed |
integer |
N/A |
Positive integer value of at least 1 |
lineItems |
array |
lineItems |
|
Guests
Property Name |
Type |
Format |
Description |
guestNameRecord |
string |
N/A |
The loyalty or membership number of the hotel guest. |
firstName |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
lastName |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
address |
object |
Address |
Address of the guest. It is highly recommended that the business address of the guest is provided if the hotel is provided with one. Doing so will help VAT reclamation partners who work with companies, to have compliant receipts accepted by the tax authority when filing tax reclaims. |
Property
Property Name |
Type |
Format |
Description |
name |
string |
N/A |
The name for the location. |
number |
string |
N/A |
The identifier the company assigned to this location. |
latitude |
number |
N/A |
Numeric latitude value between -90 and 90 |
longitude |
number |
N/A |
Numeric longitude value between -180 and 180 |
internetAddress |
string |
N/A |
|
emailAddress |
string |
N/A |
|
telephoneNumber |
string |
N/A |
|
faxNumber |
string |
N/A |
|
address |
object |
Address |
Common address object used by all receipt types except for the JPT IC Card receipt, which uses Address-Original. |
Room
Property Name |
Type |
Format |
Description |
roomNumber |
string |
N/A |
Room number where the guest stayed. |
roomType |
string |
N/A |
Type of room where the guest stayed. For example, Standard, Deluxe, etc. |
ratePlanType |
string |
N/A |
Name of the rate plan according to which the guest was charged. |
averageDailyRoomRate |
string |
^[-]?\d*.?\d+$ |
Average of the daily room rates for the duration of the guests stay. Room rates usually differ from day to day. |
Segments
Property Name |
Type |
Format |
Description |
sequenceNumber |
integer |
N/A |
Unique transaction identifier for every trip taken using the IC card. |
dateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
fromStationCode |
string |
N/A |
Departure station code of the route. This code is specified to the IC Card vendor. Concur Expense has a transcoding table to Expense location codes. |
fromStationName |
string |
N/A |
Departure station label of the route. |
toStationCode |
string |
N/A |
Arrival station code of the route. This code is specified to the IC Card vendor. Concur Expense has a transcoding table to Expense location codes. |
toStationName |
string |
N/A |
Arrival station label of the route. |
fromIsCommuterPass |
boolean |
N/A |
Whether or not the departure route is included in the commuter pass subscription of the employee. |
toIsCommuterPass |
boolean |
N/A |
Whether or not the arrival route is included in the commuter pass subscription of the employee. |
distance |
number |
N/A |
Positive number value of at least value as 0 |
icCardSegment
Property Name |
Type |
Format |
Description |
sequenceNumber |
integer |
N/A |
Unique transaction identifier for every trip taken using the IC card. |
dateTime |
string |
date-time |
Transaction date and time. |
fromStationCode |
string |
N/A |
Departure station code of the route. This code is specified to the IC Card vendor. Concur Expense has a transcoding table to Expense location codes. |
fromStationName |
string |
N/A |
Departure station label of the route. |
toStationCode |
string |
N/A |
Arrival station code of the route. This code is specified to the IC Card vendor. Concur Expense has a transcoding table to Expense location codes. |
toStationName |
string |
N/A |
Arrival station label of the route. |
fromIsCommuterPass |
boolean |
N/A |
Whether or not the departure route is included in the commuter pass subscription of the employee. |
toIsCommuterPass |
boolean |
N/A |
Whether or not the arrival route is included in the commuter pass subscription of the employee. |
distance |
number |
N/A |
Positive number value of at least value as 0 |
Line Item
Generic line item. These objects are included in arrays in most receipt types.
Property Name |
Type |
Format |
Description |
sequenceNumber |
integer |
N/A |
The order in which the item appears in the sequence of line items when the receipt is rendered by Concur. |
dateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
reference |
string |
N/A |
The item SKU, identifier or some other attribute the merchant uses to reference the item. |
description |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
additionalDescription |
string |
N/A |
|
semanticsCode |
string |
^(?!\s*$).+ |
The Concur semantics code for the line item. |
unitCost |
string |
^[-]?\d*.?\d+$ |
Amount per unit. |
quantity |
integer |
N/A |
|
total |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
subtotal |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
taxesTotal |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
taxes |
array |
Taxes |
Schema for objects that make up an array of taxes. Used in most receipt types. |
vatApplicable |
boolean |
N/A |
If the line item was subject to a value added tax then true, if not then false. |
amountIncludesVat |
boolean |
N/A |
|
discounts |
array |
discounts |
The discounts offered for this line item. |
Location
Schema representing a location, including geographical information and a postal address. Used in multiple receipt types.
Property Name |
Type |
Format |
Description |
name |
string |
N/A |
The name for the location. |
number |
string |
N/A |
The identifier the company assigned to this location. |
latitude |
number |
N/A |
Numeric latitude value between -90 and 90 |
longitude |
number |
N/A |
Numeric longitude value between -180 and 180 |
internetAddress |
string |
N/A |
|
emailAddress |
string |
N/A |
|
telephoneNumber |
string |
N/A |
|
faxNumber |
string |
N/A |
|
address |
object |
Address |
Common address object used by all receipt types except for the JPT IC Card receipt, which uses Address-Original. |
Merchant
Schema for an object representing a merchant. The broker and seller properties in all receipts use this schema.
Property Name |
Type |
Format |
Description |
name |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
description |
string |
N/A |
Description of the service provided by the merchant. |
taxId |
string |
N/A |
The tax identification number assigned to the merchant by the national tax authority. If the partner is providing a tax invoice, then providing a tax identification number is recommended. |
location |
object |
Location |
Schema representing a location, including geographical information and a postal address. Used in multiple receipt types. |
Payments
The payments array allows for one or more payment methods used in the transaction to be defined. All payment methods defined within the array result in the value for total in the base object of the receipt. The JSON keyword ‘anyOf’ indicates at least one of the following is required and multiple can be present: cash, creditCard, companyPaid, digitalWallet and / or unusedTicket.
Cash
Property Name |
Type |
Format |
Description |
amount |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
Credit Card
Property Name |
Type |
Format |
Description |
amount |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
cardDetail |
object |
cardDetail |
Credit card information. |
Card Detail
Property Name |
Type |
Format |
Description |
cardType |
N/A |
N/A |
Can be any of the following values: American Express, Diners Club, Discover, MasterCard, Visa, Carte Blanche, Enroute, Universal Air Travel, JCB, EuroCard |
creditCardId |
string |
^[0-9]{4}$ |
Last four digits of the credit card number to meet FACTA and PCI requirements |
authorizationCode |
string |
N/A |
Authorization code for transaction. |
Company Paid
Property Name |
Type |
Format |
Description |
source |
N/A |
N/A |
Can be any of the following values: GhostCard, LodgeCard, DirectPay, Invoice |
amount |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
cardDetail |
object |
cardDetail |
Credit card information. |
Card Detail
Property Name |
Type |
Format |
Description |
cardType |
N/A |
N/A |
Can be any of the following values: American Express, Diners Club, Discover, MasterCard, Visa, Carte Blanche, Enroute, Universal Air Travel, JCB, EuroCard |
creditCardId |
string |
^[0-9]{4}$ |
Last four digits of the credit card number to meet FACTA and PCI requirements |
authorizationCode |
string |
N/A |
Authorization code for transaction. |
Digital Wallet
Property Name |
Type |
Format |
Description |
source |
N/A |
N/A |
Can be any of the following values: ApplePay, AndroidPay, SamsungPay, PayPal, OlaMoney |
amount |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
Unused Ticket
Property Name |
Type |
Format |
Description |
ticketNumber |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
amount |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
Card Detail
Property Name |
Type |
Format |
Description |
cardType |
N/A |
N/A |
Can be any of the following values: American Express, Diners Club, Discover, MasterCard, Visa, Carte Blanche, Enroute, Universal Air Travel, JCB, EuroCard |
creditCardId |
string |
^[0-9]{4}$ |
Last four digits of the credit card number to meet FACTA and PCI requirements |
authorizationCode |
string |
N/A |
Authorization code for transaction. |
Rail Receipt
Schema for rail or train receipts.
Property Name |
Type |
Format |
Description |
itineraryLocator |
string |
^(?!\s*$).+ |
Unique ID of an itinerary (also know as a trip) in Concur’s Itinerary Service. An itinerary can contain one or more bookings from various sources. |
lineItems |
array |
lineItems |
Break down of all charges which could include insurance purchased for all train tickets, paid wi-fi etc. |
railTickets |
array |
railTickets |
|
Rail Tickets
Property Name |
Type |
Format |
Description |
ticketNumber |
string |
N/A |
|
recordLocator |
string |
N/A |
Confirmation identifier for the ticket. This code is usually unique for a short period of time and could be reused by the rail company in the future. |
issueDateTime |
string |
date-time |
Date and time the ticket was issued. |
passengerName |
string |
N/A |
Name of the person associated withthe ticket. |
fare |
string |
^[-]?\d*.?\d+$ |
Fare charged for a train ticket. This will be the total of all segments in this train ticket. |
segments |
array |
segments |
Segments for this train ticket. |
Segments
Property Name |
Type |
Format |
Description |
departureStation |
string |
N/A |
Name of the station from which the train is departing. |
departureDateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
arrivalStation |
string |
N/A |
Name of the station where the train is arriving. |
arrivalDateTime |
string |
date-time |
A subset of ISO 8601 date-times. The first restriction is that the dateTime requires a date, a time (at least the hour portion), and a UTC offset. The second restriction is that the dateTime does not allow a time to be formatted in UTC time (2015-11-02T14:30Z - notice the Z) without an offset; this is because it would be impossible for us to know the original offset so we could not generate a receipt with the correct local time. |
trainNumber |
string |
N/A |
Train identifier |
trainType |
string |
N/A |
Type of train. For example TGV or TER in France. |
classOfServiceCode |
string |
^(?!\s*$).+ |
The class of travel. |
fare |
string |
^[-]?\d*.?\d+$ |
Fare charged for this segment of the train ride. |
taxes |
array |
Taxes |
Taxes paid for this segment. |
lineItems |
array |
lineItems |
Line items specific to this segment. This could include meals, seat reservations, insurance etc. |
Receipt Core Definitions
Core values for all receipt types. All major receipt schemas include these core objects.
Property Name |
Type |
Format |
Description |
dateTime |
string |
date-time |
Date and time of the transaction. |
total |
string |
^[-]?\d*.?\d+$ |
The total amount of the transaction including all lineitems and taxes. |
subtotal |
string |
^[-]?\d*.?\d+$ |
The amount in the transaction excluding taxes. |
taxesTotal |
string |
^[-]?\d*.?\d+$ |
The amount of tax paid in the transaction. |
discountsTotal |
string |
^[-]\d*.?\d+$ |
String representing a negative amount of money, normally used for a discount. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
currencyCode |
string |
currency-code |
Currency paid to the merchant. |
broker |
object |
Merchant |
The entity that facilitates the transaction between the seller and end user. |
seller |
object |
Merchant |
The entity providing service to the end user. |
payments |
array |
Payments |
|
discounts |
array |
discounts |
The discounts offered on this transaction. |
taxes |
array |
Taxes |
Taxes paid as part of transaction. |
reference |
string |
N/A |
The unique receipt provider or merchant identifier for this receipt or invoice. This value can also be referred to as transaction number, check number, order ID or similar. |
collectionReference |
string |
N/A |
Use this key to group related receipts into a collection for credits, tips or other adjustments to the original transaction and looking at groups of receipts for analysis purposes. The reference and collectionReference keys typically have separate and unique values but could be the same for the first receipt in a collection. |
taxInvoice |
boolean |
N/A |
A tax invoice (true) or otherwise (false). |
Broker
Property Name |
Type |
Format |
Description |
name |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
description |
string |
N/A |
Description of the service provided by the merchant. |
taxId |
string |
N/A |
The tax identification number assigned to the merchant by the national tax authority. If the partner is providing a tax invoice, then providing a tax identification number is recommended. |
location |
object |
Location |
Schema representing a location, including geographical information and a postal address. Used in multiple receipt types. |
Seller
Property Name |
Type |
Format |
Description |
name |
string |
^(?!\s*$).+ |
Non-empty string. Length must be at least 1 character. |
description |
string |
N/A |
Description of the service provided by the merchant. |
taxId |
string |
N/A |
The tax identification number assigned to the merchant by the national tax authority. If the partner is providing a tax invoice, then providing a tax identification number is recommended. |
location |
object |
Location |
Schema representing a location, including geographical information and a postal address. Used in multiple receipt types. |
Taxes
Schema for objects that make up an array of taxes. Used in most receipt types.
Property Name |
Type |
Format |
Description |
authority |
object |
authority |
The country or subdivision that charged the tax as per ISO 3166-2:2013. |
name |
string |
N/A |
|
rate |
number |
N/A |
|
rateType |
string |
N/A |
The rate type for the tax charged. For value added tax this could be Zero, Standard, Reduced, etc. |
amount |
string |
^[-]?\d*.?\d+$ |
String representing an amount of money. Should not include a currency code or symbol, as this information is included in the currencyCode field of the receipt. |
Authority
Property Name |
Type |
Format |
Description |
addressCountry |
string |
country-code |
2 or 3 character country code as defined in ISO 3166-1:2013 |
addressRegion |
string |
^[a-zA-Z0-9]{1,3}$ |
1 to 3 character country subdivision code as defined in ISO 3166-2:2013 |