AwardWallet Account Access API

Introduction

The AwardWallet Account Access API provides access to the loyalty account data that belongs to AwardWallet users. Once authorized by the end user, the API provides access to the loyalty accounts that the user shared with you.

To use this API you need to have a business account, which can be registered here, if you already have a personal AwardWallet account, or here if you don’t have a personal AwardWallet account.

Your API key and other API settings can be found under your business account.

This API will allow you to retrieve information about any of the users that linked their accounts to your business account. You don’t need to have a paid business account in order to use the API. However, if you need a nice UI interface to see all of the users who shared their loyalty accounts with your business, you can use our business interface to do that.

If you wish to be able to invite users to link their accounts to your business interface you need to request that form the AwardWallet team by sending a description of your business and intended use case.

Once approved by AwardWallet you could start inviting users by using create-auth-url method.

Finally, you can have two types of members under your business interface:

  • Connected Users – these are the users who have their own personal AwardWallet credentials who chose to connect their accounts to your business account. They can choose granularly what exactly they wish to share with you.
  • Members – basically these are just names you add under your business interface. They make your life easier when organizing stuff under your business interface. These members don’t have an AwardWallet account and therefore are not linked to you the same way as Connected Users are.

Since these two entities are quite different you need to use two different API calls to get info about them.

Authentication

To authorize, use this code:

                    
# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
-H "X-Authentication: userapikey"
                    
                

Every API call needs to be authenticated with an API key. This key is passed in the "X-Authentication" field with the https request header. You can get your personal API key in the account settings of your business account.

X-Authentication: userapikey

Connect

Get Connection Link

POST Request Example

                            
{
  "platform": "mobile",
  "access": 1,
  "state": "Y2kRhAvHoJRqECgkZfFUUMgMZADboqbnQJzs",
  "granularSharing": false
}
                            
                        

Response Example

                            
{
  "url": "https://awardwallet.com/user/connections/approve?access=1&authKey=lkqjwebrlsfdkds&id=lkwqsdf"
}
                            
                        

Use this method to get a unique URL to securely connect an AwardWallet user to your business account.

HTTP Request

POST https://business.awardwallet.com/api/export/v1/create-auth-url

Query Parameters

Parameter Type Required Description

platform

string true

There are two possible values:

  • mobile - use this if you are planning to show the concent screen on the mobile device. Also, even if you are showing it on a desktop using the mobile interface may work better for you, so you should consider using this option regardless of where the consent screen is shown.
  • desktop - this option will show the consent screen in a context of our standard full-blown desktop interface.

access

integer true

This attribute accepts values 0 – 3. It identifies the level of account access the User will be prompted to grant to the business. The possible values are:

0 - Read account numbers / usernames and elite statuses only

1 - Read account balances and elite statuses only

2 - Read all information excluding passwords

3 - Full control (edit, delete, auto-login, view passwords)

granularSharing

boolean false

First of all this option (if set to true) only works with if you also set the platform to desktop. By default this attribute is set to false, if set to true users will be given a link that allows them to go into their AwardWallet profile and granularly select which accounts they wish to share via the full-blown AwardWallet desktop interface.

state

string false

Specifies any string value that your application uses to maintain state between your authorization request and the authorization server's response. The server returns the exact value that you send as a state=xyz in the query string of the redirect_uri after the user consents to or denies your application's access request.

Response

Parameter Type Required Description

url

string true

This is the JSON-encoded URL string that you will need to redirect your user's browser to in order for the user to authorize your access.

You can redirect your users to the URL that gets returned to you in a number of ways. One way to do this is to open up a separate small window like this:

Get Connected User Info

Response Example

                            
{
  "userId": "123"
}
                            
                        

Use this method after a successful connection to receive a newly connected userId

HTTP Request

GET https://business.awardwallet.com/api/export/v1/get-connection-info/{code}

Query Parameters

Parameter Type Required Description
code string true

This code will be sent to your endpoint via a browser redirect after a successful authentication (initiated by the create-auth-url method ). You will receive it as a GET parameter as follows: ?code=xxx

Response

Parameter Type Required Description

userId

integer false

This is the ID of the newly connected user.

Accounts

Get Account Details

Response Example

                            
{
  "account": [
    {
      "accountId": 7654321,
      "code": "british",
      "displayName": "British Airways (Executive Club)",
      "kind": "Airlines",
      "login": "johnsmith",
      "autologinUrl": "https://business.awardwallet.com/account/redirect?ID=7654321",
      "updateUrl": "https://business.awardwallet.com/account/edit/7654321?autosubmit=1",
      "editUrl": "https://business.awardwallet.com/account/edit/7654321",
      "balance": "146,780",
      "balanceRaw": 146780,
      "owner": "John Smith",
      "errorCode": 1,
      "lastDetectedChange": "+750",
      "expirationDate": "2018-12-10T00:00:00+00:00",
      "lastRetrieveDate": "2016-01-15T00:00:00+00:00",
      "lastChangeDate": "2016-01-15T00:49:33+00:00",
      "properties": [
        {
          "name": "Next Elite Level",
          "value": "Bronze",
          "kind": 9
        },
        {
          "name": "Date of joining the club",
          "value": "20 Jun 2013",
          "kind": 5
        },
        {
          "name": "Lifetime Tier Points",
          "value": "35,000"
        },
        {
          "name": "Executive Club Tier Points",
          "value": "35,000"
        },
        {
          "name": "Card expiry date",
          "value": "31 Mar 2017"
        },
        {
          "name": "Membership year ends",
          "value": "08 Feb 2016"
        },
        {
          "name": "Last Activity",
          "value": "10-Dec-15",
          "kind": 13
        },
        {
          "name": "Name",
          "value": "Mr Smith",
          "kind": 12
        },
        {
          "name": "Level",
          "value": "Blue",
          "rank": 0,
          "kind": 3
        },
        {
          "name": "Membership no",
          "value": "1122334455",
          "kind": 1
        }
      ],
      "history": [
        {
          "fields": [
            {
              "name": "Transaction Date",
              "code": "PostingDate",
              "value": "3/31/14"
            },
            {
              "name": "Description",
              "code": "Description",
              "value": "Expired Points"
            },
            {
              "name": "Type",
              "code": "Info",
              "value": "Adjustments"
            },
            {
              "name": "Points",
              "code": "Miles",
              "value": "-100"
            }
          ]
        },
        {
          "fields": [
            {
              "name": "Transaction Date",
              "code": "PostingDate",
              "value": "12/11/13"
            },
            {
              "name": "Description",
              "code": "Description",
              "value": "Google Wallet"
            },
            {
              "name": "Type",
              "code": "Info",
              "value": "Other Earning"
            },
            {
              "name": "Points",
              "code": "Miles",
              "value": "+100"
            }
          ]
        },
        {
          "fields": [
            {
              "name": "Transaction Date",
              "code": "PostingDate",
              "value": "9/30/12"
            },
            {
              "name": "Description",
              "code": "Description",
              "value": "Expired Points"
            },
            {
              "name": "Type",
              "code": "Info",
              "value": "Adjustments"
            },
            {
              "name": "Points",
              "code": "Miles",
              "value": "-1,042"
            }
          ]
        }
      ]
    }
  ],
  "connectedUser": {
    "userId": 12345,
    "fullName": "John Smith",
    "status": "Free",
    "userName": "JSmith",
    "email": "JSmith@email.com",
    "forwardingEmail": "JSmith@AwardWallet.com",
    "accessLevel": "Regular",
    "connectionType": "Connected",
    "accountsAccessLevel": "Full control",
    "accountsSharedByDefault": true,
    "editConnectionUrl": "https://business.awardwallet.com/members/connection/112233",
    "accountListUrl": "https://business.awardwallet.com/account/list#/?agentId=112233",
    "timelineUrl": "https://business.awardwallet.com/timeline/?agentId=166765#/112233",
    "bookingRequestsUrl": "https://business.awardwallet.com/awardBooking/queue?user_filter=332211"
  }
}
                            
                        

Using the accountId found in either the /member, /member/{id}, /connectedUser, or /connectedUser/{id} methods you can get a comprehensive list of all the account details including the entire transaction history list for that specific account.

HTTP Request

GET https://business.awardwallet.com/api/export/v1/account/{id}

Query Parameters

Parameter Type Required Description
id integer true

accountId

Response

Parameter Type Required Description

account

object true

An object that describes the Account

member

object false

An object that describes the Member to whom this account is linked.

connectedUser

object false

An object that describes the ConnectedUser to whom this account is linked.

Account data

ConnectedUser

Parameter Type Required Description

userId

integer true

Unique ID that identifies a given User

fullName

string true

Full name that User provided during registration

email

string true

Email address of a User

forwardingEmail

string true

AwardWallet email address of a User that can be used for forwarding User itineraries (as well as loyalty program statements) in order to update that User's travel plans on the timeline.

userName

string true

The logon name that User picked during registration

status

string true

User's status on AwardWallet. Possible values are:

  • Free
  • Plus

accessLevel

string false

Status of a User in the business account. Possible values are:

  • n/a
  • Regular
  • Booking Administrator
  • Administrator

connectionType

string true

User connection status. Possible values are:

  • Connected
  • Pending

Pending - is the status for those users who have not yet accepted an invitation to connect to the Business Account.

accountsAccessLevel

string true

Identifies the level of account access the User granted to the business. Possible values are:

0 - Read numbers

1 - Read balances

2 - Read all

3 - Full control

When inviting the users, you can pass one of these numbers as a value to the access GET parameter. This will determine the level of access you would be requesting by default. Keep in mind that users can change the level of access you have to their accounts at any time.

accountsSharedByDefault

boolean true

Identifies if the User is configured to share newly added accounts by default with the Business Account

editConnectionUrl

string true

URL address of the page where business administrator can manage the connection settings with this user.

accountListUrl

string true

URL address of the page where business administrator can see all of the loyalty accounts shared by the user with the business account.

timelineUrl

string true

URL address of the page where business administrator can see the travel timeline (i.e. all of their travel reservations) of this connected user.

bookingRequestsUrl

string false

URL address of the page where business administrator can see all the reward booking requests made by the user with the business.

Member

Parameter Type Required Description

memberId

integer true

Unique ID that identifies a given Member

fullName

string true

Full name of a Member

email

string false

Email address of a Member

forwardingEmail

string false

AwardWallet email address of a Member that can be used for forwarding Member itineraries (as well as loyalty program statements) in order to update that Member’s travel plans on the timeline.

editMemberUrl

string true

URL address of the page where business administrator can edit this member’s settings such as name or email address.

accountListUrl

string true

URL address of the page where business administrator can see all of the loyalty accounts that belong to this member.

timelineUrl

string true

URL address of the page where business administrator can see the travel timeline (i.e. all of their travel reservations) of this member.

Account

Parameter Type Required Description

accountId

integer true

Unique identifier of an Account

code

string true

Alpha-numeric value with no spaces that uniquely identifies any given provider.

displayName

string true

Name of the provider to which the Account belongs to. This is a user-friendly name that shows both the name the company as well as the actual name of the loyalty program. I.e. British Airways (Executive Club)

kind

string true

Type of account provider. Possible values are:

  • Airlines
  • Hotels
  • Credit Cards
  • Shopping
  • Rentals
  • Dining
  • Trains
  • Cruises
  • Surveys
  • Other

login

string true

Account login value. Could be "n/a" if the value is empty.

autologinUrl

string true

The auto-login URL that will automatically log you into that account on the provider’s website. Auto-login is only available on the accounts that provided the Business Account with Full Control. If the Business Account doesn’t have Full Control this value will be set to "n/a".

updateUrl

string true

The URL where you can retrieve all account details from the prover’s website. Account updating is only available on the accounts that provided the Business Account with Full Control. If the Business Account doesn’t have Full Control this value will be set to "n/a".

editUrl

string true

The URL where you can change account details, such as username and password values. Changing accounts is only available on the accounts that provided the Business Account with Full Control. If the Business Account doesn’t have Full Control this value will be set to "n/a".

balance

string true

Current account balance presented as a formatted number

balanceRaw

number true

Current account balance

lastDetectedChange

string false

Last change in the account balance as detected by AwardWallet. This change may or may not correlate with the actual change in the history of the account on the provider’s website.

expirationDate

date-time false

The date when all or part of the account balance will expire. In most cases this date was calculated by AwardWallet.

barcode

string false

Zeros and ones representing the bar code of the account. If available, and drawn properly, can be used with the provider’s bar code readers.

owner

string true

Full name of the account owner. Keep in mind that a Connected User could share accounts of his or her family members. In that case that person would show up as the account owner.

errorCode

integer true

The result of the last account update. Possible values are:

0 - Account has never been updated

1 – Account was successfully updated

2 – Account has Invalid credentials

3 – Account is locked out

