Receipts

Supported Receipt 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.

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.

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.

Car Rental Receipt

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.

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.

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.

Hotel Receipt

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.

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.

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.

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.

Japan Public Transportation (JPT) IC Card Definitions

Schema specifically for JPT IC Card receipts. Not for use with any other rail transactions.

Property Name

Type

Format

Description

user

string

N/A

app

string

N/A

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.

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.

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.

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.

creditCard

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.

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.

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.