Travel Profile Resource v1
This API has been deprecated.
Deprecation Date: 04/01/2016
Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.
Learn more in the API Lifecycle & Deprecation Policy.
Current version: Travel Profile v2
The Travel Profile resource represents a Concur travel profile which contains travel-relation information about a user, such as:
- Identity
- Contact information
- Rate preferences and discount codes
- Preferences by travel type
Limitations
Access to this documentation does not provide access to the API.
URI
https://{InstanceURL}/api/travelprofile/v1.0/profile
Get a travel profile
Gets the travel profile information for the specified user. The travel profile includes information such as the user’s identity, contact information, rate preferences and discount codes, preferences by travel type, and custom fields. The travel profile information returned by this GET operation depends on whether the caller is a Travel Supplier, a TMC, or a mainstream developer:
- Travel Suppliers can get only the loyalty program information and discount codes for their own loyalty and discount programs.
- TMCs can get all loyalty programs and discount codes for the specified user.
- A mainstream developer cannot get any loyalty program or discount information.
Request parameters
All request paramenters are optional. To identify a specific user by login ID or XMLSyncID, you can specify the following request parameters:
Parameter Name | Parameter Type | Data Type | Description |
---|---|---|---|
userid_type | Path | String | The type of user identification to use. Possible values are: login and xmlsyncid |
userid_value | Path | String | The user’s login ID or XMLSync ID, depending on which user type is selected. This parameter must be provided in conjunction with the userid_type parameter. |
Headers
Content-Type header
application/xml
Authorization header
Authorization: OAuth {access_token}
Where access_token is the OAuth 2.0 access token of the user whose travel profile information you want to retrieve. If you want to access company-wide travel profile information, the user account associated with the OAuth 2.0 access token must have a Concur account with one of these roles: Web Services Administrator for Professional or Can Administer for Standard.
Data model
The data model of the response for the GET operation.
<ProfileResponse Status="Active|Inactive" Unique="{unique identifier for the user}">
<General>
<NamePrefix />
<FirstName />
<MiddleName />
<LastName />
<NameSuffix />
<PreferredName />
<JobTitle />
<PreferredLanguage />
<EReceiptOptIn />
<MarketingOptIn />
<HasOpenBooking />
<CountryCode />
<CompanyName />
</General>
<Telephones>
<Telephone Type="Cell|Other|Pager|Fax|Home|Work|Primary Mobile Phone">
<ContactOptIn />
<CountryCode />
<PhoneNumber />
<Extension />
</Telephone>
</Telephones>
<Addresses>
<Address Type="Home|Work|Billing|Other">
<AttentionLine />
<Line1 />
<Line2 />
<Line3 />
<MailStop />
<City />
<StateProvince />
<CountryCode />
<ZipCode />
<Laditude />
<Longitude />
</Address>
</Addresses>
<DriversLicenses>
<DriversLicense>
<DriversLicenseNumber />
<IssuingCountry />
<IssuingState />
<Expiration />
</DriversLicense>
</DriversLicenses>
<EmailAddresses>
<EmailAddress />
</EmailAddresses>
<RatePreferences>
<AAARate />
<AARPRate />
<GovtRate />
<MilitaryRate />
</RatePreferences>
<DiscountCodes>
<DiscountCode />
</DiscountCodes>
<Air>
<AirSmokingCode />
<AirMemberships>
<AirMembership>
<VendorCode />
<AccountNo />
<Status />
<StatusBenefits />
<PointTotal />
<SegmentTotal />
<NextStatus />
<PointsUntilNextStatus />
<SegmentsUntilNextStatus />
</AirMembership>
</AirMemberships>
<Seat>
<InterRowPositionCode />
<SectionPositionCode />
</Seat>
<Meals>
<MealCode />
</Meals>
<HomeAirport />
<AirOther />
<DHSRedressNumber />
<DHSKnownTravelerNumber />
</Air>
<Car>
<CarSmokingCode />
<CarGPS />
<CarOption />
<CarMemberships />
<CarMembership>
<VendorCode />
<AccountNo />
<Status />
<StatusBenefits />
<PointTotal />
<SegmentTotal />
<NextStatus />
<PointsUntilNextStatus />
<SegmentsUntilNextStatus />
</CarMembership>
<CarOther />
<CarSkiRack />
</Car>
<Hotel>
<SmokingCode />
<HotelMemberships />
<RoomType />
<HotelOther />
<preferFoamPillows />
<preferCrib />
<preferRollawayBed />
<preferGym />
<preferPool />
<preferRestaurant />
<preferWheelchairAccess />
<preferAccessForBlind />
<preferRoomService />
<preferEarlyCheckIn />
</Hotel>
<CustomFields>
<CustomField>
<Name />
<Value />
</CustomField>
</CustomFields>
</ProfileResponse>
ProfileResponse root element
The ProfileResponse root element contains the General, Telephones, Addresses, DriversLicenses, EmailAddresses, RatePreferences, DiscountCodes, Air, Car, Hotel, and CustomFields child elements. It has the attributes shown in the Data Model section.
General elements
The General parent element contains the following child elements:
Element Name | Data Type | Description |
---|---|---|
NamePrefix | String | The user’s name prefix. Format: Varchar(60) |
FirstName | String | The user’s first name. Format: Varchar(32) |
MiddleName | String | The user’s middle name. Format: Varchar(32) |
LastName | String | The user’s last name. Format: Varchar(32) |
NameSuffix | String | The user’s name suffix. Format: Varchar(60) |
PreferredName | String | The user’s preferred name. Format: Varchar(60) |
JobTitle | String | The user’s job title. Format: Nvarchar(255) |
PreferredLanguage | String | The user’s preferred language locale. Example: United States English is en-US. Format: Varchar(20) |
EReceiptOptIn | String | Whether the user has opted in to receive e-receipts. Format: True/False |
MarketingOptIn | String | Whether the user has opted in to receive marketing information. Format: True/False |
HasOpenBooking | Boolean | Whether the user has the TripLink User (formerly Open Booking User) permission. Format: True/False |
CountryCode | String | The country code in from the ISO 3166-1 alpha-2 country code specification. Format: Char(2) |
CompanyName | String | The user’s company name. |
Telephones elements
The Telephones parent element contains a Telephone child element for each included telephone. The Telephone element has the attributes shown in the Response Class section and contains the following child elements:
Element Name | Data Type | Description |
---|---|---|
ContactOptIn | String | Whether the user has opted in to being contacted on this phone. Only appears when the phone type is Cell or Primary Mobile Phone. Format: True/False |
CountryCode | String | The country code in from the ISO 3166-1 alpha-2 country code specification. Format: Char(2) |
PhoneNumber | String | The phone number as entered by the user, which may contain characters such as () or -. Format: Char(60) NOTE: The user phone number may sometimes be incorrectly parsed if there are data input issues. |
Extension | String | The phone extension. Format: Varchar(60) |
Addresses elements
The Addresses parent element contains an Address child element for each included address. The Address element has the attributes shown in the Response Class section and contains the following child elements:
NOTE: The values returned for the Address child elements are as entered by the user. The fields do not enforce formatting and may have a wide variety of values.
Element Name | Data Type | Description |
---|---|---|
AttentionLine | String | Attention Line in the address. Format: Nvarchar(Unlimited) |
Line1 | String | Address line 1. Format: Nvarchar(Unlimited) |
Line2 | String | Address line 2. Format: Nvarchar(Unlimited) |
Line3 | String | Address line 3. Format: Nvarchar(Unlimited) |
MailStop | String | Address mail stop. Format: Nvarchar(Unlimited) |
City | String | The city name. Format: Nvarchar(Unlimited) |
StateProvince | String | The state or province. Format: Nvarchar(Unlimited) |
CountryCode | String | The country code in from the ISO 3166-1 alpha-2 country code specification. Format: Char(2) |
ZipCode | String | The zip code. Format: Varchar(20) |
Longitude | String | Longitude value of Work Address. |
Latitude | String | Latitude value of Work Address. |
DriversLicenses elements
The DriversLicenses parent element contains a DriversLicense child element for each each included licenses. The DriversLicense element contains the following child elements:
Element Name | Data Type | Description |
---|---|---|
DriversLicenseNumber | String | The user’s driver license identification number. Format: Varchar(30) |
IssuingCountry | String | The country the license was issued in. Format: Char(2) |
IssuingState | String | The state the license was issued in. Format: Varchar(2) |
Expiration | String | The expiration date of the license. Format: YYYY-MM-DD |
EmailAddresses elements
The EmailAddresses parent element contains a EmailAddress child element for each included email address. It contains the following child element:
Element Name | Data Type | Description |
---|---|---|
EmailAddress | String | The the user’s email address. The EmailAddress element has two attributes: Type and Contact. The Type attribute specifies the type of email address and the possible values are: Business, Business2, Personal. The Contact attribute specifies whether the email address should be used for travel notifications and the possible values are True or False. Format: Varchar(255) |
RatePreferences elements
The RatePreferences parent element contains the following child element:
Element Name | Data Type | Description |
---|---|---|
AAARate | Boolean | Whether the user is eligible for the AAA rate. Format: true/false |
AARPRate | Boolean | Whether the user is eligible for the AARP rate. Format: true/false |
GovtRate | Boolean | Whether the user is eligible for the Government rate. Format: true/false |
MilitaryRate | Boolean | Whether the user is eligible for the Military rate. Format: true/false |
DiscountCodes elements
The DiscountCodes parent element contains a DiscountCode child element for each included discount code.
Element Name | Data Type | Description |
---|---|---|
DiscountCode | String | The discount code for the specified vendor.The DiscountCode element has a Vendor attribute that specifies the name of the vendor for the discount code. |
Air elements
The Air parent element contains the user’s air travel preferences and contains the following child elements:
Element Name | Data Type | Description |
---|---|---|
AirSmokingCode | String | Whether the user wants a flight with smoking allowed. Legacy. Format: S, N, D. |
AirMemberships | Membership | The AirMemberships element only appears if the request came from a travel supplier for this travel type, or from a TMC. This element contains an AirMembership child element for each included membership and includes the following child elements: |
Seat | - | This parent element contains the user’s Car travel preferences. The Car element contains the following child elements: |
Meals | - | This parent element contains the MealCode child element that indicates the meal preference of the traveler. The possible values are: AVML = Vegetarian Hindu Meal BBML = Baby Meal BLML = Bland Meal CHML = Child Meal DBML = Diabetic Meal FPML = Fruit Platter GFML = Gluten Intolerant Meal HNML = Hindu Meal KSML = Kosher Meal LCML = Low Calorie Meal LFML = Low Fat Meal LSML = Low Salt Meal MOML = Muslim Meal NLML = Low Lactose Meal NSML = No Salt Meal PFML = Peanut Free Meal SFML = Seafood Meal SPML = Special Request Meal VGML = Vegetarian RVML = Vegetarian Raw Vegan Meal VLML = Vegetarian Lacto-Ovo VJML = Vegetarian Jain Meal VOML = Vegetarian Oriental Meal Note: Regular Meal will not return a value for this preference. |
HomeAirport | String | The user’s home airport |
DHSRedressNumber | String | TSA Redress Number |
DHSKnownTravelerNumber | String | TSA Known Traveler Number |
AirOther | String | Other Air related description |
Air Memberships elements
Element Name | Data Type | Description |
---|---|---|
VendorCode | String | The code for the vendor that manages the loyalty program. |
AccountNo | String | The user’s account identifier in the loyalty program. |
Status | String | Name of the user’s current level in the loyalty program. |
StatusBenefits | String | Description of a benefit of the loyalty program at the current status. |
PointTotal | String | The user’s total number of points in the loyalty program. |
SegmentTotal | String | The user’s total segments in the loyalty program. |
NextStatus | String | Name or description of next higher status level in the loyalty program. |
PointsUntilNextStatus | String | Loyalty points required to next status level. |
SegmentsUntilNextStatus | String | Booking segment to next status level. |
Seat elements
Element Name | Data Type | Description |
---|---|---|
InterRowPositionCode | String | Preferred position in an airplane row. Format: Window, Aisle, Middle, Isolated, DontCare. |
SectionPositionCode | String | Preference for position in plane. Format: F, B, R, D. |
Car elements
The Car parent element contains the user’s car travel preferences. It contains the following child elements:
Element Name | Data Type | Description |
---|---|---|
CarSmokingCode | String | Smoking car preferred. Format: S, N, O |
CarGPS | String | Car GPS preference. Format: true/false. |
CarOption | String | Car option preference. Format: Char(3) |
CarMemberships | Membership | The CarMemberships element only appears if the request came from a travel supplier for this travel type, or from a TMC. This element contains a CarMembership child element for each included membership. The CarMembership element has the following child elements: |
CarOther | String | Other Car related description. Format: Char(30) |
CarSkiRack | String | Car ski rack preference. Format: true/false. |
Car Memberships elements
Element Name | Data Type | Description |
---|---|---|
VendorCode | String | The code for the vendor that manages the loyalty program. |
AccountNo | String | The user’s account identifier in the loyalty program. |
Status | String | Name of the user’s current level in the loyalty program. |
StatusBenefits | String | Description of a benefit of the loyalty program at the current status. |
PointTotal | String | The user’s total number of points in the loyalty program. |
SegmentTotal | String | The user’s total segments in the loyalty program. |
NextStatus | String | Name or description of next higher status level in the loyalty program. |
PointsUntilNextStatus | String | Loyalty points required to next status level. |
SegmentsUntilNextStatus | String | Booking segment to next status level. |
Hotel elements
The Hotel parent element contains the user’s hotel travel preferences. It contains the following child elements:
Element Name | Data Type | Description |
---|---|---|
SmokingCode | String | Smoking room preference. Format: S, N,D |
HotelMemberships | - | This parent element only appears if the request came from a travel supplier for this travel type, or from a TMC. This element contains a HotelMembership child element for each included membership. The HotelMembership element has the following child elements: |
RoomType | String | Hotel room preference. Values are: H, 2, K, Q, 1, T |
HotelOther | String | Other Hotel related description. Format: Varchar(30) |
PreferFoamPillows | String | Whether the user prefers foam pillows. Format: true/false. |
PreferCrib | String | Whether the user prefers to have a crib. Format:true/false. |
PreferRollawayBed | String | Whether the user prefers to have a rollaway bed. Format:true/false. |
PreferGym | String | Whether the user prefers a hotel with a gym. Format:true/false. |
preferPool | String | Whether the user prefers a hotel with a pool. Format:true/false. |
preferRestaraunt | String | Whether the user prefers a hotel with a restaurant. Format:true/false. |
preferWheelchairAccess | String | Whether the user requires wheelchair access. Format: true/false. |
preferAccessForBlind | String | Whether the user requires a room with access for blind guests. Format:true/false. |
preferRoomService | String | Whether the user prefers a hotel with room service. Format:true/false. |
preferEarlyCheckIn | String | Whether the user prefers a hotel with early check in. Format:true/false. |
Hotel Memberships elements
Element Name | Data Type | Description |
---|---|---|
VendorCode | String | The code for the vendor that manages the loyalty program. |
AccountNo | String | The user’s account identifier in the loyalty program. |
Status | String | Name of the user’s current level in the loyalty program. |
StatusBenefits | String | Description of a benefit of the loyalty program at the current status. |
PointTotal | String | The user’s total number of points in the loyalty program. |
SegmentTotal | String | The user’s total segments in the loyalty program. |
NextStatus | String | Name or description of next higher status level in the loyalty program. |
PointsUntilNextStatus | String | Loyalty points required to next status level. |
SegmentsUntilNextStatus | String | Booking segment to next status level. |
CustomFields elements
The CustomFields parent element contains child elements that specify custom fields in a travel profile. It contains a CustomField child element for each custom field. To retrieve this information, the Travel Profile, Custom Fields scope must be selected in the Register Partner Application page under Web Services.
CustomField child elements
For each custom field, the CustomField element has a Name and Value child element.
Element Name | Data Type | Description |
---|---|---|
Name | String | The name of the custom field. For example, Employee, Cost Centre, Fund, PassportNumber, Visa, and Assistants. |
Value | String | The value of the custom field. If the value is null, the Value child element is omitted. |
Examples for Travel Suppliers
Example 1: Get the travel profile for the user associated with the specified OAuth 2.0 access token
Request
GET {InstanceURI}/api/travelprofile/v1.0/profile HTTP/1.1
Authorization: OAuth {access token}
Response
HTTP/1.1 200 OK
Content-Type: application/xml
<ProfileResponse Status="Active" Unique="CM12345678">
<General>
<NamePrefix />
<FirstName>Maria</FirstName>
<MiddleName>X</MiddleName>
<LastName>Black</LastName>
<NameSuffix />
<PreferredName />
<JobTitle>Finance Manager</JobTitle>
<PreferredLanguage>en-us</PreferredLanguage>
<EReceiptOptIn>True</EReceiptOptIn>
<MarketingOptIn>True</MarketingOptIn>
<HasOpenBooking>true</HasOpenBooking>
<CountryCode>US</CountryCode>
<CompanyName>ExampleDotCom</CompanyName>
</General>
<Telephones>
<Telephone Type="Work">
<CountryCode>001</CountryCode>
<PhoneNumber>5555551234</PhoneNumber>
<Extension />
</Telephone>
<Telephone Type="Cell">
<CountryCode>001</CountryCode>
<PhoneNumber>4155544321</PhoneNumber>
<Extension />
<ContactOptIn>True</ContactOptIn>
</Telephone>
</Telephones>
<Addresses>
<Address Type="Work">
<AttentionLine>Finance Department</AttentionLine>
<Line1>1234 Rainy Street.</Line1>
<Line2>Suite 442</Line2>
<Line3 />
<MailStop />
<City>Seattle</City>
<StateProvince>WA</StateProvince>
<CountryCode>US</CountryCode>
<ZipCode>98102</ZipCode>
<Longitude>-77.040706000000</Longitude>
<Latitude>38.812690000000</Latitude>
</Address>
<Address Type="Home">
<AttentionLine />
<Line1>1234 1st Ave. S</Line1>
<Line2>Apt. 821</Line2>
<Line3 />
<MailStop />
<City>Seattle</City>
<StateProvince>WA</StateProvince>
<CountryCode>US</CountryCode>
<ZipCode>98102</ZipCode>
<Longitude>-77.040706000000</Longitude>
<Latitude>38.812690000000</Latitude>
</Address>
</Addresses>
<DriversLicenses>
<DriversLicense>
<DriversLicenseNumber>MIL112233452</DriversLicenseNumber>
<IssuingCountry>US</IssuingCountry>
<IssuingState>WA</IssuingState>
<Expiration>2018-05-22</Expiration>
</DriversLicense>
</DriversLicenses>
<EmailAddresses>
<EmailAddress Type="Business" Contact="True">mariab@example.com</EmailAddress>
</EmailAddresses>
<RatePreferences>
<AAARate>true</AAARate>
<AARPRate>false</AARPRate>
<GovtRate>false</GovtRate>
<MilitaryRate>false</MilitaryRate>
</RatePreferences>
<DiscountCodes>
<DiscountCode Vendor="Marriott">1234567899</DiscountCode>
</DiscountCodes>
<Air>
<AirSmokingCode>S</AirSmokingCode>
<AirMemberships>
<AirMembership>
<VendorCode>AA</VendorCode>
<AccountNo>K12345</AccountNo>
<Status>Normal</Status>
<StatusBenefits>N/A</StatusBenefits>
<PointTotal>1234</PointTotal>
<SegmentTotal>2</SegmentTotal>
<NextStatus>Super</NextStatus>
<PointsUntilNextStatus>444</PointsUntilNextStatus>
<SegmentsUntilNextStatus>2</SegmentsUntilNextStatus>
</AirMembership>
</AirMemberships>
<Seat>
<InterRowPositionCode>Window</InterRowPositionCode>
<SectionPositionCode>F</SectionPositionCode>
</Seat>
<Meals>
<MealCode>VGML</MealCode>
</Meals>
<HomeAirport>SEA</HomeAirport>
<AirOther />
</Air>
<Car>
<CarSmokingCode>N</CarSmokingCode>
<CarGPS>True</CarGPS>
<CarOption />
<CarMemberships>
<CarMembership>
<VendorCode>ZE</VendorCode>
<AccountNo>ABCDEF</AccountNo>
<Status>Newbie</Status>
<StatusBenefits>10% discount</StatusBenefits>
<PointTotal>44</PointTotal>
<SegmentTotal>8</SegmentTotal>
<NextStatus>Veteran</NextStatus>
<PointsUntilNextStatus>55</PointsUntilNextStatus>
<SegmentsUntilNextStatus>12</SegmentsUntilNextStatus>
</CarMembership>
<CarMembership>
<VendorCode>XW</VendorCode>
<AccountNo>GHIJK</AccountNo>
<Status>Gold</Status>
<StatusBenefits>30% discount</StatusBenefits>
<PointTotal>1000</PointTotal>
<SegmentTotal>50</SegmentTotal>
<NextStatus>VIP</NextStatus>
<PointsUntilNextStatus>500</PointsUntilNextStatus>
<SegmentsUntilNextStatus>25</SegmentsUntilNextStatus>
</CarMembership>
</CarMemberships>
<CarOther />
<CarSkiRack>False</CarSkiRack>
</Car>
<Hotel>
<SmokingCode>N</SmokingCode>
<HotelMemberships />
<RoomType>K</RoomType>
<HotelOther />
<PreferFoamPillows>True</PreferFoamPillows>
<PreferCrib>False</PreferCrib>
<PreferRollawayBed>True</PreferRollawayBed>
<PreferGym>True</PreferGym>
<preferPool>True</preferPool>
<preferRestaraunt>True</preferRestaraunt>
<preferWheelchairAccess>False</preferWheelchairAccess>
<preferAccessForBlind>False</preferAccessForBlind>
<preferRoomService>True</preferRoomService>
<preferEarlyCheckIn>False</preferEarlyCheckIn>
</Hotel>
<CustomFields>
<CustomField>
<Name>Employee ID</Name>
<Value>12345</Value>
</CustomField>
<CustomField>
<Name>Cost Centre</Name>
<Value>Headquarters</Value>
</CustomField>
<CustomField>
<Name>Fund</Name>
<Value>StudentTraining</Value>
</CustomField>
<CustomField>
<Name>Passport Number></Name>
<Value>AUS1234</Value>
</CustomField>
<CustomField>
<Name>Visa</Name>
<Value>EUvisa1234</Value>
</CustomField>
<CustomField>
<Name>Assistants</Name>
<Value>John Smith</Value>
</CustomField>
</CustomFields>
</ProfileResponse>
Example 2: Get the travel profile for a user with a specific login ID
Request
GET https://www.concursolutions.com/api/travelprofile/v1.0/profile?userid_type=login&userid_value=cm@example.com HTTP/1.1
Authorization: OAuth {access token}
Response
The response is the same as in Example 1.
Examples for TMCs
Example 3: Get the travel profile for the user associated with the specified OAuth 2.0 access token
Request
GET {InstanceURI}/api/travelprofile/v1.0/profile HTTP/1.1
Authorization: OAuth {access token}
Response
HTTP/1.1 200 OK
Content-Type: application/xml
<ProfileResponse Status="Active" Unique="CM12345678">
<General>
<NamePrefix />
<FirstName>Maria</FirstName>
<MiddleName>X</MiddleName>
<LastName>Black</LastName>
<NameSuffix />
<PreferredName />
<JobTitle>Finance Manager</JobTitle>
<PreferredLanguage>en-us</PreferredLanguage>
<EReceiptOptIn>True</EReceiptOptIn>
<MarketingOptIn>True</MarketingOptIn>
<HasOpenBooking>true</HasOpenBooking>
<CountryCode>US</CountryCode>
<CompanyName>ExampleDotCom</CompanyName>
</General>
<Telephones>
<Telephone Type="Work">
<CountryCode>001</CountryCode>
<PhoneNumber>5555551234</PhoneNumber>
<Extension />
</Telephone>
<Telephone Type="Cell">
<CountryCode>001</CountryCode>
<PhoneNumber>4155544321</PhoneNumber>
<Extension />
<ContactOptIn>True</ContactOptIn>
</Telephone>
</Telephones>
<Addresses>
<Address Type="Work">
<AttentionLine>Finance Department</AttentionLine>
<Line1>1234 Rainy Street.</Line1>
<Line2>Suite 442</Line2>
<Line3 />
<MailStop />
<City>Seattle</City>
<StateProvince>WA</StateProvince>
<CountryCode>US</CountryCode>
<ZipCode>98102</ZipCode>
<Longitude>-77.040706000000</Longitude>
<Latitude>38.812690000000</Latitude>
</Address>
<Address Type="Home">
<AttentionLine />
<Line1>1234 1st Ave. S</Line1>
<Line2>Apt. 821</Line2>
<Line3 />
<MailStop />
<City>Seattle</City>
<StateProvince>WA</StateProvince>
<CountryCode>US</CountryCode>
<ZipCode>98102</ZipCode>
<Longitude>-77.040706000000</Longitude>
<Latitude>38.812690000000</Latitude>
</Address>
</Addresses>
<DriversLicenses>
<DriversLicense>
<DriversLicenseNumber>MIL112233452</DriversLicenseNumber>
<IssuingCountry>US</IssuingCountry>
<IssuingState>WA</IssuingState>
<Expiration>2018-05-22</Expiration>
</DriversLicense>
</DriversLicenses>
<EmailAddresses>
<EmailAddress Type="Business" Contact="True">mariab@example.com</EmailAddress>
</EmailAddresses>
<RatePreferences>
<AAARate>true</AAARate>
<AARPRate>false</AARPRate>
<GovtRate>false</GovtRate>
<MilitaryRate>false</MilitaryRate>
</RatePreferences>
<DiscountCodes>
<DiscountCode Vendor="Marriott">1234567899</DiscountCode>
<DiscountCode Vendor="IHG">111222333</Discount</span>
</DiscountCodes>
<Air>
<AirSmokingCode>S</AirSmokingCode>
<AirMemberships>
<AirMembership>
<VendorCode>AA</VendorCode>
<AccountNo>K12345</AccountNo>
<Status>Normal</Status>
<StatusBenefits>N/A</StatusBenefits>
<PointTotal>1234</PointTotal>
<SegmentTotal>2</SegmentTotal>
<NextStatus>Super</NextStatus>
<PointsUntilNextStatus>444</PointsUntilNextStatus>
<SegmentsUntilNextStatus>2</SegmentsUntilNextStatus>
</AirMembership>
</AirMemberships>
<Seat>
<InterRowPositionCode>Window</InterRowPositionCode>
<SectionPositionCode>NOPREF</SectionPositionCode>
</Seat>
<Meals>
<MealCode>VGML</MealCode>
</Meals>
<HomeAirport>SEA</HomeAirport>
<AirOther />
</Air>
<Car>
<CarSmokingCode>N</CarSmokingCode>
<CarGPS>True</CarGPS>
<CarOption />
<CarMemberships>
<CarMembership>
<VendorCode>ZE</VendorCode>
<AccountNo>ABCDEF</AccountNo>
<Status>Newbie</Status>
<StatusBenefits>10% discount</StatusBenefits>
<PointTotal>44</PointTotal>
<SegmentTotal>8</SegmentTotal>
<NextStatus>Veteran</NextStatus>
<PointsUntilNextStatus>55</PointsUntilNextStatus>
<SegmentsUntilNextStatus>12</SegmentsUntilNextStatus>
</CarMembership>
<CarMembership>
<VendorCode>XW</VendorCode>
<AccountNo>GHIJK</AccountNo>
<Status>Gold</Status>
<StatusBenefits>30% discount</StatusBenefits>
<PointTotal>1000</PointTotal>
<SegmentTotal>50</SegmentTotal>
<NextStatus>VIP</NextStatus>
<PointsUntilNextStatus>500</PointsUntilNextStatus>
<SegmentsUntilNextStatus>25</SegmentsUntilNextStatus>
</CarMembership>
</CarMemberships>
<CarOther />
<CarSkiRack>False</CarSkiRack>
</Car>
<Hotel>
<SmokingCode>N</SmokingCode>
<HotelMemberships />
<RoomType>K</RoomType>
<HotelOther />
<PreferFoamPillows>True</PreferFoamPillows>
<PreferCrib>False</PreferCrib>
<PreferRollawayBed>True</PreferRollawayBed>
<PreferGym>True</PreferGym>
<preferPool>True</preferPool>
<preferRestaraunt>True</preferRestaraunt>
<preferWheelchairAccess>False</preferWheelchairAccess>
<preferAccessForBlind>False</preferAccessForBlind>
<preferRoomService>True</preferRoomService>
<preferEarlyCheckIn>False</preferEarlyCheckIn>
</Hotel>
<CustomFields>
<CustomField>
<Name>Employee ID</Name>
<Value>12345</Value>
</CustomField>
<CustomField>
<Name>Cost Centre</Name>
<Value>Headquarters</Value>
</CustomField>
<CustomField>
<Name>Fund</Name>
<Value>StudentTraining</Value>
</CustomField>
<CustomField>
<Name>Passport Number></Name>
<Value>AUS1234</Value>
</CustomField>
<CustomField>
<Name>Visa</Name>
<Value>EUvisa1234</Value>
</CustomField>
<CustomField>
<Name>Assistants</Name>
<Value>John Smith</Value>
</CustomField>
</CustomFields>
</ProfileResponse>
Example 4: Get the travel profile for a user with a specific login ID
Request
GET https://www.concursolutions.com/api/travelprofile/v1.0/profile?userid_type=login&userid_value=cm@example.com HTTP/1.1
Authorization: OAuth {access token}
Response
The response is the same as in Example 3.
Get a list of travel profile summaries
Gets the list of travel profile summaries that have been updated since the specified date. The response is separated into pages.
Request
GET {InstanceURI}/api/travelprofile/v1.0/profile?LastModifiedDate=2015-01-01T01:00:00 HTTP/1.1
Authorization: OAuth {access token}
Request parameters
All request paramenters are optional. To identify a specific user by login ID or XMLSyncID, you can specify the following request parameters.
Parameter Name | Required/Optional | Parameter Type | Data Type | Description |
---|---|---|---|---|
LastModifiedDate | Required | path | string | The date and time, in UTC, that the profiles must be updated after to be included in the response. Format: YYYY-MM-DDThh:mm:ss |
Page | Optional | path | string | The number of pages to retrieve. If the page is outside the number of existing pages, the response elements will be empty |
ItemsPerPage | Optional | path | string | The number of travel profiles per page. The maximum value is 200. The default value is 200. |
Headers
Accept header
application/xml
Authorization header
Authorization: OAuth {access_token}
Where access_token is the OAuth 2.0 access token of the user whose travel profile summaries you want to retrieve. If you want to access company-wide travel profile information, the user account associated with the OAuth 2.0 access token must have a Concur account with one of these roles: Web Services Administrator for Professional or Can Administer for Standard.
Data model
The data model of the response for the GET operation.
<ConnectResponse>
<Metadata>
<Paging>
<TotalPages />
<TotalItems />
<Page />
<ItemsPerPage />
<PreviousPageURL />
<NextPageURL />
</Paging>
</Metadata>
<Data>
<ProfileSummary>
<LoginID />
<XmlProfileSyncID />
<ProfileLastModifiedUTC />
</ProfileSummary>
</Data>
</ConnectResponse>
Response
ConnectResponse root element
The ConnectResponse root element contains the General, Telephones, Addresses, DriversLicenses, EmailAddresses, RatePreferences, DiscountCodes, Air, Car, Hotel, and CustomFields child elements. It has the attributes shown in the Response Class section.
Metadata element
The Metadata parent element contains the Paging child element.
Paging elements
The Paging parent element contains contains the paging information for the response and it contains the following child elements:
Element Name | Data Type | Description |
---|---|---|
TotalPages | String | The total number of pages to return. |
TotalItems | String | The total number of profiles the query returned. |
Page | String | The page number for the set of results in the current response. |
ItemsPerPage | String | The number of items set to display per page. |
PreviousPageURL | String | The URI to the previous page of results. This element will be empty when there are no previous pages. |
NextPageURL | String | The URI to the next set of results. This element will be empty when there are no next pages. |
Data element
The Data parent element contains a ProfileSummary child element for each included travel profile.
ProfileSummary
The Paging parent element contains contains the paging information for the response and it contains the following child elements:
Element Name | Data Type | Description |
---|---|---|
LoginID | String | The Concur user login ID. |
XMLProfileSyncID | String | TThe user’s XML Profile Sync ID, if available. |
ProfileLastModifiedUTC | String | The date, in UTC, when the travel profile was last modified. Format: YYYY-MM-DDThh:mm:ss. |
Example
This example gets the list of travel profile summaries modified after January 1 2015.
Request
GET {InstanceURI}/api/travelprofile/v1.0/profile?LastModifiedDate=2015-01-01T01:00:00 HTTP/1.1
Authorization: OAuth {access token}
Response
HTTP/1.1 200 OK
Content-Type: application/xml
<ConnectResponse>
<Metadata>
<Paging>
<TotalPages>1</TotalPages>
<TotalItems>2</TotalItems>
<Page>1</Page>
<ItemsPerPage>200</ItemsPerPage>
<PreviousPageURL />
<NextPageURL />
</Paging>
</Metadata>
<Data>
<ProfileSummary>
<LoginID>mariab@company1.com</LoginID>
<XmlProfileSyncID>string123</XmlProfileSyncID>
<ProfileLastModifiedUTC>2015-01-01T01:00:00</ProfileLastModifiedUTC>
</ProfileSummary>
<ProfileSummary>
<LoginID>peterk@company1.com</LoginID>
<XmlProfileSyncID>string456</XmlProfileSyncID>
<ProfileLastModifiedUTC>2015-01-01T01:00:00</ProfileLastModifiedUTC>
</ProfileSummary>
</Data>
</ConnectResponse>