4 – The provider returned some error, or requires some user action

5 – The provider is disabled by AwardWallet

6 - AwardWallet failed to parse the provider’s web site for unknown reason

7 – Account password is missing

8 – Account is disabled to prevent lockouts on the prover’s website

9 – Account was successfully updated, but there is a warning message returned

10 – The user needs to answer a security question, to update this account

11 - Account updating timed out.

errorMessage

string false

Account error message as shown on the provider’s website.

lastChangeDate

date-time false

Last time AwardWallet detected a change in the account balance. This date will probably not correlate with the date last time account actually changed on the provider’s website.

lastRetrieveDate

date-time false

Last time AwardWallet successfully logged into the account and successfully retrieved the account information

history

array false

Whenever Account History is available it will be presented as a History array. Please note that all providers choose to show account history in different formats, so unfortunately there is no standard column definitions across all providers. If you need to work with Account History you would need to evaluate the History array on per provider basis.

properties

array false

Account properties are so called "secondary attributes" that we gather from providers' websites whenever possible. Each provider has a different set of these secondary properties. To standardize some of them, properties may have a kind value as described below.

subAccounts

array false

Some accounts have subaccounts. For example, a single Capital One account can have multiple credit cards with individual balances under each card. Those separate balances would be tracked as subaccounts under that Capital One account.

SubAccount

Parameter Type Required Description

subAccountId

integer true

Unique identifier of a sub-account

displayName

string true

User friendly name of a sub-account

balance

string true

Current sub-account balance presented as a formatted number

balanceRaw

number false

Current sub-account balance

lastDetectedChange

string false

Last change in the sub-account balance as detected by AwardWallet. This change may or may not correlate with the actual change in the history of that sub-account on the provider’s website.

properties

array false

Sub-account properties are so called "secondary attributes" that we gather from providers' websites whenever possible. Each provider has a different set of these secondary properties.

history

array false

Whenever SubAccount History is available it will be presented as a History array. Please note that all providers choose to show account history in different formats, so unfortunately there is no standard column definitions across all providers. If you need to work with Account History you would need to evaluate the History array on per provider basis.

AccountProperty

Parameter Type Required Description

name

string true

Attribute name

value

string true

Attribute value

rank

integer false

Only used to provide a numeric representation of the elite status of an Account so that elite statuses could be standardized across all providers. It is only used for the Status property (Kind = 3)

kind

integer false

Used to standardize properties across different providers as they all may call conceptually the same attributes slightly differently. Possible values are:

  • 1 - Account number
  • 2 - Expiration
  • 3 - Status
  • 4 - Lifetime points
  • 5 - Member since
  • 6 - Expiring balance
  • 7 - YTD Miles/Points
  • 8 - YTD Segments
  • 9 - Next elite level
  • 10 - Miles/Points needed to next level
  • 11 - Segments needed to next level
  • 12 - Name
  • 13 - Last activity
  • 14 - Miles/Points needed for next reward
  • 15 - Status expiration
  • 16 - Miles/Points to retain status
  • 17 - Segments to retain status
  • 18 - Alliance elite level
  • 19 - Status miles/points

History

Account history row

Parameter Type Required Description

fields

array false

History fields

HistoryField

Account history field

Parameter Type Required Description

code

string true

There are 4 predefined field codes:

PostingDate - The date when miles or points were posted to the account

Description - Description of the transaction

Miles - Shows the numerical change in the miles or points

Bonus - Shows the bonus miles or points

For everything else this code value will be set to Info

name

string true

Human readable name of the attribute, such as "Transaction Date"

value

string true

Attribute value, such as "Finance Card - BA VISA NON BA SPEND"

Timeline

Get Travel Timeline Details

Using the userId found in the /connectedUser method you can get a comprehensive list of itineraries saved for that user. On your first call you would request this method without the pageToken attribute. If the number of itineraries is too much for one call, to fetch the next page you need to pass the nextPageToken from the response body of your previous request. When you stop receiving the nextPageToken, it means there are no more records to fetch

Request Example

                            
{
  "start": "2020-01-01",
  "end": "2030-01-01",
  "pageToken": "das89hhdv9fqklm302"
}
                            
                        

Request

POST https://business.awardwallet.com/api/export/v1/travel-timeline/{id}

Request Parameters

Parameter Type Required Description
id integer true

userId

start string true

Lower bound for the itinerary date

end string true

Upper bound for the itinerary date

pageToken string false

Token for retrieving the next page of itineraries

Response Example

                            
{
  "itineraries": [
    {
      "travelAgency": {
        "providerInfo": {
          "code": "expedia",
          "name": "Expedia.com",
          "accountNumbers": [
            {
              "number": "EXP-11298"
            }
          ],
          "earnedRewards": "1 booking"
        },
        "confirmationNumbers": [
          {
            "number": "J3HND-8776"
          },
          {
            "number": "88376495"
          }
        ],
        "phoneNumbers": [
          {
            "description": "Help Desk",
            "number": "+1-44-EXPEDIA"
          }
        ]
      },
      "pricingInfo": {
        "total": 4179.6,
        "cost": 3200,
        "discount": 300,
        "spentAwards": "1000 points",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 199.02
          },
          {
            "name": "Additional services",
            "charge": 780.58
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "spg",
        "name": "Starwood Hotels",
        "accountNumbers": [
          {
            "number": "1234567"
          }
        ],
        "earnedRewards": "4 nights"
      },
      "confirmationNumbers": [
        {
          "number": "1122334455"
        },
        {
          "number": "887756"
        }
      ],
      "hotelName": "Sheraton Philadelphia Downtown Hotel",
      "address": {
        "text": "201 North 17th Street, Philadelphia, Pennsylvania 19103 United States",
        "addressLine": "201 North 17th Street",
        "city": "Philadelphia",
        "stateName": "Pennsylvania",
        "countryName": "United States",
        "postalCode": "19103",
        "lat": 39.9569828,
        "lng": -75.1674669,
        "timezone": -14400
      },
      "checkInDate": "2030-01-01T13:30:00",
      "checkOutDate": "2030-01-05T12:00:00",
      "phone": "+1-22-3333",
      "fax": "+1-66-77899",
      "guests": [
        {
          "name": "John D.",
          "accountNumbers": [
            {
              "number": "87654321"
            }
          ]
        }
      ],
      "guestCount": 2,
      "kidsCount": 3,
      "roomsCount": 1,
      "cancellationPolicy": "Cancellation is free prior to check-in",
      "rooms": [
        {
          "type": "King bed",
          "description": "Traditional, TV, free wi-fi",
          "rate": "30$/night",
          "rateType": "King bed"
        }
      ],
      "notes": "Use the secondary entrance if you're carrying large luggage",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "type": "hotelReservation"
    }
  ],
  "nextPageToken": "RS44NDQ3ODMyLjMwMDA"
}
                            
                        

Response

Timeline data

Parameter Type Required Description

itineraries

array false

An array of the itineraries

nextPageToken

string false

Token for the next page

Members

List Members

Response Example

                            
{
  "members": [
    {
      "memberId": 1234,
      "fullName": "John Smith",
      "email": "JSmith@email.com",
      "forwardingEmail": "BusinessABC.JSmith@AwardWallet.com",
      "editMemberUrl": "https://business.awardwallet.com/agent/editFamilyMember.php?ID=998877&Source=M",
      "accountListUrl": "https://business.awardwallet.com/account/list#/?agentId=998877",
      "timelineUrl": "https://business.awardwallet.com/timeline/?agentId=998877#/998877",
      "accountsIndex": [
        {
          "accountId": 12345,
          "lastChangeDate": "2016-07-20T17:17:17+00:00",
          "lastRetrieveDate": "2016-07-20T17:17:17+00:00"
        },
        {
          "accountId": 12346,
          "lastChangeDate": "2016-07-10T17:17:37+00:00",
          "lastRetrieveDate": "2016-07-22T17:17:37+00:00"
        }
      ]
    }
  ]
}
                            
                        

Members are just names you add under your business interface. They make your life easier when organizing stuff under your business interface. These members don’t have an AwardWallet account and therefore are not linked to your business account the same way as Connected Users are. You can use this method to retrieve all the members under your business account.

HTTP Request

GET https://business.awardwallet.com/api/export/v1/member

Response

Parameter Type Required Description

members

array true

array of MembersListItem

An array of Members

MembersListItem

Parameter Type Required Description

memberId

integer true

Unique ID that identifies a given Member

fullName

string true

Full name of a Member

email

string false

Email address of a Member

forwardingEmail

string false

AwardWallet email address of a Member that can be used for forwarding Member itineraries (as well as loyalty program statements) in order to update that Member’s travel plans on the timeline.

editMemberUrl

string true

URL address of the page where business administrator can edit this member’s settings such as name or email address.

accountListUrl

string true

URL address of the page where business administrator can see all of the loyalty accounts that belong to this member.

timelineUrl

string true

URL address of the page where business administrator can see the travel timeline (i.e. all of their travel reservations) of this member.

accountsIndex

array true

An index of all Member accounts that can be used to determine if calling the account/{id} is necessary for each account.

AccountsIndexItem

Parameter Type Required Description

accountId

integer true

Unique identifier of an Account

lastChangeDate

date-time true

Last time AwardWallet detected a change in the account balance. This date will probably not correlate with the date last time account actually changed on the provider’s website.

lastRetrieveDate

date-time false

Last time AwardWallet successfully logged into the account and successfully retrieved the account information

Get Member Details

Response Example

                            
{
  "memberId": 1234,
  "fullName": "John Smith",
  "email": "JSmith@email.com",
  "forwardingEmail": "BusinessABC.JSmith@AwardWallet.com",
  "editMemberUrl": "https://business.awardwallet.com/agent/editFamilyMember.php?ID=998877&Source=M",
  "accountListUrl": "https://business.awardwallet.com/account/list#/?agentId=998877",
  "timelineUrl": "https://business.awardwallet.com/timeline/?agentId=998877#/998877",
  "accounts": [
    {
      "accountId": 7654321,
      "code": "british",
      "displayName": "British Airways (Executive Club)",
      "kind": "Airlines",
      "login": "johnsmith",
      "autologinUrl": "https://business.awardwallet.com/account/redirect?ID=7654321",
      "updateUrl": "https://business.awardwallet.com/account/edit/7654321?autosubmit=1",
      "editUrl": "https://business.awardwallet.com/account/edit/7654321",
      "balance": "146,780",
      "balanceRaw": 146780,
      "owner": "John Smith",
      "errorCode": 1,
      "lastDetectedChange": "+750",
      "expirationDate": "2018-12-10T00:00:00+00:00",
      "lastRetrieveDate": "2016-01-15T00:00:00+00:00",
      "lastChangeDate": "2016-01-15T00:49:33+00:00",
      "properties": [
        {
          "name": "Next Elite Level",
          "value": "Bronze",
          "kind": 9
        },
        {
          "name": "Date of joining the club",
          "value": "20 Jun 2013",
          "kind": 5
        },
        {
          "name": "Lifetime Tier Points",
          "value": "35,000"
        },
        {
          "name": "Executive Club Tier Points",
          "value": "35,000"
        },
        {
          "name": "Card expiry date",
          "value": "31 Mar 2017"
        },
        {
          "name": "Membership year ends",
          "value": "08 Feb 2016"
        },
        {
          "name": "Last Activity",
          "value": "10-Dec-15",
          "kind": 13
        },
        {
          "name": "Name",
          "value": "Mr Smith",
          "kind": 12
        },
        {
          "name": "Level",
          "value": "Blue",
          "rank": 0,
          "kind": 3
        },
        {
          "name": "Membership no",
          "value": "1122334455",
          "kind": 1
        }
      ],
      "history": [
        {
          "fields": [
            {
              "name": "Transaction Date",
              "code": "PostingDate",
              "value": "3/31/14"
            },
            {
              "name": "Description",
              "code": "Description",
              "value": "Expired Points"
            },
            {
              "name": "Type",
              "code": "Info",
              "value": "Adjustments"
            },
            {
              "name": "Points",
              "code": "Miles",
              "value": "-100"
            }
          ]
        },
        {
          "fields": [
            {
              "name": "Transaction Date",
              "code": "PostingDate",
              "value": "12/11/13"
            },
            {
              "name": "Description",
              "code": "Description",
              "value": "Google Wallet"
            },
            {
              "name": "Type",
              "code": "Info",
              "value": "Other Earning"
            },
            {
              "name": "Points",
              "code": "Miles",
              "value": "+100"
            }
          ]
        },
        {
          "fields": [
            {
              "name": "Transaction Date",
              "code": "PostingDate",
              "value": "9/30/12"
            },
            {
              "name": "Description",
              "code": "Description",
              "value": "Expired Points"
            },
            {
              "name": "Type",
              "code": "Info",
              "value": "Adjustments"
            },
            {
              "name": "Points",
              "code": "Miles",
              "value": "-1,042"
            }
          ]
        }
      ]
    }
  ]
}
                            
                        

