Travel Profile v2 - Resource
The Travel Profile resource represents a Concur Travel profile that contains travel-related information about a user.
Detailed descriptions of requests and responses are available in the documentation for each HTTP method.
Limitations
Access to this documentation does not provide access to the API.
Get a Travel Profile
This endpoint provides 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.
URI
https://{InstanceURL}/api/travelprofile/v2.0/profile
Request parameters
All request parameters are optional. To identify a specific user by Login ID or XML Sync ID, 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 xmlsyncid and `uuid’ |
userid_value |
Path |
string |
The user’s Login ID, XML Sync ID, or UUID, 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.
Create / Update Travel Profile
Creating/Updating a Profile uses the same model as what is retrieved.
Helpful Tips
- Minimum elements required to create a new user include:
FirstNameLastNameTravelConfigID(used to verify agency and Company access to create user)LoginIDPassword(we will set a random, strong password if not provided)RuleClass(uses default rule class if not provided)
- Omitted elements will be ignored and not updated
- Empty elements of datatype string will be cleared out; nillable elements will be cleared out if set as nil refer to XSD for nillable elements.
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 or update.
Schema
The complete schema definition is available here: Travel Profile XSD.
SAP Concur reserves the right to change the XSD. Reading/writing strictly to the XSD will result in breakage as new XML elements are added.
The Profile root element contains:
- General
- EmergencyContact
- Telephones
- Addresses
- NationalIDs
- DriversLicenses
- HasNoPassport
- Passports
- Visas
- EmailAddresses
- RatePreferences
- DiscountCodes
- Air
- Rail
- Car
- Hotel
- CustomFields
- Roles
- Sponsors
- TSAInfo
- UnusedTickets
- SouthwestUnusedTickets
- AdvantageMemberships
General
- Some elements require specific scopes be enabled to receive the data, refer to the table below.
- Profile fields, such as cost center and division, must be enabled and populated in the Travel site for data to return.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
NamePrefix |
string |
The user’s name prefix. Format: nvarchar(60) | - | - | - |
FirstName |
string |
The user’s first name. Format: nvarchar(60) | - | Required | - |
MiddleName |
string |
The user’s middle name. Format: nvarchar(60) | - | - | - |
LastName |
string |
The user’s last name. Format: nvarchar(60) | - | Required | - |
NameSuffix |
string |
The user’s name suffix. Format: nvarchar(60) | - | - | - |
PreferredName |
string |
The user’s preferred name. Format: nvarchar(60) | - | - | - |
JobTitle |
string |
The user’s job title. Format: nvarchar(255) | - | - | - |
CostCenter |
string |
The user’s cost center. Format: nvarchar(25) | - | - | Requires Company Details scope. |
CompanyEmployeeID |
string |
The user’s employee ID. Format: nvarchar(48) | - | - | Requires Company Details scope. Must be unique in the company. |
Division |
string |
The user’s division. Format: nvarchar(60) | - | - | Requires Company Details scope. Must already be setup in the company configuration. |
AccountTerminationDate |
Date |
The user’s Termination Date | Cannot Update | - | Requires Company Details scope. |
PreferredLanguage |
string |
The user’s preferred language locale. Example: United States English is en-US. Format: varchar(20) | - | - | See list of allowed canonical values below. Values not on this list will write an empty string |
EReceiptOptIn |
boolean |
Whether the user has opted in to receive e-receipts. Format: true\false | - | - | |
HasOpenBooking |
boolean |
Whether the user has the TripLink User (formerly Open Booking User) permission. Format: true\false | Cannot Update | - | - |
CountryCode |
string |
The country code in from the ISO 3166-1 alpha-2 country code specification. Format: char(2) | Cannot Update | - | - |
CompanyName |
string |
The user’s company name. Format: nvarchar(255) | Cannot Update | - | - |
CompanyID |
string |
The user’s company ID. Format: varchar(255) | Cannot Update | - | Requires Company Details scope. |
RuleClass |
string |
The user’s rule class. Format: nvarchar(60) | - | - | Must already be setup in the company. |
TravelConfigID |
string |
The user’s TravelConfig. Format: varchar(255) | - | Required | - |
MedicalAlerts |
string |
The user’s medical alerts. Format: nvarchar(255) | - | - | Requires Medical Alerts Scope. |
AgencyNumber |
string |
The TravelConfig’s Agency IATA Number. Format: varchar(255) | Cannot Update | - | - |
SearchID |
string |
The user’s Search ID. Format: varchar(64) | - | - | - |
GDSProfileName |
string |
The user’s GDS profile name. Format: varchar(60) | - | - | Requires TMC Specific scope. |
SabreProfileId |
string |
The user’s Sabre Travel Profile Id. Format: varchar(60) | - | - | Requires TMC Specific scope. |
UUID |
string |
The user’s Unique Identifier. Format: GUID, 32 characters | Cannot Update | - | Requires TMC Specific scope. |
NOTE: If MiddleName is provided, the NoMiddleName flag in TSAInfo section is set to false.
Canonical List of Preferred Language Values
- “bg”
- “cs”
- “da”
- “de”
- “el”
- “en”
- “es”
- “fi”
- “fr”
- “hr”
- “hu”
- “id”
- “it”
- “ja”
- “ko”
- “nb”
- “nl”
- “nn”
- “no”
- “pl”
- “pt”
- “ro”
- “ru”
- “sk”
- “sv”
- “tr”
- “zh”
- “de-AT”
- “de-CH”
- “de-DE”
- “de-LU”
- “en-AU”
- “en-CA”
- “en-GB”
- “en-IE”
- “en-IN”
- “en-NZ”
- “en-US”
- “en-ZA”
- “es-AR”
- “es-BO”
- “es-CL”
- “es-CO”
- “es-CR”
- “es-DO”
- “es-EC”
- “es-ES”
- “es-GT”
- “es-HN”
- “es-MX”
- “es-NI”
- “es-PA”
- “es-PE”
- “es-PR”
- “es-PY”
- “es-SV”
- “es-UY”
- “es-VE”
- “fr-BE”
- “fr-CA”
- “fr-CH”
- “fr-FR”
- “fr-LU”
- “it-CH”
- “it-IT”
- “ja-JP”
- “nl-BE”
- “nl-NL”
- “no-NO”
- “pt-BR”
- “pt-PT”
- “sv-SE”
- “zh-CN”
- “zh-HK”
- “zh-TW”
EmergencyContact
The emergency contact information provided.
- Emergency Contact Information scope must be enabled to receive the data.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
Name |
string |
The emergency contact name Format: nvarchar(255) | - | - | - |
Relationship |
string |
The relationship to the user. Values are: Spouse, Brother, Parent, Sister, LifePartner, Other | - | - | - |
Phone |
list |
- | - | - | If multiple values of the same telephone type are provided, only the last one will be saved. See below for the list elements. |
Address |
Address |
Street Address. Format: nvarchar(max) | - | - | - |
Address
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
Street |
string |
Street Address. Format: nvarchar(max) | - | - | - |
City |
string |
The city name. Format: nvarchar(30) | - | - | - |
StateProvince |
string |
The state or province. Format: nvarchar(30) | - | - | - |
CountryCode |
string |
The country code in from the ISO 3166-1 alpha-2 country code specification. Format: char(2) | - | - | - |
PostalCode |
string |
The postal code. Format: nvarchar(20) | - | - | - |
Phone List
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
PhoneNumber |
string |
The emergency contact’s phone number. Format: nvarchar(60) | - | - | No unicode characters. |
Type |
string |
This contains a “type” attribute with values of DayTime or Alternate. | Required | Required | - |
Telephones
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:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
Type attribute |
string |
Type of phone. Values are: Home, Work, Fax, Pager, Other, and Cell | required | required | - |
ContactOptIn attribute |
boolean |
Whether the user has opted in to being contacted on this phone. Only appears when the phone type is Cell. Format: true\false | - | - | - |
PrimaryMobile attribute |
boolean |
This is the user’s preferred mobile device. 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 -. For CellPhone, Number may only contain digits, dashes, parenthesis, and spaces. Format: nvarchar(60) |
required (Cell) | required (Cell) | Required for Cell types. |
Extension |
string |
The phone extension. Format: nvarchar(60) | - | - | - |
MobileDevice |
string |
This is deprecated as of December 2021 and will no longer be returned | - | - | - |
MobileName |
string |
This is deprecated as of December 2021 and will no longer be returned | - | - | - |
NOTES
- Telephone Types Other, Pager, Fax, Home, Work, Work2
- Ignores
CountryCode,DeviceName,DeviceType,ContactOptIn,IsPrimaryMobile - Only Work (NOT Work2) uses Extension
- Only a single number can be kept for each of these types. If more than one of each type is provided, W016 warning message is returned.
- Ignores
- Multiple cell phones can be updated, but will sync to the list provided. Cell phones missing from that list that currently associate with the user will be deleted.
PrimaryMobile:- If there is not exactly one (1)
PrimaryMobilespecified in changing cell phones, then all cell phone changes will be rejected. If only one (1) cell phone is provided, it is marked as primary.
- If there is not exactly one (1)
Addresses
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.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
Type attribute |
string |
Address type. Values are: Home or Work | required | required | If multiple values are provided for either address type, the last one will be the one saved in the creation/update. |
Street |
string |
Street Address. Format: nvarchar(max) | - | - | - |
City |
string |
The city name. Format: nvarchar(30) | - | - | - |
StateProvince |
string |
The state or province. Format: nvarchar(30) | - | - | - |
CountryCode |
string |
The country code in from the ISO 3166-1 alpha-2 country code specification. Format: char(2) | - | - | - |
PostalCode |
string |
The postal code. Format: nvarchar(20) | - | - | - |
Longitude |
string |
Deprecated as of December 2021 and will no longer be returned | Cannot Update | - | - |
Latitude |
string |
Deprecated as of December 2021 and will no longer be returned | Cannot Update | - | - |
NationalIDs
The NationalIDs parent element contains a NationalID child element for each included National ID. The NationalID element contains the following child elements:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
NationalIDNumber |
string |
The user’s national identification number. Format: nvarchar(100) | - | - | No unicode accepted. Only saves one national ID value. If multiple are provided, W016 warning message is returned. |
IssuingCountry |
string |
The country the national ID was issued in. Format: varchar(2) | - | - | - |
Expiration |
date |
The expiration date of the national ID. Format: YYYY-MM-DD |
- | - | Min - 01/01/1753, Max - 12/31/9999 |
NOTE: Only one National ID can be accepted.
DriversLicenses
The DriversLicenses parent element contains a DriversLicense child element for each included licenses.
- The
DriversLicenseelement contains the following child elements:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
DriversLicenseNumber |
string |
The user’s driver license identification number. Format: nvarchar(100) | - | - | Only saves one Drivers License Number value. If multiple are provided, W016 warning message is returned. |
IssuingCountry |
string |
The country the license was issued in. Format: varchar(2) | - | - | - |
IssuingState |
string |
The state the license was issued in. Format: nvarchar(30) | - | - | - |
Expiration |
date |
The expiration date of the license. Format: YYYY-MM-DD |
- | - | Min - 01/01/1753, Max - 12/31/9999 |
NOTE: Only one Drivers License can be accepted.
HasNoPassport
A flag which is set when adding a new passport to a user.
- Passport Visa Information scope must be enabled to receive or update the data.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
HasNoPassport |
boolean |
Format: true\false. | - | If passport value added, then this value becomes false. | * If explicitely being set to false, passport information must exist in the user’s profile or be provided within the same API call. </br> * If explicitely set to true, no passport information must exist in the user’s profile. |
Passports
A list of passports in the user’s profile:
- Passport Visa Information scope must be enabled to receive the data.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
PassportNumber |
string |
The user’s passport number. Format: nvarchar(100) | Required | Required | - |
PassportNationality |
string |
The user’s passport nationality. Format: char(2) | Required | Required | - |
PassportExpiration |
date |
The date the user’s passport expires. Format: YYYY-MM-DD |
- | - | Min - 01/01/1900, Max - 06/06/2079 |
PassportDateIssued |
date |
The date the user’s passport was issued. Format: YYYY-MM-DD |
- | - | Min - 01/01/1900, Max - 06/06/2079 |
PassportCityIssued |
string |
The city the user’s passport was issued in. Format: nvarchar(60) | - | - | - |
PassportCountryIssued |
string |
The country code in from the ISO 3166-1 alpha-2 country code specification. Format: char(2) | - | - | - |
NOTE: there can only be 2 passports associated to a user. If more than two passports are provided, W016 warning message is returned.
Visas
A list of visas in the user’s profile.
- Passport Visa Information scope must be enabled to receive or update the data.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
VisaNationality |
string |
The user’s visa nationality. Format: char(2) | Required | Required | - |
VisaNumber |
string |
The user’s visa nationality. Format: nvarchar(100) | Required | Required | - |
VisaType |
string |
The user’s visa type. Values are Unknown, SingleEntry, DoubleEntry, MultiEntry, ESTA, ETA, and SchengenVisa. | - | - | - |
VisaDateIssued |
date |
The date the user’s visa was issued. Format: YYYY-MM-DD |
- | - | Min - 01/01/1900 Max - 06/06/2079 |
VisaExpiration |
date |
The date the user’s visa expires. Format: YYYY-MM-DD |
- | - | Min -01/01/1900 Max - 06/06/2079 |
VisaCityIssued |
string |
The city the user’s visa was issued in. Format: nvarchar(60) | - | - | - |
VisaCountryIssued |
string |
The country code in from the ISO 3166-1 alpha-2 country code specification. Format: char(2) | - | - | - |
NOTE: Visas will sync with existing visas. Any existing Visas not provided in the list will be deleted.
EmailAddresses
The EmailAddresses parent element contains an EmailAddress child element for each included email address. It contains the following child element:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
EmailAddress |
string |
The user’s email address. Format: Varchar(255) | - | - | - |
Contact attribute |
boolean |
The Contact attribute specifies whether the email address should be used for travel notifications. Format: true\false. | - | - | - |
Type attribute |
string |
The type of email address. Values are: Business, Personal, Supervisor, TravelArranger, Business2, Other1, and Other2. | Required | Required | Supervisor and TravelArranger cannot be updated. Only 1 of each type is allowed. W016 Error is returned |
RatePreferences
The RatePreferences parent element contains the following child element:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
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
The DiscountCodes parent element contains a DiscountCode child element for each included discount code.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
DiscountCode |
string |
The discount code for the specified vendor. | - | - | unable to update |
Vendor attribute |
string |
Specifies the name of the vendor for the discount code. | - | - | unable to update |
NOTE: Discount code elements are not available to create or update.
Air
The Air parent element contains the user’s air travel preferences and contains the following child elements:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
AirMemberships |
- | The AirMemberships element only appears if the request came from a travel supplier for this travel type, or from a TMC. This element contains AirMembership child elements. | - | - | - |
Seat |
- | This element contains air seat child elements. | - | - | - |
Meals |
string |
This parent element contains the MealCode child element that indicates the meal preference of the traveler. See Reference for possible values. | - | - | Defaults to Regular Meal |
HomeAirport |
string |
The user’s home airport. varchar(3) | - | - | Must be an existing IATA code. |
AirOther |
string |
Other Air related description | - | - | - |
Air Memberships
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
VendorCode |
string |
The code for the vendor that manages the loyalty program. varchar(2) | Required | Required | Must be a valid VendorCode for the membership type. This list can be made available upon request. |
AccountNo |
string |
The user’s account identifier in the loyalty program. varchar(60) | Required | Required | - |
Status |
string |
Name of the user’s current level in the loyalty program. varchar (100) | - | - | - |
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 segments to next status level. | - | - | - |
IsSenator |
boolean |
Lufthansa specific field. Format: true\false | - | - | - |
Seat
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
InterRowPositionCode |
string |
Preferred position in an airplane row. Format: Window, Aisle, Middle, DontCare. |
- | - | - |
SectionPositionCode |
string |
Preference for position in plane. Format: Bulkhead, Forward, Rear, ExitRow, DontCare. |
- | - | - |
Rail
The Rail parent element contains the user’s rail travel preferences and contains the following child elements:
| Name | Data Type | Description | Update | Create | Comments | |
|---|---|---|---|---|---|---|
Seat |
string |
This element contains seat preferences. Format: Aisle, Window, DontCare |
- | - | - | |
Coach |
string |
This element contains coach preferences. Format: Compartment, Coach, CoachWithTable, DontCare |
- | - | - | |
NoiseComfort |
string |
This element contains noise comfort preferences. Format: QuietSpace, MobileSpace, DontCare |
- | - | - | |
Bed |
string |
This element contains bed preferences. Format: Lower, Upper, Middle, DontCare |
- | - | - | |
BedCategory |
string |
This element contains bed category preferences. Format: WomenOnly, MenOnly, DontCare |
- | - | - | |
Berth |
string |
This element contains berth preferences. Format: Lower, Upper, Middle, DontCare |
- | - | - | |
Deck |
string |
This element contains deck preferences. Format: Lower, Upper, DontCare |
- | - | - | |
SpaceType |
string |
This element contains space type preferences. Format: Panorama, SeatWithTable, Solo, Salon, Kiosk, InclineSeat, DuoSideBySide, DuoFaceToFace, Club6, Club4, Carre, DisabledCompanionSpace, DontCare |
- | - | - | |
FareSpaceComfort |
string |
This element contains fare space comfort preferences. Format: DedicatedBusiness, Business, IntermediateLeisure, Leisure, StandardLeisure, DontCare |
- | - | - | |
SpecialMeals |
string |
This element contains special meal preferences. Format: LowFat, LowSalt, GlutenFree, Diabetic, Muslim, Kosher, Vegetarian, VegetarianLactoOvo, DontCare |
- | - | - | |
Contingencies |
string |
This element contains contingencies preferences. Format: Bike, WomenOnly, WheelchairSpace, DontCare |
- | - | - | |
RailMemberships |
- | This element contains RailMembership child elements | - | - | - | - |
Rail Membership
| Name | Data Type | Description | Update | Create | Comments | |
|---|---|---|---|---|---|---|
VendorCode |
string |
The code for the vendor that manages the loyalty program. varchar(2) | Required | Required | Must be a Valid Vendor Code for the Membership Type. This list can be made available upon request. | |
AccountNo |
string |
The user’s account identifier in the loyalty program. varchar(60) | Required | Required | See Below. | |
Status |
string |
Name of the user’s current level in the loyalty program. varchar (100) | - | - | - | |
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. | - | - | - | |
Expiration |
DateTime |
The user’s expiration date in the loyalty program. Min - 01/01/1753, Max - 12/31/9999 | - | - | - | - |
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 segments to next status level. | - | - | - | |
BahnCardClass |
string |
Deprecated as of April 2026 and will no longer be returned. | Cannot Update | - | Add Deutsche Bahn cards on Advantage Programs. | |
BahnCardType |
string |
Deprecated as of April 2026 and will no longer be returned. | Cannot Update | - | Add Deutsche Bahn cards on Advantage Programs. |
Car
The Car parent element contains the user’s car travel preferences. It contains the following child elements:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
CarSmokingCode |
string |
Smoking car preferred. Format: DontCare, NonSmoking, Smoking |
- | - | - |
CarGPS |
boolean |
Car GPS preference. Format: true\false. | - | - | - |
CarType |
string |
Car type preference. Values are: DontCare Mini Economy EconomyHybrid Compact CompactHybrid Intermediate IntermediateHybrid Standard StandardHybrid FullSize FullSizeHybrid MiniVan Luxury Premium StandardSUV IntermediateSUV FullSizeSUV FullSizePickup Specialized |
- | - | - |
CarMemberships |
- | The CarMemberships element only appears if the request came from a travel supplier for this travel type, or from a TMC. This element contains CarMembership child elements for each included membership. | - | - | - |
CarOther |
string |
Other Car related description. Format: varchar(30) | - | - | - |
CarSkiRack |
boolean |
Car ski rack preference. Format: true\false. | - | - | |
CarTransmission |
string |
Car transmission type. Values are: DontCare, Automatic, Manual |
- | - | - |
Car Memberships
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
VendorCode |
string |
The code for the vendor that manages the loyalty program. varchar(2) | Required | Required | Must be a Valid Vendor Code for the Membership Type. This list can be made available upon request. |
AccountNo |
string |
The user’s account identifier in the loyalty program. varchar(60) | Required | Required | See Below. |
Status |
string |
Name of the user’s current level in the loyalty program. varchar (100) | - | - | - |
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. | - | - | - |
Expiration |
DateTime |
The user’s expiration date in the loyalty program. | - | - | Min - 01/01/1753, Max - 12/31/9999 |
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 segments to next status level. | - | - | - |
Hotel
The Hotel parent element contains the user’s hotel travel preferences. It contains the following child elements:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
SmokingCode |
string |
Smoking room preference. Values: DontCare, NonSmoking,Smoking |
- | - | - |
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 HotelMembership child elements for each included membership. | - | - | - |
RoomType |
string |
Hotel room preference. Values are: DontCare, King, Queen, Double, Twin, Single, Disability |
- | - | - |
HotelOther |
string |
Other Hotel related description. Format: varchar(30) | - | - | - |
PreferFoamPillows |
boolean |
Whether the user prefers foam pillows. Format: true\false. | - | - | - |
PreferCrib |
boolean |
Whether the user prefers to have a crib. Format:true\false. | - | - | - |
PreferRollawayBed |
boolean |
Whether the user prefers to have a rollaway bed. Format:true\false. | - | - | - |
PreferGym |
boolean |
Whether the user prefers a hotel with a gym. Format:true\false. | - | - | - |
PreferPool |
boolean |
Whether the user prefers a hotel with a pool. Format:true\false. | - | - | - |
PreferRestaraunt |
boolean |
Whether the user prefers a hotel with a restaurant. Format:true\false. | - | - | - |
PreferWheelchairAccess |
boolean |
Whether the user requires wheelchair access. Format: true\false. | - | - | - |
PreferAccessForBlind |
boolean |
Whether the user requires a room with access for blind guests. Format:true\false. | - | - | - |
PreferRoomService |
boolean |
Whether the user prefers a hotel with room service. Format:true\false. | - | - | - |
PreferEarlyCheckIn |
boolean |
Whether the user prefers a hotel with early check in. Format:true\false. | - | - | - |
Hotel Memberships
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
VendorCode |
string |
The code for the vendor that manages the loyalty program. varchar(2) | Required | Required | Must be a Valid Vendor Code for the Membership Type. This list can be made available upon request. |
AccountNo |
string |
The user’s account identifier in the loyalty program. varchar(60) | Required | Required | See Below. |
Status |
string |
Name of the user’s current level in the loyalty program. varchar (100) | - | - | - |
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. | - | - | - |
Expiration |
DateTime |
The user’s expiration date in the loyalty program. | - | - | Min - 01/01/1753, Max - 12/31/9999 |
CustomFields
The CustomFields parent element contains a CustomField child element for each field.
- Company Details scope must be enabled to receive the data.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
CustomField |
string |
The value of the custom field. Format: varchar(255) | - | - | - |
Name attribute |
string |
The name of the custom field. Format: varchar(255) | Required | Required | - |
Roles
A list of users associated to a user:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
FirstName |
string |
The Arranger/Manager’s first name. Format: varchar(60) | Cannot Update | - | - |
LastName |
string |
The Arranger/Manager’s last name. Format: varchar(60) | Cannot Update | - | - |
EmailAddress |
string |
The Arranger/Manager’s email address. Format: varchar(255) | Cannot Update | - | - |
LoginId |
string |
The Login Id for Arranger/Manager | Required | Required | - |
Type attribute |
string |
The Arranger/Manager’s role. Values are: Arranger, Manager | Required | Required | - |
PrimaryIndicatorFlag attribute |
boolean |
For Arrangers type, denotes the primary arranger. Format: true\false. | - | - | - |
NOTES:
FirstName,LastName, andEmailcannot be updated.ManagersandArrangersmust be in the same company of the user to be assigned.- If the
PrimaryIndicatorFlagis sent in as true, the arranger will be marked as primary. - New arrangers will be marked as travel arrangers only.
- If multiple primary arrangers are provided, W016 warning message is returned.
- If multiple managers are provided, W016 warning message is returned.
- If the
PrimaryIndicatorFlagis sent in as true, the arranger will be marked as primary.
Sponsors
A list of sponsors associated to a user:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
NonEmployeeUserType |
string |
The non-employee’s user type. Values are: Contractor, Student/Intern, Candidate for Hire, Invitational Traveler, Dependent/Spouse, Board Member, Other |
Required | Required | - |
SponsorName |
string |
The sponsor’s name. Format: varchar(255) | Cannot Update | - | - |
SponsorshipStartDate |
date |
The sponsorship start date. Format: YYYY-MM-DD |
Required | Required | - |
SponsorshipEndDate |
date |
The sponsorship end date. Format: YYYY-MM-DD |
Required | Required | - |
LoginID |
string |
The sponsor’s name. Format: varchar(255) | Required | Required | - |
NOTES:
- The company must allow sponsored users, and the sponsoring user must have the “Sponsor” role to be added to the list of sponsors
- The sponsoring user must be associated with the same company as the sponsored user.
- If the association to the sponsoring user already exists, than the data will be updated
SponsorshipEndDatemust be afterSponsorshipStartDate
TSAInfo
The Transportation Security Administration (TSA) details provided.
- TSA information scope must be enabled to receive the data.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
Gender |
string |
The user’s gender. Values are: Male, Female |
- | - | - |
DateOfBirth |
date |
The user’s date of birth. Format: YYYY-MM-DD. Min - 01/01/1900, Max - 06/06/2079 |
- | - | - |
NoMiddleName |
boolean |
Format: true/false |
- | - | - |
PreCheckNumber |
string |
The user’s pre-check number. Format: varchar(255) | - | - | - |
RedressNumber |
string |
The user’s redress number. Format: varchar(255) | - | - | - |
NOTE: NoMiddleName: If the profile has a middle name, NoMiddleName overrides to false
UnusedTickets
A list of unused tickets associated to a user
- Unused tickets scope must be enabled to receive the data.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
Carrier |
string |
The vendor’s name. Format: Varchar(255) | Required | Required | - |
TicketNumber |
string |
The unused ticket number. Format: Varchar(255) | Required | Required | - |
RecordLocator |
string |
The unused ticket record locator. Format: Varchar(6) | - | - | - |
BaseFare |
string |
The base fare of the unused ticket. Format: Varchar(255) | - | - | - |
Taxes |
string |
The taxes for the unused ticket. Format: Varchar(255) | - | - | - |
Fees |
string |
The fees for the unused ticket. Format: Varchar(255) | - | - | - |
Currency |
string |
The currency of the unused ticket. Format: Varchar(3) | - | - | - |
TicketType |
string |
The type of unused ticket. Format: Varchar(1) | - | - | - |
IssueDate |
date |
The date of issue for the unused ticket. Format: YYYY-MM-DD. |
- | - | Min - 01/01/1753, Max - 12/31/9999 |
ExpirationDate |
date |
The date of expiration for the unused ticket. Format: YYYY-MM-DD. |
- | - | Min - 01/01/1753, Max - 12/31/9999 |
Notes |
string |
Notes associated to the unused ticket. Format: Varchar(255) | - | - | - |
SouthwestUnusedTickets
A list of unused Southwest tickets associated to a user.
- Unused tickets scope must be enabled to receive the data.
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
RecordLocator |
string |
The unused ticket record locator. Format: Varchar(255) | Required | - | - |
TicketAmount |
string |
The amount of the unused ticket. Format: Varchar(255) | - | - | - |
Currency |
string |
The currency of the unused ticket. Format: Varchar(3) | - | - | - |
ExpirationDate |
date |
The date of expiration for the unused ticket. Format: YYYY-MM-DD. |
- | - | Min - 01/01/1753, Max - 12/31/9999 |
AdvantageMemberships
A list of advantage memberships associated to a user:
| Name | Data Type | Description | Update | Create | Comments |
|---|---|---|---|---|---|
VendorCode |
string |
The code for the vendor that manages the membership program. Format: Varchar(2) | Required | Required | - |
VendorType |
string |
The vendor type. Values are: Air, Rail, Car, Hotel |
Required | Required | - |
ProgramNumber |
string |
The membership program number. Format: Varchar(20) | Required | Required | - |
OriginCode |
string |
The origin code. Format: Varchar(12) | - | - | - |
DestinationCode |
string |
The destination code. Format: Varchar(12) | - | - | - |
ProgramCode |
string |
The program code. Format: Varchar(20) | Required | Required | - |
ExpirationDate |
date |
Expiration date. Format: YYYY-MM-DD. Min - 01/01/1900, Max - 06/06/2079 |
- | - | - |
OptionCode |
string |
The option code. Format: Varchar(20) | - | - | - |
ProgramName |
string |
The program name. Format: Varchar(20) | Cannot Update | - | - |
NOTES:
- For List of available advantage memberships See Reference
- Multiple memberships for the same
VendorType,VendorCode,ProgramCode, andCardNumberare identified and a warning is thrown. OriginStationCodeandDestinationStationCodefields are deprecated and should no longer be used. UseOriginCodeandDestinationCodeinstead.
Possible Warnings and Error Messages
Error in XML Document
This error message occurs, when the XML is not formatted in such a way that it can be read.
<Error>
<Message>There is an error in XML document (1, 147).</Message>
<Server-Time>2017-06-22T16:51:37</Server-Time>
<Id>3BDBC49E-8793-4515-BA0E-F9C71ADA7330</Id>
</Error>
The best way to find the cause of the error is by taking the body of your message and comparing it against the Travel Profile XSD. You can use free online sites to validate such as https://www.freeformatter.com/xml-validator-xsd.html
Standard Error Codes
Error Code Categories
Success Codes
| Code | Type | Description | |——|——|————-| | S001 | Success | Process completed successfully with no errors or warnings |
Error Codes (E-series)
| Code | Message Type | Description | Trigger Condition | Resolution |
|---|---|---|---|---|
| E001 | No Access | No access to user data | User lacks permission to view or modify the requested profile | Verify OAuth token has correct scopes. Check user has appropriate role/permissions for the target profile. |
| E002 | Required Field Missing | Required field is missing | A mandatory field was not provided during create or update | Review API schema for required fields. Common required fields: FirstName, LastName, LoginID (for creates). Check field requirements based on company configuration. |
| E004 | Decryption Error | Failed to decrypt sensitive data | System cannot decrypt stored sensitive data (credit card numbers, visa numbers) | Contact SAP Concur support. This indicates a cryptographic key issue or data corruption. API consumers cannot resolve this directly. |
| E007 | Invalid Modified By UUID | ModifiedByUUID is invalid | The ModifiedByUUID field contains an invalid or non-existent user UUID | Provide a valid UUID for the user making the modification. This field tracks audit history. |
| E101 | Restricted Territory | Contains country or region where product/service is unavailable | Address contains an embargoed country code or restricted territory (state/province) | Remove or change the address to a non-restricted location. Check Concur’s list of supported countries/territories. Common triggers: sanctioned countries, restricted regions. |
| E111 | Core Profile Creation Failed | Failed to create user profile in core system | Core identity system rejected profile creation | Review error details in response. Common causes: duplicate LoginID, invalid company UUID, core system validation failures. |
Warning Codes (W-series)
| Code | Message Type | Description | Trigger Condition | Validation Logic | Resolution |
|---|---|---|---|---|---|
| W001 | Invalid Regex | Data does not match expected regex pattern | Field value fails regex validation | Varies by field - see field-specific validation rules | Review field format requirements. Common fields: phone numbers, email addresses, custom fields. |
| W002 | Invalid Length | Data is too long or too short | Field value exceeds max length or is below min length | Length constraints vary by field | Check API schema for field length limits. Trim whitespace. Split data across multiple fields if needed. |
| W003 | Not Found In Company | User not found in the company | Specified user UUID or LoginID does not exist in company | User lookup by UUID or LoginID returns no results | Verify user exists in company. Check spelling of LoginID. Ensure UUID is correct. |
| W004 | Duplicate Entry | Data is duplicated and not allowed | Attempting to create duplicate entry where uniqueness is required | Depends on field - e.g., loyalty program membership numbers must be unique within user profile | Remove duplicate entry or update existing entry instead of creating new one. |
| W005 | Duplicate LoginID | LoginID is already in use | Attempting to create or update user with a LoginID that already exists | LoginID must be unique across company | Choose a different LoginID. To reassign, first delete/deactivate the existing user with that LoginID. |
| W006 | Out of Range | Data value is outside acceptable range | Numeric value, date, or enumerated value is outside allowed range | Varies by field - e.g., birth year must be between 1900-current year; codes must match valid enum values | Check field constraints in API schema. Use valid enum values. Ensure dates are realistic and within business rules. |
| W007 | Field is Required | Field cannot be cleared | Attempting to clear/null a field that is required by company configuration | Field is marked as required in company configuration but update attempts to clear it | Provide a non-empty value. Check company field configuration. Some fields become required based on company settings even if optional in base API. |
| W009 | Invalid Account Number | Account number validation failed | Credit card or loyalty program account number fails validation | Luhn algorithm check (for credit cards), length validation, format validation | Verify account number is correct. Check for typos. Ensure proper digit count. For credit cards, must pass Luhn checksum. |
| W010 | Invalid Vendor Code | Vendor code is invalid | Credit card, loyalty program, or car preference vendor code does not exist in company configuration | Vendor code lookup fails in company’s configured vendor list | Use a valid vendor code from the company’s vendor list. Contact admin to add vendor if needed. Common vendors: VI (Visa), CA (MasterCard), AX (Amex), airlines (AA, UA, DL), hotels (HH, HY, MC), car rental (ZE, ZR, ZL). |
| W011 | Cannot Change | Field cannot be modified | Attempting to modify a read-only or system-controlled field | Field is marked as non-editable in system configuration or locked by business rules | Do not attempt to modify this field. Common examples: system-generated IDs, verified/locked fields, calculated fields. |
| W012 | Primary Cell Number Error | Violation of primary cell phone requirement | Multiple cell phones marked as primary, or no primary when required | Count of "Primary": true cell phones must equal exactly 1 |
Mark exactly one cell phone as primary. Ensure all others have "Primary": false. |
| W013 | Invalid Custom Field | Custom field data is invalid | Custom field value violates configured validation rules for that field | Custom validation rules vary by field configuration - may include regex, value lists, data type constraints | Check company’s custom field configuration. Ensure data type matches (text, number, date, list). For list fields, use valid list values. |
| W014 | Invalid Date Range | Date is outside acceptable range | Date value is outside allowed date range for the field | Range validation depends on field - e.g., passport expiration must be in future; birth date must be in past | Provide a date within the valid range. Check if date must be future/past. Verify date format is correct (YYYY-MM-DD). |
| W015 | Invalid GUID | GUID/UUID is malformed | Field expecting UUID contains invalid UUID format | Must match UUID format: 8-4-4-4-12 hexadecimal pattern | Provide a properly formatted UUID. Common fields: CustomFields, UserUUID, CompanyUUID. |
| W016 | Too Many Items | Collection exceeds maximum allowed items | Array/collection exceeds maximum item count | Item count limits vary by collection - e.g., max credit cards, max loyalty programs, max addresses | Reduce number of items. Remove obsolete entries before adding new ones. Check API schema for collection limits. |
| W017 | No Access to VendorCode | User lacks access to vendor code | User or company lacks access to specified vendor code | Vendor code access validation checks company entitlements and user permissions | Contact admin to grant access to vendor. Verify company has contract/integration with vendor. |
| W018 | Invalid Data or Multiple Constraint Violation | Data is invalid or violates business rules | Multiple scenarios: • Cell phone number contains invalid characters (only digits, dashes, parentheses, spaces allowed) • Multiple cell phones marked as primary • Multiple default cards for same travel type (IsDefaultAir, IsDefaultCar, IsDefaultHotel, IsDefaultRail) • Duplicate credit card entries • Invalid ticket type for unused tickets |
Varies by specific field/scenario | Phone: Use only digits, spaces, dashes, parentheses Tickets: Use valid ticket type from allowed list |
| W019 | Cannot Change Verified Email | Verified email cannot be modified | Attempting to change an email address that has been verified | Email has verified status flag set to true | Cannot modify verified emails. User must verify the new email address through standard email verification flow. |
| W020 | Invalid Email Format | Email address format is invalid | Email fails regex validation | Must match pattern: ^[\p{Alphabetic}\p{digit}!.#$%&'*+\-/=?^_{|}~]+@[\p{Alphabetic}\p{digit}]+([-.][\p{Alphabetic}\p{digit}]+)*$ (Unicode-aware) | Provide valid email format: localpart@domain. Local part allows alphanumeric and special chars: ! . # $ % & ' * + - / = ? ^ _ { | } ~. Domain must be alphanumeric with optional dashes/dots. |
|
| W022 | Southwest Unused Tickets Deprecated | Southwest-specific unused tickets section is deprecated | Data sent to deprecated southwestUnusedTickets field |
Detects data in legacy Southwest-specific section | Use the standard UnusedTickets element for all airlines including Southwest. Data sent to old section is ignored. |
| W023 | Emergency Contact Phone Invalid | Emergency contact phone number fails validation | Emergency contact phone number does not match required pattern | Must match regex: ^[^\p{C}]{0,60}$ (no control characters, max 60 chars) |
Remove control characters from phone number. Limit to 60 characters. Use standard phone number format. Applies to both primary and secondary emergency contact phones. |
| W024 | Telephone Number Invalid | Telephone/phone number fails validation | Phone number (Telephones array) does not match required pattern | Must match regex: ^[^\p{C}]{0,60}$ (no control characters, max 60 chars) |
Remove control characters (\p{C}) from phone number. Limit to 60 characters. Control characters include null bytes, special formatting codes, etc. |
| W033 | Rule Class Not Found | Rule class name not found in company | Specified RuleClass name does not exist in company configuration | Case-insensitive lookup of rule class name fails in company’s configured rule classes | Use a valid rule class name configured for the company. Check spelling and capitalization. Contact admin if rule class needs to be created. |
Phone Number Validation Details
Regex Pattern: ^[^\p{C}]{0,60}$
Explanation:
^- Start of string[^\p{C}]- Any character EXCEPT Unicode control characters{0,60}- Between 0 and 60 characters$- End of string
Unicode Control Characters (\p{C}) include:
- Null bytes (
\0) - Control codes (0x00-0x1F, 0x7F-0x9F)
- Line separators
- Paragraph separators
- Format characters
Valid Phone Examples:
+1 (555) 123-4567555-1234+44 20 7123 45671234567890
Invalid Phone Examples:
555\n1234(contains newline control character)555\t1234(contains tab control character)555\x001234(contains null byte)- Phone numbers over 60 characters
Applies to:
- W023: Emergency contact phone numbers
- W024: Regular telephone numbers (Telephones array)
- W018: Cell phone numbers (with additional restrictions: digits, dashes, parentheses, spaces only)
Email Validation Details
Regex Pattern (W020)
^[\p{Alphabetic}\p{digit}!.#$%&'*+\-/=?^_`{|}~]+@[\p{Alphabetic}\p{digit}]+([-.][\p{Alphabetic}\p{digit}]+)*$
Explanation:
-
Local part (before @): Unicode letters, digits, and special characters: ! . # $ % & ' * + - / = ? ^ _{} ~` - Domain part (after @): Unicode letters, digits, with optional dashes and dots
- Supports international (Unicode) email addresses
Valid Email Examples:
john.doe@example.comuser+tag@company.co.uktest_user123@example.orgmüller@büro.de(Unicode)
Invalid Email Examples:
@example.com(missing local part)user@(missing domain)user name@example.com(space not allowed)user@.example.com(domain cannot start with dot)
Common Validation Scenarios
Credit Card Validation (W009)
Credit card account numbers undergo multiple validations:
- Length check: Typically 13-19 digits depending on card type
- Luhn algorithm: Checksum validation (modulo-10)
- Format validation: Must be numeric
- Vendor code validation: Must match valid card type (W010)
Custom Field Validation (W013)
Custom fields have company-specific validation rules:
- Data Type: Text, Number, Date, List
- List Values: Must match configured list values exactly
- Regex Patterns: May have custom regex validation
- Length Limits: May have custom length constraints
- Required Status: May be required based on company config
Date Range Validation
- Validate dates client-side for logical ranges
- Passport expiration: Must be in future
- Birth date: Must be in past, reasonable age range
- Travel dates: Must be logical sequence
- Use ISO 8601 format (YYYY-MM-DD)
Message Types
Success: Operation completed successfully (S001)Error: Operation failed, no changes made (E-series)Warning: Operation completed with issues, partial success possible (W-series)
Error Recovery:
- E-series errors: Operation failed completely - fix error and retry entire request
- W-series warnings: Operation may have partially succeeded - check response data and retry only failed parts
- Parse
Fieldproperty to identify exact location of validation failure
If incorrect API credentials are provided, the service will return the standard response, e.g. 403 Forbidden. In some cases, the API will return additional information when producing a 400, Bad Request, response. It may contain the following codes in the response’s body:
- EC1 : The user was not found in database.
- EC2: The user is not a company admin, or the company ID does not match the user’s company ID.
- EC3: The user is not an agency admin, the agency company ID is null, or if agency company ID does not match the user’s agency company ID.
- EC4: If the application’s UUID is null, or if the application is configured not to have access to the input travel config.
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/v2.0/profile HTTP/1.1
Authorization: OAuth {access token}
Example 2: Get the travel profile for a user with a specific login ID
Request
GET https://www.concursolutions.com/api/travelprofile/v2.0/profile?userid_type=login&userid_value=cm@example.com HTTP/1.1
Authorization: OAuth {access token}
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/v2.0/profile HTTP/1.1
Authorization: OAuth {access token}
Example 4: Get the travel profile for a user with a specific login ID
Request
GET https://www.concursolutions.com/api/travelprofile/v2.0/profile?userid_type=login&userid_value=cm@example.com HTTP/1.1
Authorization: OAuth {access token}
Example 5: Create a new user
Request
POST https://www.concursolutions.com/api/travelprofile/v2.0/profile HTTP/1.1
Authorization: OAuth {access token}
Body
<ProfileResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Action="Create" LoginId="william.never@email.com">
<General>
<FirstName>William</FirstName>
<LastName>Never</LastName>
<RuleClass>Default Rule Class</RuleClass>
<TravelConfigID>555</TravelConfigID>
</General>
<Password>password123</Password>
</ProfileResponse>
Example 6: Update a user
Request
POST https://www.concursolutions.com/api/travelprofile/v2.0/profile HTTP/1.1
Authorization: OAuth {access token}
Body
<ProfileResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Action="Update" LoginId="william.never@email.com">
<General>
<FirstName>Bill</FirstName>
</General>
</ProfileResponse>
Get a list of travel profile summaries
This endpoint provides a list of travel profile summaries that have been updated since the specified date. The response is separated into pages.
Request
GET {InstanceURI}/api/travelprofile/v2.0/summary?LastModifiedDate=2020-01-01T01:00:00&travelConfigs=100,200,3000&Active=1 HTTP/1.1
Authorization: OAuth {access token}
Request parameters
LastModifiedDate is required. All other request parameters are optional. Available request parameters are as follows:
| 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. |
travelConfigs |
Optional | path | string |
One or more Config IDs, separated by commas. |
Active |
Optional | path | 0 or 1 |
Active Status. 1 = Active Users. 0 = Inactive Users. |
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 an SAP Concur account with one of these roles: Web Services Administrator for Professional or Can Administer for Standard.
Schema
The data model of the response for the GET operation. The complete schema definition is also available here: Travel Profile Summary V2 XSD
<ConnectResponse>
<Metadata>
<Paging>
<TotalPages />
<TotalItems />
<Page />
<ItemsPerPage />
<PreviousPageURL />
<NextPageURL />
</Paging>
</Metadata>
<Data>
<ProfileSummary>
<Status />
<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 ProfileSummary element contains the profile information for the response and it contains the following child elements:
| Element Name | Data Type | Description |
|---|---|---|
| Status | string |
Current status of the user: Active or Inactive. |
| LoginID | string |
The SAP Concur user login ID. |
| XMLProfileSyncID | string |
The 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/v2.0/summary?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>
<Status>Active</Status>
<LoginID>mariab@company1.com</LoginID>
<XmlProfileSyncID>`string`123</XmlProfileSyncID>
<ProfileLastModifiedUTC>2015-01-01T01:00:00</ProfileLastModifiedUTC>
</ProfileSummary>
<ProfileSummary>
<Status>Inactive</Status>
<LoginID>peterk@company1.com</LoginID>
<XmlProfileSyncID>`string`456</XmlProfileSyncID>
<ProfileLastModifiedUTC>2015-01-01T01:00:00</ProfileLastModifiedUTC>
</ProfileSummary>
</Data>
</ConnectResponse>