Using a memberId, received from the /member method you are able to retrieve all of the loyalty accounts that this member has, as well as other member-specific attributes, such as name and email of the member.

HTTP Request

GET https://business.awardwallet.com/api/export/v1/member/{id}

Query Parameters

Parameter Type Required Description
id integer true

memberId

Response

Parameter Type Required Description

memberId

integer true

Unique ID that identifies a given Member

fullName

string true

Full name of a Member

email

string false

Email address of a Member

forwardingEmail

string false

AwardWallet email address of a Member that can be used for forwarding Member itineraries (as well as loyalty program statements) in order to update that Member’s travel plans on the timeline.

editMemberUrl

string true

URL address of the page where business administrator can edit this member’s settings such as name or email address.

accountListUrl

string true

URL address of the page where business administrator can see all of the loyalty accounts that belong to this member.

timelineUrl

string true

URL address of the page where business administrator can see the travel timeline (i.e. all of their travel reservations) of this member.

accounts

array true

Array of Member accounts

Member data and array of accounts

Connected Users

List Connected Users

Response Example

                            
{
  "connectedUsers": [
    {
      "userId": 12345,
      "fullName": "John Smith",
      "status": "Free",
      "userName": "JSmith",
      "email": "JSmith@email.com",
      "forwardingEmail": "JSmith@AwardWallet.com",
      "accessLevel": "Regular",
      "connectionType": "Connected",
      "accountsAccessLevel": "Full control",
      "accountsSharedByDefault": true,
      "editConnectionUrl": "https://business.awardwallet.com/members/connection/112233",
      "accountListUrl": "https://business.awardwallet.com/account/list#/?agentId=112233",
      "timelineUrl": "https://business.awardwallet.com/timeline/?agentId=166765#/112233",
      "bookingRequestsUrl": "https://business.awardwallet.com/awardBooking/queue?user_filter=332211",
      "accountsIndex": [
        {
          "accountId": 12345,
          "lastChangeDate": "2016-07-20T17:17:17+00:00",
          "lastRetrieveDate": "2016-07-20T17:17:17+00:00"
        },
        {
          "accountId": 12346,
          "lastChangeDate": "2016-07-10T17:17:37+00:00",
          "lastRetrieveDate": "2016-07-22T17:17:37+00:00"
        }
      ]
    }
  ]
}
                            
                        

Connected Users are the users who have their own personal AwardWallet credentials who chose to connect their accounts to your business account. They can granularly choose what exactly they wish to share with you.

This method will list all such users as well as an index of the loyalty accounts that they own.

HTTP Request

GET https://business.awardwallet.com/api/export/v1/connectedUser

Response

Parameter Type Required Description

connectedUsers

array true

array of users

An array of users

ConnectedUsersListItem

Parameter Type Required Description

userId

integer true

Unique ID that identifies a given User

fullName

string true

Full name that User provided during registration

email

string true

Email address of a User

forwardingEmail

string true

AwardWallet email address of a User that can be used for forwarding User itineraries (as well as loyalty program statements) in order to update that User's travel plans on the timeline.

userName

string true

The logon name that User picked during registration

status

string true

User's status on AwardWallet. Possible values are:

  • Free
  • Plus

accessLevel

string false

Status of a User in the business account. Possible values are:

  • n/a
  • Regular
  • Booking Administrator
  • Administrator

connectionType

string true

User connection status. Possible values are:

  • Connected
  • Pending

Pending - is the status for those users who have not yet accepted an invitation to connect to the Business Account.

accountsAccessLevel

string true

Identifies the level of account access the User granted to the business. Possible values are:

0 - Read numbers

1 - Read balances

2 - Read all

3 - Full control

When inviting the users, you can pass one of these numbers as a value to the access GET parameter. This will determine the level of access you would be requesting by default. Keep in mind that users can change the level of access you have to their accounts at any time.

accountsSharedByDefault

boolean true

Identifies if the User is configured to share newly added accounts by default with the Business Account

editConnectionUrl

string true

URL address of the page where business administrator can manage the connection settings with this user.

accountListUrl

string true

URL address of the page where business administrator can see all of the loyalty accounts shared by the user with the business account.

timelineUrl

string true

URL address of the page where business administrator can see the travel timeline (i.e. all of their travel reservations) of this connected user.

bookingRequestsUrl

string false

URL address of the page where business administrator can see all the reward booking requests made by the user with the business.

accountsIndex

array true

An index of all Member accounts that can be used to determine if calling the account/{id} is necessary for each account.

Get Connected User Details

Response Example

                            
{
  "userId": 12345,
  "fullName": "John Smith",
  "status": "Free",
  "userName": "JSmith",
  "email": "JSmith@email.com",
  "forwardingEmail": "JSmith@AwardWallet.com",
  "accessLevel": "Regular",
  "connectionType": "Connected",
  "accountsAccessLevel": "Full control",
  "accountsSharedByDefault": true,
  "editConnectionUrl": "https://business.awardwallet.com/members/connection/112233",
  "accountListUrl": "https://business.awardwallet.com/account/list#/?agentId=112233",
  "timelineUrl": "https://business.awardwallet.com/timeline/?agentId=166765#/112233",
  "bookingRequestsUrl": "https://business.awardwallet.com/awardBooking/queue?user_filter=332211",
  "accounts": [
    {
      "accountId": 7654321,
      "code": "british",
      "displayName": "British Airways (Executive Club)",
      "kind": "Airlines",
      "login": "johnsmith",
      "autologinUrl": "https://business.awardwallet.com/account/redirect?ID=7654321",
      "updateUrl": "https://business.awardwallet.com/account/edit/7654321?autosubmit=1",
      "editUrl": "https://business.awardwallet.com/account/edit/7654321",
      "balance": "146,780",
      "balanceRaw": 146780,
      "owner": "John Smith",
      "errorCode": 1,
      "lastDetectedChange": "+750",
      "expirationDate": "2018-12-10T00:00:00+00:00",
      "lastRetrieveDate": "2016-01-15T00:00:00+00:00",
      "lastChangeDate": "2016-01-15T00:49:33+00:00",
      "properties": [
        {
          "name": "Next Elite Level",
          "value": "Bronze",
          "kind": 9
        },
        {
          "name": "Date of joining the club",
          "value": "20 Jun 2013",
          "kind": 5
        },
        {
          "name": "Lifetime Tier Points",
          "value": "35,000"
        },
        {
          "name": "Executive Club Tier Points",
          "value": "35,000"
        },
        {
          "name": "Card expiry date",
          "value": "31 Mar 2017"
        },
        {
          "name": "Membership year ends",
          "value": "08 Feb 2016"
        },
        {
          "name": "Last Activity",
          "value": "10-Dec-15",
          "kind": 13
        },
        {
          "name": "Name",
          "value": "Mr Smith",
          "kind": 12
        },
        {
          "name": "Level",
          "value": "Blue",
          "rank": 0,
          "kind": 3
        },
        {
          "name": "Membership no",
          "value": "1122334455",
          "kind": 1
        }
      ],
      "history": [
        {
          "fields": [
            {
              "name": "Transaction Date",
              "code": "PostingDate",
              "value": "3/31/14"
            },
            {
              "name": "Description",
              "code": "Description",
              "value": "Expired Points"
            },
            {
              "name": "Type",
              "code": "Info",
              "value": "Adjustments"
            },
            {
              "name": "Points",
              "code": "Miles",
              "value": "-100"
            }
          ]
        },
        {
          "fields": [
            {
              "name": "Transaction Date",
              "code": "PostingDate",
              "value": "12/11/13"
            },
            {
              "name": "Description",
              "code": "Description",
              "value": "Google Wallet"
            },
            {
              "name": "Type",
              "code": "Info",
              "value": "Other Earning"
            },
            {
              "name": "Points",
              "code": "Miles",
              "value": "+100"
            }
          ]
        },
        {
          "fields": [
            {
              "name": "Transaction Date",
              "code": "PostingDate",
              "value": "9/30/12"
            },
            {
              "name": "Description",
              "code": "Description",
              "value": "Expired Points"
            },
            {
              "name": "Type",
              "code": "Info",
              "value": "Adjustments"
            },
            {
              "name": "Points",
              "code": "Miles",
              "value": "-1,042"
            }
          ]
        }
      ]
    }
  ]
}
                            
                        

Using a userId, received from the /connectedUser method you are able to retrieve all of the loyalty accounts that this user has shared with your business account, as well as other user-specific attributes, such as their name, email, level of access they provided you with, etc.

HTTP Request

GET https://business.awardwallet.com/api/export/v1/connectedUser/{id}

Query Parameters

Parameter Type Required Description
id integer true

userId

Response

Parameter Type Required Description

userId

integer true

Unique ID that identifies a given User

fullName

string true

Full name that User provided during registration

email

string true

Email address of a User

forwardingEmail

string true

AwardWallet email address of a User that can be used for forwarding User itineraries (as well as loyalty program statements) in order to update that User's travel plans on the timeline.

userName

string true

The logon name that User picked during registration

status

string true

User's status on AwardWallet. Possible values are:

  • Free
  • Plus

accessLevel

string false

Status of a User in the business account. Possible values are:

  • n/a
  • Regular
  • Booking Administrator
  • Administrator

connectionType

string true

User connection status. Possible values are:

  • Connected
  • Pending

Pending - is the status for those users who have not yet accepted an invitation to connect to the Business Account.

accountsAccessLevel

string true

Identifies the level of account access the User granted to the business. Possible values are:

0 - Read numbers

1 - Read balances

2 - Read all

3 - Full control

When inviting the users, you can pass one of these numbers as a value to the access GET parameter. This will determine the level of access you would be requesting by default. Keep in mind that users can change the level of access you have to their accounts at any time.

accountsSharedByDefault

boolean true

Identifies if the User is configured to share newly added accounts by default with the Business Account

editConnectionUrl

string true

URL address of the page where business administrator can manage the connection settings with this user.

accountListUrl

string true

URL address of the page where business administrator can see all of the loyalty accounts shared by the user with the business account.

timelineUrl

string true

URL address of the page where business administrator can see the travel timeline (i.e. all of their travel reservations) of this connected user.

bookingRequestsUrl

string false

URL address of the page where business administrator can see all the reward booking requests made by the user with the business.

accounts

array true

Array of accounts the User has shared with the Business Account. It includes all account details as described below, except the array of History items is limited to the first 10 records.

User data and array of accounts

Providers

List providers

Response Example

                            
[
  {
    "code": "aa",
    "displayName": "American Airlines (AAdvantage)",
    "kind": 1
  },
  {
    "code": "hhonors",
    "displayName": "Hilton (HHonors)",
    "kind": 2
  }
]
                            
                        

The providers/list method gives you all the providers that we support at any given point in time. This list will change over time, so you need to periodically call this method to get any changes.

HTTP Request

GET https://business.awardwallet.com/api/export/v1/providers/list

Response

Parameter Type Required Description

code

string true

Alpha-numeric value with no spaces that uniquely identifies any given provider. This code can be used to query all the details of that provider as follows: /providers/{code}

displayName

string true

User friendly display name of the provider. Typically includes both the company name and the name of the loyalty program, i.e. American Airlines (AAdvantage).

kind

integer false

Type of the provider. The possible values are:

1 - Airline

2 - Hotel

3 - Car rental

4 - Train

5 - Other

6 - Credit card

7 - Shopping

8 - Dining

9 - Survey

Supported providers information

Provider info

Response Example

                            
{
  "kind": 2,
  "code": "marriott",
  "displayName": "Marriott Rewards",
  "providerName": "Marriott",
  "programName": "Marriott Rewards, Ritz-Carlton",
  "login": {
    "code": "Login",
    "title": "Email or Rewards No.",
    "options": [
      
    ],
    "required": true,
    "defaultValue": ""
  },
  "login2": {
    "code": "Login2",
    "title": "Hotel",
    "options": [
      {
        "code": "",
        "name": "Select your hotel",
        "kind": "0"
      },
      {
        "code": "marriott",
        "name": "Marriott",
        "kind": "0"
      },
      {
        "code": "ritz",
        "name": "Ritz-Carlton",
        "kind": "0"
      }
    ],
    "required": true,
    "defaultValue": ""
  },
  "login3": {
    "code": "Login3",
    "options": [
      
    ],
    "required": false,
    "defaultValue": ""
  },
  "password": {
    "code": "Password",
    "options": [
      
    ],
    "required": true,
    "defaultValue": ""
  },
  "properties": [
    {
      "code": "Name",
      "name": "Name",
      "kind": "12"
    },
    {
      "code": "Number",
      "name": "Rewards #",
      "kind": "1"
    },
    {
      "code": "Level",
      "name": "Membership Level",
      "kind": "3"
    },
    {
      "code": "Nights",
      "name": "Nights this year",
      "kind": "8"
    },
    {
      "code": "LastActivity",
      "name": "Last qualifying activity",
      "kind": "13"
    },
    {
      "code": "YearBegins",
      "name": "Beginning of the Year",
      "kind": "0"
    },
    {
      "code": "PointsValue",
      "name": "Points Value",
      "kind": "0"
    },
    {
      "code": "ExpirationDate",
      "name": "Expiration Date",
      "kind": "2"
    }
  ],
  "autoLogin": true,
  "deepLinking": true,
  "canCheckConfirmation": true,
  "canCheckItinerary": true,
  "canCheckExpiration": 1,
  "confirmationNumberFields": [
    {
      "code": "RecordLocator",
      "title": "Confirmation #",
      "required": true,
      "defaultValue": ""
    },
    {
      "code": "FirstName",
      "title": "First Name",
      "required": true,
      "defaultValue": ""
    },
    {
      "code": "LastName",
      "title": "Last Name",
      "required": true,
      "defaultValue": ""
    },
    {
      "code": "CheckInDate",
      "title": "Check In Date",
      "required": true,
      "defaultValue": ""
    }
  ],
  "historyColumns": [
    {
      "code": "Info",
      "name": "Type",
      "kind": "0"
    },
    {
      "code": "PostingDate",
      "name": "Date Posted",
      "kind": "0"
    },
    {
      "code": "Description",
      "name": "Description",
      "kind": "0"
    },
    {
      "code": "Miles",
      "name": "Points earned",
      "kind": "0"
    },
    {
      "code": "Info",
      "name": "Actions",
      "kind": "0"
    },
    {
      "code": "Bonus",
      "name": "Bonus points earned",
      "kind": "0"
    }
  ],
  "eliteLevelsCount": 4,
  "canParseHistory": true,
  "canParseFiles": false
}
                            
                        

This method gives you all the details that you need to know about a given provider. For instance, this method will tell you what information you need to request from your users in order to update a given account and it also tells you what to expect in return once that account is updated. It tells you what features are supported for a given provider, such as if we support retrieving account history or travel reservations from that provider.

HTTP Request

GET https://business.awardwallet.com/api/export/v1/providers/{code}

Query Parameters

Parameter Type Required Description
code string true

Alpha-numeric value with no spaces that uniquely identifies any given provider. Can be retrieved from the /providers/list method.

Response

Parameter Type Required Description

kind

integer false

Type of the provider. The possible values are:

1 - Airline

2 - Hotel

3 - Car rental

4 - Train

5 - Other

6 - Credit card

7 - Shopping

8 - Dining

9 - Survey

code

string false

Alpha-numeric value with no spaces that uniquely identifies any given provider.

displayName

string false

User friendly display name of the provider. Typically includes both the company name and the name of the loyalty program, i.e. American Airlines (AAdvantage).

providerName

string false

Provider company name, i.e. "American Airlines".

programName

string false

Loyalty program name, i.e. "AAdvantage".

login

object false

An array describing the login field of that provider. You can use this data to build your UI. For example, login.title gives you the caption that you need to provide in your interface.

login2

object false

An array describing the login2 field of that provider (whenever applicable). A common example would be a drop down list of countries that we support. For example, for BestBuy we may support the USA and the Canada regions (completely different websites). login2 would describe that.

login3

object false

Similar in concept to login2, needed when an extra piece of input data is required from the user.

password

object false

The password field caption you can use in your interface, i.e. Password, PIN, etc.

properties

array false

The array of account properties (secondary attributes) that we may gather from the account on top of the account balance.

autoLogin

boolean false

Tells you if our server-side auto login is supported for this provider. Unfortunately, you can’t rely on this attribute 100% as first of all it may change without us detecting it and second it may work in some browsers but not in others.

deepLinking

boolean false

Deep linking is an auto-login to a specific URL on the provider’s website. Similarly, to the autoLogin attribute it is not very reliable for the same reasons.

canCheckConfirmation

boolean false

Tells you if we are able to retrieve travel itineraries from this provider using a confirmation number

canCheckItinerary

boolean false

Tells you if we support retrieving travel reservations from this provider.

canCheckExpiration

integer false

Tells you if we support retrieving the expiration dates for accounts that belong to this provider. Possible values are:

0 - No

1 - Yes

2 - Balance never expires

confirmationNumberFields

array false

Array of fields that are required to retrieve itineraries by confirmation number

historyColumns

array false

Array of columns that you can expect in return for account history. Empty, if provider does not support history parsing.

eliteLevelsCount

integer false

The total number of elite statuses this provider has. Can be used in calculating elite status progress to the highest level.

canParseHistory

boolean false

Tells you if we support retrieving historical account transactions for accounts belonging to this provider.

canParseFiles

boolean false

Tells you if we support retrieving account statements in a pdf (or similar) format.

Supported provider definition

Input

Parameter Type Required Description

code

string false

Field code is used by developers to identify the type of this field, i.e. “Login”

title

string false

Field title is a user-friendly name of the field that you can show as a caption in your UI.

options

array false

If there is a limited set of values that can go into this field, those options would be listed in this array. Use this array to create a drop down list in your UI.

required

boolean false

Even if the options array gives you an empty string as an option, if this field is set to true don’t accept an empty value from the user.

defaultValue

string false

The default value that we expect for this field.

PropertyInfo

Parameter Type Required Description

code

string false

Property code name – unique within a single provider. Can only have English numbers and letters with no spaces.

name

string false

User friendly name of the property such as “Account number”. You can display this to your end users.

kind

string false

Type of property, the possible values are:

0 - Basic property

1 - Account number

2 - Expiration

3 - Elite Status

4 - Lifetime points

5 - Member since

6 - Expiring balance (in some cases only a portion of the entire balance may expire)

7 - Points / miles earned year-to-date (YTD).

8 - Segments earned year-to-date (YTD).

9 - Next elite level

10 - Points / miles needed to get to the next elite level

11 - Flights / nights needed to get to the next elite level.

12 - Name of the account holder, as listed on the account.

13 - Date of the last account activity.

14 - Points / miles needed to get the next reward

15 - Elite level expiration date

16 - Points / miles needed to retain the current elite level

17 - Segments / flights needed to retain the current elite level

Itineraries

Flight

Example

                            
{
  "itineraries": [
    {
      "travelAgency": {
        "providerInfo": {
          "code": "expedia",
          "name": "Expedia.com",
          "accountNumbers": [
            {
              "number": "EXP-11298",
              "masked": false
            }
          ],
          "earnedRewards": "1 booking"
        },
        "confirmationNumbers": [
          {
            "number": "J3HND-8776",
            "description": "Trip Locator",
            "isPrimary": true
          },
          {
            "number": "88376495",
            "description": "Booking ID",
            "isPrimary": false
          }
        ],
        "phoneNumbers": [
          {
            "description": "Help Desk",
            "number": "+1-44-EXPEDIA"
          }
        ]
      },
      "pricingInfo": {
        "total": 150,
        "cost": 100,
        "discount": 28.34,
        "spentAwards": "3 segments",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 30
          },
          {
            "name": "Seat selection",
            "charge": 5.5
          },
          {
            "name": "Baggage fee",
            "charge": 14.5
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "delta",
        "name": "Delta Air Lines",
        "accountNumbers": [
          {
            "number": "1234****",
            "masked": true
          },
          {
            "number": "4321****",
            "masked": true
          }
        ],
        "earnedRewards": "300 award miles"
      },
      "cancelled": false,
      "cancellationPolicy": "Ticket is non-refundable",
      "notes": "Transfer shuttle will be located at the terminal exit",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "travelers": [
        {
          "name": "John Doe",
          "full": true,
          "accountNumbers": [
            {
              "number": "1234****",
              "masked": true
            }
          ],
          "ticketNumbers": [
            {
              "number": "006 123321",
              "masked": false
            }
          ],
          "seats": [
            {
              "seatNumber": "3E",
              "segmentNumber": 0
            },
            {
              "seatNumber": "1B",
              "segmentNumber": 1
            }
          ]
        },
        {
          "name": "Jane Doe",
          "full": true,
          "accountNumbers": [
            {
              "number": "4321****",
              "masked": true
            }
          ],
          "ticketNumbers": [
            {
              "number": "006 456654",
              "masked": false
            }
          ],
          "seats": [
            {
              "seatNumber": "3F",
              "segmentNumber": 0
            },
            {
              "seatNumber": "1C",
              "segmentNumber": 1
            }
          ]
        }
      ],
      "segments": [
        {
          "departure": {
            "airportCode": "LAX",
            "terminal": "A",
            "name": "Los Angeles International Airport",
            "localDateTime": "2030-01-01T13:30:00",
            "address": {
              "text": "LAX",
              "addressLine": "1 World Way",
              "city": "Los Angeles",
              "stateName": "California",
              "countryName": "United States",
              "countryCode": "US",
              "postalCode": "90045",
              "lat": 33.9415889,
              "lng": -118.40853,
              "timezone": -25200,
              "timezoneId": "America/Los_Angeles"
            }
          },
          "arrival": {
            "airportCode": "SFO",
            "terminal": "2",
            "name": "San Francisco International Airport",
            "localDateTime": "2030-01-01T15:00:00",
            "address": {
              "text": "SFO",
              "addressLine": "San Francisco International Airport",
              "city": "San Francisco",
              "stateName": "California",
              "countryName": "United States",
              "countryCode": "US",
              "postalCode": "94128",
              "lat": 37.615215,
              "lng": -122.389881,
              "timezone": -25200,
              "timezoneId": "America/Los_Angeles"
            }
          },
          "marketingCarrier": {
            "airline": {
              "name": "Delta Air Lines",
              "iata": "DL",
              "icao": "DAL"
            },
            "flightNumber": "0013",
            "confirmationNumber": "MRTG67",
            "phoneNumbers": [
              {
                "description": null,
                "number": "+1-404-714-2300"
              }
            ],
            "isCodeshare": true
          },
          "operatingCarrier": {
            "airline": {
              "name": "British Airways",
              "iata": "BA",
              "icao": "BAW"
            },
            "flightNumber": "5566",
            "confirmationNumber": "CARR23",
            "phoneNumbers": [
              {
                "description": null,
                "number": "+1-718-335-7070"
              }
            ]
          },
          "wetleaseCarrier": {
            "name": "Sky Express",
            "iata": null,
            "icao": null
          },
          "seats": [
            "3E",
            "3F"
          ],
          "aircraft": {
            "iataCode": "7M7",
            "name": "Boeing 737MAX 7 Passenger",
            "turboProp": false,
            "jet": true,
            "wideBody": false,
            "regional": false,
            "registrationNumber": "N345DL"
          },
          "traveledMiles": "300mi",
          "cabin": "Coach",
          "bookingCode": "CL",
          "duration": "1h30min",
          "meal": "Snacks",
          "smoking": false,
          "status": "Confirmed",
          "stops": 0,
          "flightStatsMethodUsed": "ScheduleByFlight"
        },
        {
          "departure": {
            "airportCode": "SFO",
            "terminal": "2",
            "name": "San Francisco International Airport",
            "localDateTime": "2030-01-05T06:00:00",
            "address": {
              "text": "SFO",
              "addressLine": "San Francisco International Airport",
              "city": "San Francisco",
              "stateName": "California",
              "countryName": "United States",
              "countryCode": "US",
              "postalCode": "94128",
              "lat": 37.615215,
              "lng": -122.389881,
              "timezone": -25200,
              "timezoneId": "America/Los_Angeles"
            }
          },
          "arrival": {
            "airportCode": "LAX",
            "terminal": "A",
            "name": "Los Angeles International Airport",
            "localDateTime": "2030-01-05T07:30:00",
            "address": {
              "text": "LAX",
              "addressLine": "1 World Way",
              "city": "Los Angeles",
              "stateName": "California",
              "countryName": "United States",
              "countryCode": "US",
              "postalCode": "90045",
              "lat": 33.9415889,
              "lng": -118.40853,
              "timezone": -25200,
              "timezoneId": "America/Los_Angeles"
            }
          },
          "marketingCarrier": {
            "airline": {
              "name": "Delta Air Lines",
              "iata": "DL",
              "icao": "DAL"
            },
            "flightNumber": "0014",
            "confirmationNumber": "MRTG67",
            "phoneNumbers": [
              {
                "description": null,
                "number": "+1-404-714-2300"
              }
            ],
            "isCodeshare": true
          },
          "operatingCarrier": {
            "airline": {
              "name": "British Airways",
              "iata": "BA",
              "icao": "BAW"
            },
            "flightNumber": "9009",
            "confirmationNumber": "CARR23",
            "phoneNumbers": [
              {
                "description": "Contact phone number",
                "number": "+1-718-335-7070"
              }
            ]
          },
          "wetleaseCarrier": null,
          "seats": [
            "1B",
            "1C"
          ],
          "aircraft": {
            "iataCode": "7M7",
            "name": "Boeing 737MAX 7 Passenger",
            "turboProp": false,
            "jet": true,
            "wideBody": false,
            "regional": false,
            "registrationNumber": "N345DL"
          },
          "traveledMiles": "300mi",
          "cabin": "First class",
          "bookingCode": "I",
          "duration": "1h30min",
          "meal": "Snacks",
          "smoking": false,
          "status": "Confirmed",
          "stops": 0,
          "flightStatsMethodUsed": "ScheduleByAirport"
        }
      ],
      "nonCommercial": false,
      "issuingCarrier": {
        "airline": {
          "name": "Delta Air Lines",
          "iata": "DL",
          "icao": "DAL"
        },
        "confirmationNumber": "ISSD12",
        "phoneNumbers": [
          {
            "description": "Contact phone number",
            "number": "+1-404-714-2300"
          }
        ],
        "ticketNumbers": [
          {
            "number": "006 123321",
            "masked": false
          },
          {
            "number": "006 456654",
            "masked": false
          }
        ]
      },
      "type": "flight"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

type

string true

Type of reservation. Value: flight

travelers

array false

Names of the people listed on the reservation

segments

array true

An array describing individual flight segments of the itinerary.

issuingCarrier

object false

Object that defines the airline that issued the ticket, could be the same as the marketingCarrier or could be different.

nonCommercial

boolean false

It will be set to true if we detect that the flight is non-commercial. Those generally don't have conventional flight numbers, so the flightNumber property in individual segments will be empty in most cases

Issuing Carrier

Any air ticket is always issued by some airline, this object defines the airline that actually issued the ticket.

Parameter Type Required Description

airline

object false

Object describing the airline that issued the ticket.

confirmationNumber

string false

PNR which corresponds to the airline that issued the ticket.

ticketNumbers

array false

If there are multiple travelers, all their ticket numbers will be listed in this array. However, if we can link ticket numbers to travelers' names from the email, these ticket numbers will also be available in the travelers.ticketNumbers arrays, which would tell you which ticket number is associated with which traveler. 

phoneNumbers

array false

Contact phone numbers

Flight Segment

Parameter Type Required Description

departure

object true

An object describing the departure event such as the departing airport (code, name, address, etc.) as well as the time of the departure.

arrival

object true

An object describing the arrival event such as the arriving airport (code, name, address, etc.) as well as the time of the arrival.

marketingCarrier

object true

Object that defines the flight as it was ticketed. In other words, this is the information that the users would see on their ticket or boarding pass.

operatingCarrier

object false

If an email contains information about an “operating airline” that is different from the airline listed under the marketingCarrier object, that airline would be defined here. Don’t confuse it with wet lease airline, sometimes wet lease airlines are listed as “operated by” but they are technically not codeshares and would be listed separately in the wetleaseCarrier object.

wetleaseCarrier

object false

Wet lease airline is an airline that is DBA (doing business as) the operating airline. It wouldn’t have its own flight number or ticket numbers or confirmation numbers but you may see the wet lease airline listed on the ticket as “ExpressJet” or “KLM Cityhopper”, etc.

seats

array false

Assigned passenger seats. Please note that if there are multiple travelers and we are able to link their seat numbers to their names from the email, you can grab the seat numbers from the travelers.seats arrays, which would tell you which seat number is associated with which traveler on per travel segment basis.

seatTypes

array false

Seat locations

aircraft

object false

Object defining the aircraft.

traveledMiles

string false

Number of miles traveled on this flight segment, as we gathered it from the provider's website.

calculatedTraveledMiles

integer false

Estimated number of miles traveled on this flight segment, calculated based on the destination and arrival airports

cabin

string false

Cabin class, i.e. “Economy”

bookingCode

string false

Booking class code, i.e. “T”

duration

string false

Flight duration, as a string, as we gathered it from the provider’s website. Don’t expect to be able to use it programmatically to add or subtract time without some type of transformation on your end that would be specific to each provider.

calculatedDuration

integer false

Flight duration in minutes, calculated based on the departure and arrival times

status

string false

Status of the segment. I.e. cancelled, confirmed, etc.

cancelled

boolean false

Will be set to “true” if this flight was canceled

meal

string false

Meal, if any, that will be offered on the flight.

smoking

boolean false

Most flights nowadays are non-smoking; however, in case if the airline identifies the flight as a smoking flight it would be identified in this field.

stops

integer false

Number of stops this flight has.

flightStatsMethodUsed

string false

If FlightStats API was called to retrieve some missing files that are not present in the email and are required for this flight segment the name of the FlightStats API call will be returned in this field. The possible values are:

  • ScheduleByFlight
  • ScheduleByRoute
  • ScheduleByAirport
  • HistoricalByFlight
  • HistoricalByRoute
  • HistoricalByAirport

Aircraft

Parameter Type Required Description

iataCode

string false

Aircraft IATA code

name

string true

Aircraft name

turboProp

boolean false

Indicates if this is a turboprop aircraft

jet

boolean false

Indicates if this is a jet engine aircraft

wideBody

boolean false

Indicates if this is a wide-body aircraft

regional

boolean false

Indicates if this is a regional aircraft

registrationNumber

string false

Registration number of the aircraft

SeatType

Parameter Type Required Description

seat

string false

Seat number

type

string false

Location of the seat. Possible values are window, middle, aisle

Operating Carrier

Whenever the operating airline is different from the airline listed on the ticket (next to the flight number), that operating airline flight info would be listed in this object as the operating carrier. Don’t confuse this with a wet lease airline.

Parameter Type Required Description

airline

object false

Object describing the operating airline if this airline is different from the one that was listed on the passenger’s ticket.

flightNumber

string false

Operating airline flight number

confirmationNumber

string false

PNR issued by the operating airline, in most cases will be unknown, i.e. null

phoneNumbers

array false

Contact phone numbers

Marketing Carrier

The flight and airline information as it shows up on the ticket.

Parameter Type Required Description

airline

object true

Object describing the airline that is listed on the ticket, sometimes it is the 2 letter prefix that goes before the flight number as listed on the issued ticket.

flightNumber

string true

Flight number that is listed on the passenger’s ticket.

confirmationNumber

string false

Passenger name record, a.k.a. PNR that is associated with the airline the passenger was ticketed for.

phoneNumbers

array false

Airline phone numbers as shown in the email or the number(s) could be populated by AwardWallet automatically based on the airline even if the numbers were not present in the email.

isCodeshare

boolean false

If this is a codeshare flight and we know the actual operating airline, we would set this attribute to true and then list the actual operating airline (only if it is different from the marketingCarrier.airline) in the operatingCarrier object.

Airline

Parameter Type Required Description

name

string true

Airline name

iata

string false

IATA code of the airline

icao

string false

International Civil Aviation Organization airline code.

Flight Departure or Arrival

This object is describing the arrival or departure events of air travel.

Parameter Type Required Description

airportCode

string true

If this location happened to be an airport this field will return a Validated IATA airport code.

terminal

string false

In cases when terminal is known it will be returned in this field.

name

string true

Train station name or airport name such as “John F. Kennedy International Airport”.

localDateTime

string true

Local date and time of arrival or departure (depending on the type of this location).

address

object true

Object defining the address of this location.

Address

Parameter Type Required Description

text

string true

Non-validated address string. You can usually use this line to search some API (i.e. Google API) to get detailed / structured information about that address. We usually just grab this text as-is from the provider’s website.

addressLine

string false

Validated address line of the address (without the city, state, country and zip code) that we got from either Google API or another authoritative source.

city

string false

Name of the city validated either by Google API or another authoritative source

stateName

string false

Name of the state validated either by Google API or another authoritative source

countryName

string false

Name of the country validated either by Google API or another authoritative source

countryCode

string false

2 letter country code validated either by Google API or another authoritative source

postalCode

string false

Zip / postal code validated either by Google API or another authoritative source

lat

number false

Latitude coordinate of the address

lng

number false

Longitude coordinate of the address

timezone

integer false

Time zone in which this address is located.

timezoneId

string false

Name of the time zone

Person

Parameter Type Required Description

name

string true

Name of the person listed on the reservation.

full

boolean false

Sometimes passenger or guest names are shortened on the reservation, if we are able to detect it, this field will reflect that. It will be set to true if the we know the name is full (for example John J Smith) and false if the name is shortened, for example (John S.).

type

string false

If this passenger is an infant, we will return infant as the returned string; otherwise, the value is null. No other values are possible at the moment.

accountNumbers

array false

Sometimes, especially when there are multiple travelers, we are able to associate their account numbers with their names. In this case, you can find account numbers linked to each traveler in this attribute. Otherwise, you should check providerInfo.accountNumbers and travelAgency.accountNumbers to find the account numbers.

ticketNumbers

array false

Sometimes, especially when there are multiple travelers, we are able to associate their ticket numbers with their names. In this case, ticket numbers are linked to each traveler via this attribute. Otherwise, you should check issuingCarrier.ticketNumbers to get the ticket numbers.

seats

array false

Sometimes, we are able to associate individual travelers' seat numbers with their names, especially when there are multiple travelers. In this case, seat numbers are linked to each traveler via this attribute. Otherwise, you should check segments.seats to get the seat numbers.

NumberedSeat

Seat number

Parameter Type Required Description

seatNumber

string false

Seat number

segmentNumber

integer false

If the parsed itinerary has multiple segments and the travelers have different seats on each segment, this number will tell which segment the seat is associated with. Please note, that the very first segment will be identified as zero, not one.

seatType

string false

Location of the seat. Possible values are window, middle, aisle

Pricing Info

Parameter Type Required Description

total

number false

Total cost of the reservation including all taxes and fees.

cost

number false

Cost of the reservation before taxes.

discount

number false

Total amount of discounts, if any.

spentAwards

string false

Frequent flier miles, points, or other kinds or bonuses spent on this reservation.

currencyCode

string false

Currency code as gathered from the website. I.e. USD.

fees

array false

Various fees associated with the reservation.

Fee

Parameter Type Required Description

name

string true

Fee description.

charge

number true

Fee amount.

Travel Agency

Parameter Type Required Description

providerInfo

object false

This object describes the travel agency, specifically the loyalty information as it pertains to this travel agency.

confirmationNumbers

array false

Confirmation numbers that were assigned to this trip by the travel agency. Different from the PNRs assigned by the airline.

phoneNumbers

array false

Phone numbers of the travel agency.

Phone Number

Parameter Type Required Description

description

string false

Description of the phone number.

number

string true

Phone number

Confirmation Numbers

Parameter Type Required Description

number

string true

Confirmation number

description

string false

Confirmation number description

isPrimary

boolean false

Indicates whether this confirmation number can be considered as primary

Provider Info

If there is a loyalty program associated with this reservation, the details specific to that program will be listed in this object.

Parameter Type Required Description

name

string false

Loyalty program name

code

string false

Alpha-numeric value with no spaces that uniquely identifies any given loyalty program within AwardWallet.

accountNumbers

array false

An array of related loyalty program account numbers. Please note that if there are multiple travelers and we are able to link their loyalty program account numbers to their names from the email, you can grab them from the travelers.accountNumbers arrays, which would tell you which account number is associated with which traveler.

earnedRewards

string false

Rewards earned for booking the reservation

Number

This object represents a ticket or an account number.

Parameter Type Required Description

number

string true

Number as it was parsed from the email

masked

boolean true

Will be set to true if the number is partially masked (i.e."XXXX1234", "****5678").

description

string false

This attribute describes the number, usually identifying the associated loyalty program or airline. Note that this data is unstructured and is extracted directly from the email as-is.

Car Rental

Rental car reservation

Example

                            
{
  "itineraries": [
    {
      "travelAgency": null,
      "pricingInfo": {
        "total": 251.41,
        "cost": 193.75,
        "discount": 40,
        "spentAwards": "10000 points",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 34.56
          },
          {
            "name": "Insurance",
            "charge": 23.1
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "avis",
        "name": "Avis",
        "accountNumbers": [
          {
            "number": "AVS454545",
            "masked": false
          }
        ],
        "earnedRewards": "50 points"
      },
      "cancelled": false,
      "cancellationPolicy": "$50 penalty if cancelled",
      "notes": "Make a note of any damages before leaving the pickup area",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "confirmationNumbers": [
        {
          "number": "1122334455",
          "description": "Confirmation number",
          "isPrimary": true
        },
        {
          "number": "887756",
          "description": "Reference",
          "isPrimary": false
        }
      ],
      "pickup": {
        "address": {
          "text": "Palm Beach Intl Airport,PBI, 2500 Turnage Boulevard, West Palm Beach, FL 33406 US",
          "addressLine": "1000 James L Turnage Boulevard",
          "city": "West Palm Beach",
          "stateName": "Florida",
          "countryName": "United States",
          "countryCode": "US",
          "postalCode": "33415",
          "lat": 26.6857475,
          "lng": -80.0928165,
          "timezone": -14400,
          "timezoneId": "America/New_York"
        },
        "localDateTime": "2030-01-01T13:30:00",
        "openingHours": "Sun - Sat open 24 hrs",
        "phone": "+1-13-PICKUP",
        "fax": "+1-14-FAX"
      },
      "dropoff": {
        "address": {
          "text": "Palm Beach Intl Airport,PBI, 2500 Turnage Boulevard, West Palm Beach, FL 33406 US",
          "addressLine": "1000 James L Turnage Boulevard",
          "city": "West Palm Beach",
          "stateName": "Florida",
          "countryName": "United States",
          "countryCode": "US",
          "postalCode": "33415",
          "lat": 26.6857475,
          "lng": -80.0928165,
          "timezone": -14400,
          "timezoneId": "America/New_York"
        },
        "localDateTime": "2030-01-05T13:30:00",
        "openingHours": "Sun - Sat open 24 hrs",
        "phone": "+1-13-DROPOFF",
        "fax": "+1-14-FAX"
      },
      "car": {
        "type": "Regular",
        "model": "Ford Edge or similar",
        "imageUrl": "http://car.image/url"
      },
      "discounts": null,
      "driver": {
        "name": "John Doe",
        "full": true,
        "type": null,
        "accountNumbers": null,
        "ticketNumbers": null,
        "seats": null
      },
      "pricedEquipment": null,
      "rentalCompany": null,
      "type": "carRental"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

type

string true

Type of reservation. Value: carRental

confirmationNumbers

array false

Reservation confirmation number(s) specific to the travel provider. If there are other confirmation numbers specific to a travel agency, those would be listed under the travelAgency. confirmationNumbers. In some cases, there are multiple reservation numbers.

pickup

object true

Object defining the pickup event (time and location) of the rental car.

dropoff

object true

Object defining the dropoff event (time and location) of the rental car.

car

object false

Object defining the rental car.

discounts

array false

An array of various discounts that were applied to the reservation.

driver

object false

Object describing the driver of the car.

pricedEquipment

array false

An array of additional equipment that was added to the reservation.

rentalCompany

string false

Name of the rental company.

Car Rental Discount

Parameter Type Required Description

name

string true

Discount name, such as “Your Rate has been discounted based on the Hertz CDP provided”.

code

string true

Discount code, such as “AAA SOUTHERN NEW ENGLAND”

Car

Parameter Type Required Description

type

string false

Type of the rental car, i.e. “Intermediate SUV”.

model

string false

Model of the rental car, i.e. “Ford Escape or similar”.

imageUrl

string false

URL of the image of the car.

Car Rental Location

Pickup or drop off location of the rental car.

Parameter Type Required Description

address

object true

Rental car facility address.

localDateTime

string true

Scheduled date and time of the car pickup or drop-off in the time zone of the location of the rental car facility.

openingHours

string false

Rental car facility hours of operation.

phone

string false

Rental car facility phone number.

fax

string false

Rental car facility fax number.

Hotel Reservation

Hotel reservation

Example

                            
{
  "itineraries": [
    {
      "travelAgency": null,
      "pricingInfo": {
        "total": 300,
        "cost": 200,
        "discount": 40,
        "spentAwards": "10000 points",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 100
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "spg",
        "name": "Starwood Hotels",
        "accountNumbers": [
          {
            "number": "xxxxxx345",
            "masked": true
          }
        ],
        "earnedRewards": "4 nights"
      },
      "cancelled": false,
      "cancellationPolicy": "Cancellation is free 24 hours prior to check-in",
      "cancellationDeadline": "2029-12-31T13:30:00",
      "isNonRefundable": null,
      "notes": "Use the secondary entrance if you're carrying large luggage",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "confirmationNumbers": [
        {
          "number": "1122334455",
          "description": "Confirmation number",
          "isPrimary": true
        },
        {
          "number": "887756",
          "description": "Reference",
          "isPrimary": false
        }
      ],
      "hotelName": "Sheraton Philadelphia Downtown Hotel",
      "chainName": null,
      "address": {
        "text": "201 North 17th Street, Philadelphia, Pennsylvania 19103 United States",
        "addressLine": "201 North 17th Street",
        "city": "Philadelphia",
        "stateName": "Pennsylvania",
        "countryName": "United States",
        "countryCode": "US",
        "postalCode": "19103",
        "lat": 39.9569828,
        "lng": -75.1674669,
        "timezone": -14400,
        "timezoneId": "America/New_York"
      },
      "checkInDate": "2030-01-01T13:30:00",
      "checkOutDate": "2030-01-05T12:00:00",
      "phone": "+1-22-3333",
      "fax": "+1-66-77899",
      "guests": [
        {
          "name": "John D.",
          "full": false,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        },
        {
          "name": "Jane D.",
          "full": false,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        }
      ],
      "guestCount": 2,
      "kidsCount": 3,
      "roomsCount": 1,
      "rooms": [
        {
          "type": "King bed",
          "description": "Traditional, TV, free wi-fi",
          "rate": "30$/night",
          "rateType": "King bed"
        }
      ],
      "type": "hotelReservation"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

cancellationNumber

string false

Cancellation number if the reservation has been cancelled

cancellationDeadline

string false

Deadline date for changing or cancelling the reservation without additional penalties

isNonRefundable

boolean false

Set to true if the reservation is non-refundable. Set to null if we don’t know if the reservation is refundable or non-refundable.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

type

string true

Type of reservation. Value: hotelReservation

confirmationNumbers

array false

Reservation confirmation number(s) specific to the travel provider. If there are other confirmation numbers specific to a travel agency, those would be listed under the travelAgency. confirmationNumbers. In some cases, there are multiple reservation numbers, for example if there are multiple hotel rooms booked.

hotelName

string true

Name of the hotel, i.e. “Hilton Garden Inn Atlanta Perimeter Center”

chainName

string false

Name of the hotel chain.

address

object true

An object describing all the details of the address of the hotel.

checkInDate

string true

Check-in date.

checkOutDate

string true

Check-out date.

phone

string false

Hotel’s phone number.

fax

string false

Hotel’s fax number.

guests

array false

An array describing guests that are listed on the reservation.

guestCount

integer false

Number of guests on the reservation.

kidsCount

integer false

Number of kids listed on the reservation.

roomsCount

integer false

Number of rooms listed on the reservation.

rooms

array false

An array describing the room(s) listed on the reservation.

freeNights

integer false

Number of free nights obtained via a certificate or a promo

Room

Parameter Type Required Description

type

string false

Room type, i.e. “2 QUEEN BEDS NONSMOKING”

description

string false

Room description, i.e. “Non-Smoking Room Confirmed”

rate

string false

Room rate per night.

rateType

string false

Room rate type, i.e. “2 QUEEN BEDS NONSMOKING”.

Bus

Bus ride

Example

                            
{
  "itineraries": [
    {
      "travelAgency": {
        "providerInfo": {
          "code": "expedia",
          "name": "Expedia.com",
          "accountNumbers": [
            {
              "number": "EXP-11298",
              "masked": false
            }
          ],
          "earnedRewards": "1 booking"
        },
        "confirmationNumbers": [
          {
            "number": "J3HND-8776",
            "description": "Trip Locator",
            "isPrimary": true
          },
          {
            "number": "88376495",
            "description": "Booking ID",
            "isPrimary": false
          }
        ],
        "phoneNumbers": [
          {
            "description": "Help Desk",
            "number": "+1-44-EXPEDIA"
          }
        ]
      },
      "pricingInfo": {
        "total": 251.41,
        "cost": 193.75,
        "discount": 40,
        "spentAwards": "10000 points",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 34.56
          },
          {
            "name": "Insurance",
            "charge": 23.1
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "boltbus",
        "name": "BoltBus",
        "accountNumbers": [
          {
            "number": "BB3398",
            "masked": false
          }
        ],
        "earnedRewards": "50 points"
      },
      "cancelled": false,
      "cancellationPolicy": "Ticket is non-refundable",
      "notes": "Keep your ticket at your person at all times",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "confirmationNumbers": [
        {
          "number": "A04-33984-12",
          "description": "Confirmation #",
          "isPrimary": true
        },
        {
          "number": "887756",
          "description": "Transaction number",
          "isPrimary": false
        }
      ],
      "travelers": [
        {
          "name": "John Doe",
          "full": true,
          "type": null,
          "accountNumbers": [
            {
              "number": "4321****",
              "masked": true
            }
          ],
          "ticketNumbers": null,
          "seats": null
        },
        {
          "name": "Jane Doe",
          "full": true,
          "type": "infant",
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        }
      ],
      "segments": [
        {
          "scheduleNumber": "2023",
          "departure": {
            "stationCode": "BSS",
            "name": "Boston South Station - Gate 9 NYC-Gate 10 NWK\\/PHL",
            "localDateTime": "2030-01-01T13:30:00",
            "address": {
              "text": "Boston South Station - Gate 9 NYC-Gate 10 NWK\\/PHL",
              "addressLine": "700 Atlantic Avenue",
              "city": "Boston",
              "stateName": "Massachusetts",
              "countryName": "United States",
              "countryCode": "US",
              "postalCode": "02111",
              "lat": 42.3504505,
              "lng": -71.0561242,
              "timezone": -14400,
              "timezoneId": "America/New_York"
            }
          },
          "arrival": {
            "stationCode": "NWW",
            "name": "New York W 33rd St & 11-12th Ave (DC,BAL,BOS,PHL)",
            "localDateTime": "2030-01-01T20:34:00",
            "address": {
              "text": "New York W 33rd St & 11-12th Ave (DC,BAL,BOS,PHL)",
              "addressLine": null,
              "city": null,
              "stateName": null,
              "countryName": null,
              "countryCode": null,
              "postalCode": null,
              "lat": null,
              "lng": null,
              "timezone": null,
              "timezoneId": null
            }
          },
          "busInfo": {
            "type": "Regular",
            "model": "Mercedes"
          },
          "seats": [
            "11",
            "12"
          ],
          "traveledMiles": "43mi",
          "cabin": null,
          "bookingCode": null,
          "duration": "7h",
          "meal": null,
          "smoking": null,
          "stops": null
        }
      ],
      "ticketNumbers": [
        {
          "number": "345667",
          "masked": false
        },
        {
          "number": "345668",
          "masked": false
        }
      ],
      "type": "bus"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

confirmationNumbers

array false

Reservation confirmation number(s) specific to the travel provider. If there are other confirmation numbers specific to a travel agency, those would be listed under the travelAgency. confirmationNumbers. In some cases, there are multiple reservation numbers, for example if there are multiple hotel rooms booked.

travelers

array false

Names of the people listed on the reservation

type

string true

Type of reservation. Value: bus

segments

array true

An array describing individual travel segments of the itinerary.

ticketNumbers

array false

There may be different ticket numbers associated with an itinerary. All the ticket numbers that we gather would be presented as an array in this field. However, if we can link ticket numbers to travelers' names from the email, these ticket numbers will also be available in the travelers.ticketNumbers arrays, which would tell you which ticket number is associated with which traveler.

Bus segment

Parameter Type Required Description

scheduleNumber

string false

ScheduleNumber is similar in concept to FlightNumber but applicable to Trains or Busses, etc. So it is designed to define a route number for various types of transportation itineraries.

departure

object true

An object describing the departure event of this trip segment, such as a bus stop location and the time of departure.

arrival

object true

An object describing the arrival event of this trip segment, such as a bus stop location and the time of arrival.

busInfo

object false

And object describing the bus

seats

array false

Assigned passenger seats. Please note that if there are multiple travelers and we are able to link their seat numbers to their names from the email, you can grab the seat numbers from the travelers.seats arrays, which would tell you which seat number is associated with which traveler on per travel segment basis.

traveledMiles

string false

Number of miles traveled on this segment.

cabin

string false

Cabin class, i.e. “Economy”

bookingCode

string false

Booking class code, i.e. “SL” for “Sleeper class” booking code.

duration

string false

Trip duration

meal

string false

Meal, if any, that will be offered on the train, ferry, bus, etc.

smoking

boolean false

Most transporation services nowadays are non-smoking; however, in case if the provider identifies the car / train / bus as smoking it would be listed in this field.

stops

integer false

Number of stops this transportation segment has.

Vehicle

This object describes the vehicle used to trasport a passenger

Parameter Type Required Description

type

string false

Short description

model

string false

Model of the vehicle

Transportation Departure or Arrival

This object describes the transportation departure and arrival events

Parameter Type Required Description

stationCode

string false

This attribute shows the bus station or train station or port code as it shows up on the email. This field is not validated.

name

string true

Station or location name

localDateTime

string true

Local date and time of arrival or departure (depending on the type of this location).

address

object true

Object defining the address of this location.

Train

Train ride

Example

                            
{
  "itineraries": [
    {
      "travelAgency": null,
      "pricingInfo": {
        "total": 251.41,
        "cost": 193.75,
        "discount": 40,
        "spentAwards": "10000 points",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 34.56
          },
          {
            "name": "Insurance",
            "charge": 23.1
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "amtrak",
        "name": "Amtrak",
        "accountNumbers": [
          {
            "number": "AM3398",
            "masked": false
          }
        ],
        "earnedRewards": "50 points"
      },
      "cancelled": false,
      "cancellationPolicy": "Ticket is non-refundable",
      "notes": "Taxi will be waiting for you in the parking area",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "confirmationNumbers": [
        {
          "number": "A04-33984-12",
          "description": "Confirmation #",
          "isPrimary": true
        },
        {
          "number": "887756",
          "description": "Transaction number",
          "isPrimary": false
        }
      ],
      "travelers": [
        {
          "name": "John Doe",
          "full": true,
          "type": null,
          "accountNumbers": [
            {
              "number": "AM3398",
              "masked": false
            }
          ],
          "ticketNumbers": [
            {
              "number": "345667",
              "masked": false
            }
          ],
          "seats": null
        },
        {
          "name": "Jane Doe",
          "full": true,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": [
            {
              "number": "345668",
              "masked": false
            }
          ],
          "seats": null
        }
      ],
      "segments": [
        {
          "departure": {
            "stationCode": "BBSS",
            "name": "Boston South Station - Gate 9 NYC-Gate 10 NWK\\/PHL",
            "localDateTime": "2030-01-01T13:30:00",
            "address": {
              "text": "Boston South Station - Gate 9 NYC-Gate 10 NWK\\/PHL",
              "addressLine": "700 Atlantic Avenue",
              "city": "Boston",
              "stateName": "Massachusetts",
              "countryName": "United States",
              "countryCode": "US",
              "postalCode": "02111",
              "lat": 42.3504505,
              "lng": -71.0561242,
              "timezone": -14400,
              "timezoneId": "America/New_York"
            }
          },
          "arrival": {
            "stationCode": "NNYW",
            "name": "New York W 33rd St & 11-12th Ave (DC,BAL,BOS,PHL)",
            "localDateTime": "2030-01-01T20:34:00",
            "address": {
              "text": "New York W 33rd St & 11-12th Ave (DC,BAL,BOS,PHL)",
              "addressLine": null,
              "city": null,
              "stateName": null,
              "countryName": null,
              "countryCode": null,
              "postalCode": null,
              "lat": null,
              "lng": null,
              "timezone": null,
              "timezoneId": null
            }
          },
          "scheduleNumber": "2023",
          "serviceName": "Amtrak Express",
          "trainInfo": {
            "type": "Regular",
            "model": null
          },
          "car": "4",
          "seats": [
            "11",
            "12"
          ],
          "traveledMiles": "43mi",
          "cabin": "coach",
          "bookingCode": null,
          "duration": "7h",
          "meal": null,
          "smoking": null,
          "stops": null
        }
      ],
      "ticketNumbers": [
        {
          "number": "345667",
          "masked": false
        },
        {
          "number": "345668",
          "masked": false
        }
      ],
      "type": "train"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

confirmationNumbers

array false

Reservation confirmation number(s) specific to the travel provider. If there are other confirmation numbers specific to a travel agency, those would be listed under the travelAgency. confirmationNumbers. In some cases, there are multiple reservation numbers, for example if there are multiple hotel rooms booked.

travelers

array false

Names of the people listed on the reservation

type

string true

Type of reservation. Value: train

segments

array true

An array describing individual travel segments of the itinerary.

ticketNumbers

array false

There may be different ticket numbers associated with an itinerary. All the ticket numbers that we gather would be presented as an array in this field. However, if we can link ticket numbers to travelers' names from the email, these ticket numbers will also be available in the travelers.ticketNumbers arrays, which would tell you which ticket number is associated with which traveler.

Train segment

Parameter Type Required Description

scheduleNumber

string false

ScheduleNumber is similar in concept to FlightNumber but applicable to Trains or Busses, etc. So it is designed to define a route number for various types of transportation itineraries.

departure

object true

An object describing the departure event of this trip segment, such as a train station and the time of departure.

arrival

object true

An object describing the arrival event of this trip segment, such as a train station and the time of arrival.

serviceName

string false

Short name of the particular service or route

trainInfo

object false

And object describing the train

car

string false

Train car number.

seats

array false

Assigned passenger seats in a car. Please note that if there are multiple travelers and we are able to link their seat numbers to their names from the email, you can grab the seat numbers from the travelers.seats arrays, which would tell you which seat number is associated with which traveler on per travel segment basis.

seatTypes

array false

Seat locations

traveledMiles

string false

Number of miles traveled on this segment.

cabin

string false

Cabin class, i.e. “Economy”

bookingCode

string false

Booking class code, i.e. “SL” for “Sleeper class” booking code.

duration

string false

Trip duration

meal

string false

Meal, if any, that will be offered on the train, ferry, bus, etc.

smoking

boolean false

Most transporation services nowadays are non-smoking; however, in case if the provider identifies the car / train / bus as smoking it would be listed in this field.

stops

integer false

Number of stops this transportation segment has.

ticketLinks

array false

Array of links to train tickets or boarding passes for this segment

Parameter Type Required Description

link

string false

Link to a downloadable ticket, which is usually a PDF file with a QR code

name

string false

Name of the ticket owner

Transfer

Car or shuttle bus ride

Example

                            
{
  "itineraries": [
    {
      "travelAgency": null,
      "pricingInfo": {
        "total": 251.41,
        "cost": 193.75,
        "discount": 40,
        "spentAwards": "10000 points",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 34.56
          },
          {
            "name": "Insurance",
            "charge": 23.1
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "uber",
        "name": "Uber.com",
        "accountNumbers": [
          {
            "number": "AM3398",
            "masked": false
          }
        ],
        "earnedRewards": "50 points"
      },
      "cancelled": false,
      "cancellationPolicy": "Ticket is non-refundable",
      "notes": "You may be asked to provide an ID",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "confirmationNumbers": [
        {
          "number": "A04-33984-12",
          "description": "Confirmation #",
          "isPrimary": true
        },
        {
          "number": "887756",
          "description": "Transaction number",
          "isPrimary": false
        }
      ],
      "travelers": [
        {
          "name": "John Doe",
          "full": true,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        },
        {
          "name": "Jane Doe",
          "full": true,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        }
      ],
      "segments": [
        {
          "departure": {
            "airportCode": "SFO",
            "name": "San Francisco International Airport",
            "localDateTime": "2030-01-01T13:30:00",
            "address": {
              "text": "SFO",
              "addressLine": "San Francisco International Airport",
              "city": "San Francisco",
              "stateName": "California",
              "countryName": "United States",
              "countryCode": "US",
              "postalCode": null,
              "lat": 37.615215,
              "lng": -122.389881,
              "timezone": -25200,
              "timezoneId": "America/Los_Angeles"
            }
          },
          "arrival": {
            "airportCode": null,
            "name": "315 Walnut Ave, South San Francisco, CA 94080, USA",
            "localDateTime": "2030-01-01T14:34:00",
            "address": {
              "text": "315 Walnut Ave, South San Francisco, CA 94080, USA",
              "addressLine": "315 Walnut Avenue",
              "city": "South San Francisco",
              "stateName": "California",
              "countryName": "United States",
              "countryCode": "US",
              "postalCode": "94080",
              "lat": 37.6569251,
              "lng": -122.4143844,
              "timezone": -25200,
              "timezoneId": "America/Los_Angeles"
            }
          },
          "vehicleInfo": {
            "type": "Regular",
            "model": "Ford Focus",
            "imageUrl": "http://car.image/url"
          },
          "adults": 1,
          "kids": 0,
          "traveledMiles": "4.3mi",
          "duration": "7h"
        }
      ],
      "type": "transfer"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

confirmationNumbers

array false

Reservation confirmation number(s) specific to the travel provider. If there are other confirmation numbers specific to a travel agency, those would be listed under the travelAgency. confirmationNumbers. In some cases, there are multiple reservation numbers, for example if there are multiple hotel rooms booked.

travelers

array false

Names of the people listed on the reservation

type

string true

Type of reservation. Value: transfer

segments

array true

An array describing individual travel segments of the itinerary.

Transfer segment

Parameter Type Required Description

departure

object true

An object describing the departure event of this trip segment, such as an address or an airport and the time of departure.

arrival

object true

An object describing the arrival event of this trip segment, such as an address or an airport and the time of arrival.

vehicleInfo

object false

And object describing the vehicle

adults

integer false

kids

integer false

traveledMiles

string false

Number of miles traveled on this segment.

duration

string false

Trip duration

Transfer Departure or Arrival

This object describes the transfer departure and arrival events

Parameter Type Required Description

airportCode

string false

Iata code of an airport.

name

string true

Location name

localDateTime

string true

Local date and time of arrival or departure (depending on the type of this location).

address

object true

Object defining the address of this location.

Cruise

Example

                            
{
  "itineraries": [
    {
      "travelAgency": null,
      "pricingInfo": {
        "total": 251.41,
        "cost": 193.75,
        "discount": 40,
        "spentAwards": "10000 points",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 34.56
          },
          {
            "name": "Insurance",
            "charge": 23.1
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "disneycruise",
        "name": "Disney Cruise Line",
        "accountNumbers": [
          {
            "number": "AM3398",
            "masked": false
          }
        ],
        "earnedRewards": "50 points"
      },
      "cancelled": false,
      "cancellationPolicy": "Ticket is non-refundable",
      "notes": "Do not forget to check in with the receptionist at the main deck",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "confirmationNumbers": [
        {
          "number": "A04-33984-12",
          "description": "Confirmation #",
          "isPrimary": true
        },
        {
          "number": "887756",
          "description": "Transaction number",
          "isPrimary": false
        }
      ],
      "travelers": [
        {
          "name": "John Doe",
          "full": true,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        },
        {
          "name": "Jane Doe",
          "full": true,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        }
      ],
      "segments": [
        {
          "departure": {
            "stationCode": null,
            "name": "PORT CANAVERAL",
            "localDateTime": "2030-01-01T13:30:00",
            "address": {
              "text": "PORT CANAVERAL",
              "addressLine": null,
              "city": null,
              "stateName": null,
              "countryName": null,
              "countryCode": null,
              "postalCode": null,
              "lat": null,
              "lng": null,
              "timezone": null,
              "timezoneId": null
            }
          },
          "arrival": {
            "stationCode": null,
            "name": "NASSAU",
            "localDateTime": "2030-01-02T08:00:00",
            "address": {
              "text": "NASSAU",
              "addressLine": null,
              "city": null,
              "stateName": null,
              "countryName": null,
              "countryCode": null,
              "postalCode": null,
              "lat": 25.0479835,
              "lng": -77.355413,
              "timezone": -14400,
              "timezoneId": "America/Nassau"
            }
          }
        },
        {
          "departure": {
            "stationCode": null,
            "name": "NASSAU",
            "localDateTime": "2030-01-02T12:00:00",
            "address": {
              "text": "NASSAU",
              "addressLine": null,
              "city": null,
              "stateName": null,
              "countryName": null,
              "countryCode": null,
              "postalCode": null,
              "lat": 25.0479835,
              "lng": -77.355413,
              "timezone": -14400,
              "timezoneId": "America/Nassau"
            }
          },
          "arrival": {
            "stationCode": null,
            "name": "PORT CANAVERAL",
            "localDateTime": "2030-01-03T14:00:00",
            "address": {
              "text": "PORT CANAVERAL",
              "addressLine": null,
              "city": null,
              "stateName": null,
              "countryName": null,
              "countryCode": null,
              "postalCode": null,
              "lat": null,
              "lng": null,
              "timezone": null,
              "timezoneId": null
            }
          }
        }
      ],
      "cruiseDetails": {
        "description": "Long cruise",
        "class": "Regular",
        "deck": "3",
        "room": "342",
        "ship": "Disney Dream",
        "shipCode": "SHCD",
        "voyageNumber": "K229"
      },
      "type": "cruise"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

type

string true

Type of reservation. Value: cruise

confirmationNumbers

array false

Reservation confirmation number(s) specific to the travel provider. If there are other confirmation numbers specific to a travel agency, those would be listed under the travelAgency. confirmationNumbers. In some cases, there are multiple reservation numbers, for example if there are multiple hotel rooms booked.

travelers

array false

Names of the people listed on the reservation

segments

array true

An array describing individual travel segments of the itinerary.

cruiseDetails

object false

Cruise Details

Cruise Details

Parameter Type Required Description

description

string false

Cruise description, such as “7-Day Eastern Caribbean from Orlando (Port Canaveral)”

class

string false

Room class

deck

string false

Name of the deck, i.e. “The Haven Stateroom”

room

string false

Room number

ship

string false

The name of the ship, i.e. “Norwegian Epic”

shipCode

string false

This is usually a two-letter code that identifies the ship

voyageNumber

string false

Voyage number

Cruise Segment

Parameter Type Required Description

departure

object true

Object describing the departure port

arrival

object true

Object describing the arrival port

Event

Example

                            
{
  "itineraries": [
    {
      "travelAgency": null,
      "pricingInfo": {
        "total": 251.41,
        "cost": 193.75,
        "discount": 40,
        "spentAwards": "10000 points",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 34.56
          },
          {
            "name": "Insurance",
            "charge": 23.1
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "opentable",
        "name": "OpenTable.com",
        "accountNumbers": [
          {
            "number": "AM3398",
            "masked": false
          }
        ],
        "earnedRewards": "50 points"
      },
      "cancelled": false,
      "cancellationPolicy": "Ticket is non-refundable",
      "notes": "Receipt will be available in your mobile application",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "confirmationNumbers": [
        {
          "number": "A04-33984-12",
          "description": "Confirmation #",
          "isPrimary": true
        },
        {
          "number": "887756",
          "description": "Transaction number",
          "isPrimary": false
        }
      ],
      "address": {
        "text": "132 West 58th Street New York, NY 10019",
        "addressLine": "132 West 58th Street",
        "city": "New York",
        "stateName": "New York",
        "countryName": "United States",
        "countryCode": "US",
        "postalCode": "10019",
        "lat": 40.7653771,
        "lng": -73.9779742,
        "timezone": -14400,
        "timezoneId": "America/New_York"
      },
      "eventName": "Loi Estiatorio",
      "eventType": 1,
      "startDateTime": "2030-01-01T18:00:00",
      "endDateTime": "2030-01-01T23:00:00",
      "phone": "+1-23-44556",
      "fax": "+1-99-33434",
      "guestCount": 2,
      "guests": [
        {
          "name": "John Doe",
          "full": true,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        },
        {
          "name": "Jane Doe",
          "full": true,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        }
      ],
      "seats": [
        "table 13"
      ],
      "type": "event"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

type

string true

Type of reservation. Value: event

confirmationNumbers

array false

Reservation confirmation number(s) specific to the travel provider. If there are other confirmation numbers specific to a travel agency, those would be listed under the travelAgency. confirmationNumbers. In some cases, there are multiple reservation numbers.

address

object true

The address of the event.

eventName

string true

Event name such as the name of the restaurant.

eventType

integer true

Type of the event. The possible values are:

1 - for “Restaurant”

2 - for “Meeting”

3 - for “Show”

4 - for “Event”

5 - for “Conference”

6 - for “Festival”

startDateTime

string true

Date and time when the event starts.

endDateTime

string false

Date and time when the event ends.

phone

string false

Phone number associated with the event, such as restaurant’s phone number.

fax

string false

Fax number associated with the event, such as show organizer’s fax number.

guestCount

integer false

Number of adult guests participating in the event.

kidsCount

integer false

Number of children participating in the event.

guests

array false

Arrays of guests participating in the event.

seats

array false

Array of reserved seats

Parking

Parking spot reservations (usually for airport long-term parking)

Example

                            
{
  "itineraries": [
    {
      "travelAgency": null,
      "pricingInfo": {
        "total": 105.15,
        "cost": 99.12,
        "discount": null,
        "spentAwards": null,
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Taxes",
            "charge": 6.03
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "parkingspot",
        "name": "The Parking Spot",
        "accountNumbers": [
          {
            "number": "AM3398",
            "masked": false
          }
        ],
        "earnedRewards": "50 points"
      },
      "cancelled": false,
      "cancellationPolicy": "Ticket is non-refundable",
      "notes": "Look at the overhead signs for directions to the desired spot",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "confirmationNumbers": [
        {
          "number": "A04-33984-12",
          "description": "Transcation number",
          "isPrimary": true
        },
        {
          "number": "887756",
          "description": "Invoice number",
          "isPrimary": false
        }
      ],
      "address": {
        "text": "132 West 58th Street New York, NY 10019",
        "addressLine": "132 West 58th Street",
        "city": "New York",
        "stateName": "New York",
        "countryName": "United States",
        "countryCode": "US",
        "postalCode": "10019",
        "lat": 40.7653771,
        "lng": -73.9779742,
        "timezone": -14400,
        "timezoneId": "America/New_York"
      },
      "locationName": "Downtown 2 hr",
      "spotNumber": "4",
      "licensePlate": "ABC GHY",
      "startDateTime": "2030-01-01T18:00:00",
      "endDateTime": "2030-01-01T23:00:00",
      "phone": "+1-234-56789",
      "openingHours": "Sun - Sat open 24 hrs",
      "owner": {
        "name": "John Doe",
        "full": true
      },
      "rateType": "STANDARD SPOT",
      "carDescription": "Volkswagen white",
      "type": "parking"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

type

string true

Type of reservation. Value: parking

confirmationNumbers

array false

Reservation confirmation number(s) specific to the parking provider. If there are other confirmation numbers specific to a travel agency, those would be listed under the travelAgency. confirmationNumbers. In some cases, there are multiple reservation numbers.

address

object true

The address of the parking location.

locationName

string false

Parking location name.

spotNumber

string false

Parking spot number.

licensePlate

string false

Licanse plate.

startDateTime

string true

Parking start date and time.

endDateTime

string true

Parking end date and time.

phone

string false

Parking facility phone number.

openingHours

string false

Parking facility hours of operation.

owner

object false

Car owner's name.

rateType

string false

Rate type.

carDescription

string false

Information about the parked vehicle

Ferry

Example

                            
{
  "itineraries": [
    {
      "travelAgency": null,
      "pricingInfo": {
        "total": 251.41,
        "cost": 193.75,
        "discount": 40,
        "spentAwards": "10000 points",
        "currencyCode": "USD",
        "fees": [
          {
            "name": "Tax",
            "charge": 34.56
          },
          {
            "name": "Insurance",
            "charge": 23.1
          }
        ]
      },
      "status": "Confirmed",
      "reservationDate": "2000-01-01T00:00:00",
      "providerInfo": {
        "code": "aferry",
        "name": "AFerry",
        "accountNumbers": [
          {
            "number": "AM3398",
            "masked": false
          }
        ],
        "earnedRewards": "50 points"
      },
      "cancelled": false,
      "cancellationPolicy": "Ticket is non-refundable",
      "notes": "Access to your vehicle will be restricted during the trip",
      "phoneNumbers": [
        {
          "description": "Help Desk",
          "number": "+1-123-456-7890"
        }
      ],
      "confirmationNumbers": [
        {
          "number": "A04-33984-12",
          "description": "Confirmation #",
          "isPrimary": true
        },
        {
          "number": "887756",
          "description": "Transaction number",
          "isPrimary": false
        }
      ],
      "travelers": [
        {
          "name": "John Doe",
          "full": true,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        },
        {
          "name": "Jane Doe",
          "full": true,
          "type": null,
          "accountNumbers": null,
          "ticketNumbers": null,
          "seats": null
        }
      ],
      "segments": [
        {
          "departure": {
            "stationCode": "NO OSL",
            "name": "Oslo, Norway",
            "localDateTime": "2030-01-01T14:00:00",
            "address": {
              "text": "Akershusstranda 19, 0102 Oslo, Norway",
              "addressLine": "Akershusstranda 19",
              "city": "Oslo",
              "stateName": null,
              "countryName": "Norway",
              "countryCode": "NO",
              "postalCode": "0102",
              "lat": 59.904139,
              "lng": 10.738278,
              "timezone": null,
              "timezoneId": null
            }
          },
          "arrival": {
            "stationCode": "DEKEL",
            "name": "Kiel, Germany",
            "localDateTime": "2030-01-02T10:00:00",
            "address": {
              "text": "Norwegenkai, 24143 Kiel, Germany",
              "addressLine": null,
              "city": "Kiel",
              "stateName": null,
              "countryName": "Germany",
              "countryCode": "DE",
              "postalCode": null,
              "lat": 54.316333,
              "lng": 10.138806,
              "timezone": null,
              "timezoneId": null
            }
          },
          "accommodations": [
            "4-Bed inside cabin, shower/WC",
            "4-Bed inside cabin, shower/WC"
          ],
          "carrier": "ANEK SUPERFAST",
          "vessel": "Hellenic Spirit",
          "traveledMiles": "10km",
          "duration": "2h",
          "meal": "none",
          "cabin": "economy",
          "smoking": false,
          "adultsCount": 2,
          "kidsCount": 1,
          "pets": "1 cat",
          "vehicles": [
            {
              "type": "Auto",
              "model": "Audi",
              "length": "<5m",
              "height": "1.8",
              "width": "1.8-3m"
            }
          ],
          "trailers": [
            {
              "type": "Regular",
              "model": "Standard",
              "length": "<=2m",
              "height": "<=2",
              "width": "<=2"
            }
          ]
        }
      ],
      "ticketNumbers": [
        {
          "number": "345667",
          "masked": false
        },
        {
          "number": "345668",
          "masked": false
        }
      ],
      "type": "ferry"
    }
  ]
}
                            
                        
Parameter Type Required Description

travelAgency

object false

If this reservation was booked through a travel agency this object would define the properties of that travel agency.

pricingInfo

object false

An object that describes what was paid for this reservation, i.e. fees, taxes, miles, points, etc.

status

string false

Status of the reservation. I.e. cancelled, confirmed, etc.

reservationDate

string false

Date when the reservation was booked

providerInfo

object false

This object describes the provider, specifically the loyalty information as it pertains to this provider.

cancelled

boolean false

Indicates whether this itinerary has been cancelled. Cancelled reservations may not contain all required data.

cancellationPolicy

string false

Cancelation policy of this specific reservation.

notes

string false

This field may contain additional information which may be helpful to the traveler. It may include notes from the travel agent, such as meeting or pickup instructions.

phoneNumbers

array false

Phone numbers related to the itinerary

confirmationNumbers

array false

Reservation confirmation number(s) specific to the travel provider. If there are other confirmation numbers specific to a travel agency, those would be listed under the travelAgency. confirmationNumbers. In some cases, there are multiple reservation numbers, for example if there are multiple hotel rooms booked.

travelers

array false

Names of the people listed on the reservation

type

string true

Type of reservation. Value: ferry

segments

array true

An array describing individual travel segments of the itinerary.

ticketNumbers

array false

There may be different ticket numbers associated with an itinerary. All the ticket numbers that we gather would be presented as an array in this field.

Ferry segment

Parameter Type Required Description

carrier

string false

The name of the company operating the ferry.

vessel

string false

Name or type of the vessel / ferry.

departure

object true

An object describing the departure event of this trip segment, such as a port and the time of departure.

arrival

object true

An object describing the arrival event of this trip segment, such as a port and the time of arrival.

adultsCount

integer false

Number of adults listed on the reservation.

kidsCount

integer false

Number of kids listed on the reservation.

pets

string false

Information about the pets listed on the ticket.

accommodations

array false

Assigned passenger accommodations on a ferry

traveledMiles

string false

Number of miles traveled on this segment.

duration

string false

Trip duration.

meal

string false

Meal, if any, that will be offered on the ferry.

cabin

string false

Cabin class, i.e. “Economy”

smoking

boolean false

If accomodation is identified as a smoking place it would be identified in this field.

vehicles

array false

An array describing the vehicle(s) listed on the reservation.

trailers

array false

An array describing the trailer(s) listed on the reservation.

Vehicle or Trailer

This object describes a vehicle/trailer

Parameter Type Required Description

type

string false

Short description

model

string false

Model of the vehicle/trailer

length

string false

Length of the vehicle/trailer (size description, includes number, e.g. "Less than 6.00 metres")

height

string false

Height of the vehicle/trailer (size description, includes number, e.g. "Less than 1.80 metres")

width

string false

Width of the vehicle/trailer (size description, includes number.)

Errors

Error Code Meaning
400 Bad Request
401 Unauthorized – Your API key is wrong
403 Forbidden
404 Not Found
405 Method Not Allowed – You tried to access an API with an invalid method
500 Internal Server Error – We had a problem with our server. Try again later.
503 Service Unavailable