From b53ca136d3ad1b9aff75e2d53608053756500477 Mon Sep 17 00:00:00 2001 From: i752548 Date: Fri, 29 Aug 2025 16:51:14 -0300 Subject: [PATCH 1/3] EXTRAS-25 --- .../travel/trip-extras/trip-extras.md | 1415 +++++++++++++++++ 1 file changed, 1415 insertions(+) create mode 100644 src/api-reference/travel/trip-extras/trip-extras.md diff --git a/src/api-reference/travel/trip-extras/trip-extras.md b/src/api-reference/travel/trip-extras/trip-extras.md new file mode 100644 index 0000000000..17ee700991 --- /dev/null +++ b/src/api-reference/travel/trip-extras/trip-extras.md @@ -0,0 +1,1415 @@ +--- +title: Trip-Extras +layout: reference +--- + +# Trip-Extras + +The Trips resource represents itineraries in the Concur Travel system. + +### Version + +1.0 + +## Limitations + +Access to this documentation does not provide access to the API.  + +### URI + +`/travel/trip/v1.1/{query_parameters}` + +## Scope + +In order to obtain itinerary data when making Itinerary API calls, the value of the OAuth scope parameter must be set to: `ITINER` + +## Get Trip Summaries + +The Get Itinerary Summaries endpoint is used for retrieving trip summaries for a single user. Do not use this to get trips for an entire company. Use [Itinerary v4 events](/event-topics/travel/v4.itinerary-events.html) instead. + +## Best Practices +* Do not use Trip 1.1 to extract historical data. +* Do not use Trip 1.1 to get data for an entire company. Use [Itinerary v4](/api-reference/travel/itinerary-v4/v4.itinerary.html) instead. +* Itineraries change frequently. Changes do not necessarily indicate that the traveler modified their trip. If your application works with upcoming or in progress trips, be aware that you must evaluate the individual segments to determine whether it is a material change for your application. +* This API will only return itineraries that have been sent to Concur Travel; this includes travel booked within Concur Travel, TripIt, on TripLink supplier sites, and most bookings from your travel agency. Some customers may have multiple booking options which may mean not all employee trips are available via this API. A good rule of thumb: if the traveler sees the itinerary in their “trips” list, then you can retrieve it from this API. +* Use the POST endpoint if you do not want the query parameters to appear in the URL. + +### Request + + GET /travel/trip/v1.1/{query_parameters} + POST /travel/trip/v1.1/GetTrips + +### Query Parameters + +All query parameters 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| +|:---------|:---------|:-------|:-----------------------------------------| +|`startDate` |`date` |`dateTime` |The URL-encoded start date (in Coordinated Universal Time, or UTC) for the trip. Format: YYYY-MM-DD. If no query parameters are provided, the start date is set to today's date - 30 days. The request will only return trips that are ongoing during the provided dates, either starting on the date, or starting before the date and ongoing during the provided date.| +|`endDate` |`date` |`dateTime`|The URL-encoded UTC end date for the trip. Format: YYYY-MM-DD. If no query parameters are provided, the end date is set to today's date + 12 months. The request will only return trips that are ongoing during the provided dates, either ending on the date, or starting before the date and ongoing during the provided date.| +|`createdAfterDate` |`date` |`dateTime` |The URL-encoded UTC date for when the trip was created. The query string will return trips created on or after this date. Used with the ``createdBeforeDate`` for finding trips created during a date range. Format: YYYY-MM-DD.| +|`createdBeforeDate`|`date` |`dateTime` |The URL-encoded UTC date for when the trip was created. The query string will return trips created on or before this date. Used with the `createdAfterDate` for finding trips created during a date range. Format: YYYY-MM-DD.| +|`lastModifiedDate`|`date`|`dateTime` |The last modified UTC date of the trips and their associated bookings. This query string will return only the trips where the trip or any of its associated bookings have a last modified date that is greater or equal to the supplied time. The provided date/time can be anytime between now and the first date of trip creation in the database. The format is either the date or the date and time combined. +|`bookingType`|`type` |`string` |The trip includes at least one booking of this type. Format: `Air`, `Car`, `Dining`, `Hotel`, `Parking`, `Rail`, or `Ride`. +|`userid_type=login`|`userid`|`string`|The `loginID` is the user's SAP Concur login ID. This parameter can only be used if the OAuth consumer has one of the user roles listed above. +|`userid_value`|`userid`|`string` |The `userid_value` of ALL can be sent to get trip summaries for all users at the company. This parameter can only be used if the OAuth consumer has one of the user roles listed above. +|`includeMetadata`|`true/false`|`string`|The `includeMetadata` query parameter combined with the `ItemsPerPage` and `Page` query parameters cause the response to be divided into pages. The response is wrapped in a `ConcurResponse` parent element, with both the response details and the paging metadata included. If the `ItemsPerPage` query parameter is not sent, the response will default to 200 if the `Page` query parameter is sent, or 1000 if the `Page` query parameter is not set. If the `Page` query parameter is not sent, the response will default to page 1.| +|`ItemsPerPage`|`number`|`integer`|The `includeMetadata` query parameter combined with the `ItemsPerPage` and `Page` query parameters will cause the response to be divided into pages. The response will be wrapped in a `ConcurResponse` parent element, with both the response details and the paging metadata included. If the `ItemsPerPage` query parameter is not sent, the response will default to 200 if the `Page` query parameter is sent, or 1000 if the `Page` query parameter is not set. If the `Page` query parameter is not sent, the response will default to page 1.| +|`includeVirtualTrip`|`flag`|`integer` |Virtual trips are segments booked offline through the Concur Request product. Set the `includeVirtualTrip` query parameter to 1 to include those trips in the list.| +|`includeCanceledTrips` |`true/false`|`string`|The `includeCanceledTrips` query parameter will cause the request to also return trips with a status of Canceled. When this query parameter is set to true, the response will include the `TripStatus` element.| +|`includeGuestBookings` |`true/false`|`string`|The `includeGuestBookings` query parameter will cause the request to show guest bookings if set to true. It is set to false by default.| + +Here are some examples of how to format GET requests using a combination of these query parameters: + +* To get trip summaries for the entire company: + +``` +https://www.concursolutions.com/api/travel/trip/v1.1/?startDate={_startdate_}&endDate={_enddate_}_&_createdAfterDate={_date_}&createdBeforeDate={_date_}&lastModifiedDate={_date_}&bookingType={_type_}&userid_type=login&userid_value=ALL +``` +The access token used to make the API call must be associated with an account that has the Admin user role. + +* To get trip summaries for the account associated with the app making the call: + +``` +https://www.concursolutions.com/api/travel/trip/v1.1/?startDate={_startdate_}&endDate={_enddate_}_&_createdAfterDate={_date_}&createdBeforeDate={_date_}&lastModifiedDate={_date_}&bookingType={_type_} +``` +The access token used to make the API call is associated with the account for the app making the call. + +* To get trip summaries for a user with the specified login credentials: + +``` +https://www.concursolutions.com/api/travel/trip/v1.1/?startDate={_startdate_}&endDate={_enddate_}_&_createdAfterDate={_date_}&createdBeforeDate={_date_}&lastModifiedDate={_date_}&bookingType={_type_}&userid_type=login_id&userid_value={_loginID_} +``` + +The access token used to make the API call is associated with the SAP Concur account with the specified login credentials. + +### Request Content Body + +Only specified for the POST endpoint. A JSON document with any of the parameters documented in [Query Parameters](#query-parameters), above. + +### Headers + +#### Authorization Header (Required) + +`Authorization: OAuth {access_token}` +Where `access_token` is the OAuth 2.0 access token of the user whose itinerary information you want to retrieve. If you want to access company-wide itinerary information, the SAP Concur user account associated with the OAuth 2.0 access token must have one of these roles: Web Services Administrator for Professional or Can Administer for Standard. + +#### Accept Header (optional) + +application/xml + +## Get Trip Summaries Response Schema + +The response returns an `ItineraryInfoList` parent element with an `ItineraryInfo` child element for each trip summary for the specified traveler. If the `includeMetadata` and `ItemsPerPage` query parameters are included in the request, the response will include a `ConnectResponse` parent element which contains a `MetaData` element with paging information and a `Data` element with an `ItineraryInfoList` child element. The response for this operation can be divided into pages for easier processing. + +### Data Elements + +| Element Name | Data Type | Description +| --------- | ---------| --------- +| `ItineraryInfoList` | `element` | Parent element with an `ItineraryInfo` child element for each trip summary for the specified traveler. + +### ItineraryInfoList Elements + +| Element Name | Data Type | Description +| --------- | ---------| --------- +| `ItineraryInfo` | `element` | Parent element with the information about an itinerary for the specified user. + +### ItineraryInfo Elements + +| Element Name | Data Type | Description +| --------- | ---------| --------- +| `TripId` | `string` | Encrypted trip identifier value. +| `TripName` | `string` | Name of the trip. +| `TripStatus` | `string` | The status of the trip. This element only appears if the `includeCanceledTrips` query parameter is used in the request. +| `StartDateLocal` | `dateTime` | The start date of the trip in the starting location’s timezone. Format: YYYY-MM-DDThh:mm:ss. +| `EndDateLocal` | `dateTime` | The end date of the trip in the ending location’s timezone. Format: YYYY-MM-DDThh:mm:ss. +| `DateModifiedUtc` | `dateTime` | The UTC date that this trip was last modified. Format: YYYY-MM-DDThh:mm:ss. +| `UserLoginId` | `string` | The user's login to SAP Concur. This element appears in the response of the GET /api/travel/trip/v1.1 operation when the OAuth 2.0 is access token is associated with an SAP Concur account with one of these roles: Web Services Administrator for Professional or Can Administer for Standard. +| `id` | `string` | Trip ID URI with encrypted ID. + +### Metadata Element + +The parent element of the paging information. + +### Paging Elements + +| Element Name | Data Type | Description +| --------- | ---------| --------- +| `TotalPages` | `integer` | The total number of pages the query returned. +| `TotalItems` | `integer` | The total number of itineraries the query returned. +| `CurrentPage` | `integer` | The page number for the set of results in the current response. +| `ItemsPerPage` | `integer` | 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. + +## Examples + +### Example 1: Get Trip Summaries by Start and End Date + +#### Request + +```http +GET /api/travel/trip/v1.1/?startDate=2012%2F02%2F01&endDate=2013%2F12%2F31 HTTP/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +... +``` +or +```http +POST /api/travel/trip/v1.1/GetTrips HTTP/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +Content-Type: application/json +Accept: application/xml +... + +{ + "startDate": "2012-02-01", + "endDate": "2013-12-31" +} +``` + +#### Response + +```http +HTTP/1.1 200 OK +Content-Type: application/xml +... + + + + + naIzQJ0y2DBWjCIQOb2SHTsozwBsHDkdP + Trip from Baltimore to New York + 2012-02-15T09:00:00 + 2012-02-21T17:30:00 + cm@example.com + 2012-02-14T17:13:07 + https://www.concursolutions.com/api/travel/trip/v1.1/naIzQJ0y2DBWjCIQOb2SHTsozwBsHDkdP + + + I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL + Trip from Baltimore to Seattle + 2012-03-26T09:00:00 + 2012-03-29T17:30:00 + 2012-03-24T19:00:00 + cm@example.com + https://www.concursolutions.com/api/travel/trip/v1.1/I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL + + +``` + +### Example 2: Get Trip Summary by Booking Type and Start Date Request + +This request returns trip summaries for trips that started by the specified date for the specified booking type. + +#### Request + +```http +GET /api/travel/trip/v1.1/?startDate=2015%2F01%2F01&bookingType=Air HTTP/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +... +``` + +#### Response + +```http +HTTP/1.1 200 OK +Content-Type: application/xml +... + + + + + I2uwiJJw8r7OwCIQOb2SHTsozwBsSie9W + Trip by air from Seattle to San Francisco + 2015-01-01T12:30:00 + 2015-01-05T10:30:00 + cm@example.com + 2014-12-23T11:10:00 + https://www.concursolutions.com/api/travel/trip/ + v1.1/I2uwiJJw8r7OwCIQOb2SHTsozwBsSie9W + + +``` + +### Example 3: Get Trip Summary by Created Date + +This requests returns trip summaries created after the specified date. + +#### Request + +```http +GET /api/travel/trip/v1.1/?createdAfterDate=2015%2F02%2F13 HTTP/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +``` + +#### Response + +```http +HTTP/1.1 200 OK +Content-Type: application/xml +... + + + + + BWjCIJJw8r7OwCIQOb2SHTsozwBsWlSie9 + Trip by air from Los Angeles to Mexico City + 2015-03-09T18:45:00 + 2015-03-30T08:00:00 + cm@example.com + 2015-01-28T09:30:00 + https://www.concursolutions.com/api/travel/trip/ + v1.1/BWjCIJJw8r7OwCIQOb2SHTsozwBsWlSie9 + + +``` + +### Example 4: Get Trip Summary with Paging + +This request is used for dividing the response into pages for easier processing. + +#### Request + +```http +GET /api/travel/trip/v1.1/?createdAfterDate=2012%2F02%2F01&includeMetadata=true&ItemsPerPage=2&Page=1 HTTP/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +``` + +#### Response + +The response returns a `ConnectResponse` parent element which contains a `MetaData` element with paging information and a `Data` element with an `ItineraryInfoList` child element. + +```http +HTTP/1.1 200 OK +Content-Type: application/xml +... + + + + + 38 + 187 + 2 + 2 + https://www.concursolutions.com/api/travel/trip/v1.1/? + createdAfterDate=2012%2F02%2F01& + itemsPerPage=5&page=3&includeMetaData=true + https://www.concursolutions.com/api/travel/trip/v1.1/? + createdAfterDate=2012%2F02%2F01& + itemsPerPage=5&page=1&includeMetaData=true + + + + + + naIzQJ0y2DBWjCIQOb2SHTsozwBsHDkdP + Trip from Baltimore to New York + 2012-02-15T09:00:00 + 2012-02-21T17:30:00 + cm@example.com + 2012-02-14T17:13:07 + https://www.concursolutions.com/api/travel/trip/v1.1/naIzQJ0y2DBWjCIQOb2SHTsozwBsHDkdP + + + I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL + Trip from Baltimore to Seattle + 2012-03-26T09:00:00 + 2012-03-29T17:30:00 + 2012-03-24T19:00:00 + cm@example.com + https://www.concursolutions.com/api/travel/trip/v1.1/I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL + + + + +``` + +## Get Trip Details + +The Get Itinerary Details endpoint is used for getting details for the specified trip. The elements included in the response vary as follows: + +* Some elements, such as `AirlineTickets` or `RailPayments`, appear only for bookings of the appropriate type. For example `AirlineTickets` appears in the response only for air bookings and `RailPayments`, for rail bookings. +* Amount values, such as Rate or Tax, appear only if the requestor is the source of the booking. All other suppliers will not receive the amount elements associated with the bookings. +* Some elements, such as `SabreDKNumber`, appear only if the booking was created by the relevant GDS. +* Some elements are vendor-specific and appear only in responses for the associated vendor. + +This topic describes the full set of possible elements that can be returned. No itinerary can contain all of the possible elements, so the response will always be a subset of all the possible returned values. + +By default, when calling this API, the SAP Concur account associated with the OAuth access token used to make the API call should be the owner of the trip. This endpoint can also be used to get details for trips that the OAuth consumer does not own. This is most often done when a TMC needs to get trip details on behalf of a user. The TMC must be registered with SAP Concur and have an SAP Concur account that has one of the following user roles: Web Services Administrator for Professional, or Can Administer for Standard. + +### Request + +``` +GET /travel/trip/v1.1/trip_ID?[systemFormat=system_format|&userid_type=login|&user_id=login_ID] +``` + +### Path Parameters + +| Parameter Name | Data Type |Description +| --------- | --------- | ------- +| `trip_ID` | `string` | **Required**: The identifier for the desired trip. This identifier is returned as the value of the ID element when getting trip summaries. For example, if the returned value of the ID element is I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL, then the URI for the request is `/travel/trip/v1.1/I2uwiJJw8r7Owl3IWlSie9WIelxhAhwi`. + + +### Query Parameters + +| Parameter Name |Data Type |Description +| --------- | --------- | ------- +| `systemFormat` | `string` | **Optional**: Format of the response for a different system. The supported value is Tripit. The format for the request URI using this query parameter is `/travel/trip/v1.1/trip_ID?systemFormat=Tripit`. +| `userid_type` | `string` | **Optional**: The type of user identification to use. Possible value is: login. +| `userid_value` | `string` | **Optional**: The user's login ID. This parameter must be provided in conjunction with the `userid_type` parameter. The `userid_type` and `userid_value parameters` can only be used if 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. The format for the request URI using the `userid_type` and `userid_value` query parameters is `/travel/trip/v1.1/trip_ID?userid_type=login&userid_value=login_ID`. + +### Headers + +#### Authorization Header (Required) + +`Authorization: OAuth {access_token}` +Where `access_token` is the OAuth 2.0 access token of the user whose itinerary information you want to retrieve. If you want to access company-wide itinerary 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. + +#### Accept Header (Optional) + +application/xml + +## Get Trip Details Response Schema +The response returns subset of the elements described in the following tables depending on the parameters used in the request and the status and details for the itinerary. The response can be formatted for TripIt, using the `systemformat` query string. + +### Parent Elements + +| Element Name | Data Type |Description +| --------- | --------- | ------- +| `id` |`string` |Trip ID URI with encrypted ID. +|`ItinLocator` | `string` |The itinerary locator. This element is now deprecated and only supported for backward compatibility. +|`ClientLocator` |`string` |Represents the unique identifier of the trip in an external (non-Concur) system. Maximum length 32 characters. +|`ItinSourceName` |`string` |The itinerary source. Format: TravelSupplier. +|`TripName` |`string` |Name of the trip. Maximum length 255 characters. +|`Comments` |`string` |Comments for this itinerary. Maximum length 512 characters. +|`StartDateLocal` |`dateTime` |The start date of the trip in the starting location’s timezone. Format: YYYY-MM-DDThh:mm:ss. +|`EndDateLocal` |`dateTime` |The end date of the trip in the ending location’s timezone. Format: YYYY-MM-DDThh:mm:ss. +|`DateCreatedUtc` |`dateTime` |The date that this trip was created, in UTC. Format: YYYY-MM-DDThh:mm:ss. +|`DateModifiedUtc` |`dateTime` |The UTC date that this trip was last modified. Format: YYYY-MM-DDThh:mm:ss. +|`BookedVia` |`string` |The booking method for the trip. +|`BookedByFirstName` |`string` |The first name of the person who booked the trip. +|`BookedByLastName` |`string` |The last name of the person who booked the trip. +|`DateBookedLocal` |`dateTime` |The date the trip was booked, in the local time of the booking location. Format: YYYY-MM-DDThh:mm:ss. +|`CancelComments` |`string` |The comments provided if the itinerary is cancelled. Maximum length: 256 characters. +|`Description` |`string` |The trip description. Maximum length: 512 characters. +|`EndDateUtc` |`dateTime` |The end date of the trip, in UTC. Format: YYYY-MM-DDThh:mm:ss. +|`IsPersonal` |`boolean` |Whether the trip is a Business or Leisure trip. Format: true/false. +|`ProjectName` |`string` |The associated project name for the trip. Maximum length: 255 characters. +|`StartDateUtc` |`dateTime` |The start date of the trip, in UTC. Format: YYYY-MM-DDThh:mm:ss. +|`RuleViolations` |`array` |The list of rule violations associated with the itinerary. This parent element contains a `RuleViolation` child element for each associated rule violation. +|`Status` |`string` |The status of the itinerary. One of the following: 0- Confirmed; 1- Ticketed by agent; 2- Canceled. +|`Bookings` |`array` |A parent element that contains a `Booking` child element for each booking associated with this itinerary. + +### Booking Element + +| Element Name | Data Type |Description +| --------- | --------- | ------- +|`Segments` |`array` |List of segments in this booking. The child elements included in this element vary depending on whether a TMC, SAP Concur client, third-party developer, or TripLink supplier is requesting the itinerary details: **For TMCs, clients, and third-party developers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, `Dining`, `Ride`, `Rail`, `Parking`, or `Travel` parent elements. **For TripLink suppliers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, or `Ride` parent elements. +|`Passengers` |`array` |Contains a `Passenger` child element for each included passenger. For more information on the `Passengers` element, see [Create a New Trip](#postnt). +|`RecordLocator` |`string` |The unique identifier for a booking. This is often six alphanumeric characters, but can have other formats depending on the booking source. +|`BookingSource` |`string` |The name of the booking source for this booking. A booking source is a textual name the system uses to track where a booking took place. +|`DateModifiedUtc` |`dateTime` |The date the booking was last modified, in UTC. Format: YYYY-MM-DDThh:mm:ss. +|`DateBookedLocal` |`dateTime` |The date the booking was created, in the booking location's local time. Format: YYYY-MM-DDThh:mm:ss. +|`ItinSourceName` |`string` |The itinerary source. Format: TravelSupplier. +|`PassengerCount` |`integer` |The number of passengers included in the booking. + +### Examples + +### Example 1: Get Trip Details for a Trip ID + +#### Request + +```http +GET /api/travel/trip/v1.1/CNQR1234567890 HTTP/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +... +``` + +#### Response + +```http +HTTP/1.1 200 OK +Content-Type: application/xml +... + + + + https://www.concursolutions.com/api/travel/trip/v1.1/CNQR1234567890 + CNQR1234567890 + KK-CNQ-1M1P6-5HJ + ConcurTravel + Trip from Dallas to Seattle + + 2013-12-21T07:25:00 + 2013-12-24T23:59:00 + 2012-07-24T19:15:52 + EveryGDS + Chris + Miller + 2012-07-24T19:15:52 + + + + + CQ + HK + 2013-12-21T12:00:00 + 2013-12-24T12:00:00 + F1672664579 + 2012-07-24T19:15:52 + SEA + SEA + SEA + SEA + E + C + M + R + 1 + 346660 + 44.0000 + 44.0000 + D + USD + + + Dropoff Fee + USD + 0.0000 + false + DROPOFFFEE + C + + + USD + 44.0000 + 2013-12-21T12:00:00 + true + DAYS + C + DAY + 1.0000 + 250.0000 + 0.2400 + false + + + + + + + Chris + Miller + + + C123456789 + ConcurCars + 2012-07-24T19:15:52 + 2013-11-10T13:01:00 + TravelSupplier + 1 + + + + + CQ + GK + 2013-12-21T23:59:00 + 2013-12-24T23:59:00 + 3364214265 + 2012-07-24T19:15:52 + LV4 + CONCUR HOTEL + CONQ + 00:00 + 00:00 + 1 + 1 + Cxl 1 day prior to Arrival + 240.3500 + USD + 1 KING BED ACCESSIBLE ROOM - K1RRC + + + USD + 240.3500 + 2013-12-21T23:59:00 + false + ROOMRATE + H + DAY + 3.0000 + + + + + + + Chris + Miller + + + 0987654321 + ConcurHotel + 2012-07-24T19:15:52 + 2013-11-10T13:01:00 + 33491211 + ConcurTravel + 1 + + + +``` + +### Example 2: Get Trip Details in TripIt Format + +#### Request + +```http +GET /travel/trip/v1.1/73014481752?systemFormat=Tripit HTTP/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +... +``` + +#### Response + +```xml + + + + 73014481752 + /api/travel/trip/v1.1/73014481752 + 2013-08-21 + 2013-08-24 + Strategy Team meeting + true + + + RL10001005 + Concur Travel + + https://www.concursolutions.com + 4294993825 + CN10001005 + + + + + + 1 + + + + + + 2013-08-21 + + + + 2013-08-21 + + + PHX + A11 + 4 + ORD + F8 + 2 + US + 1 + 320 + + 1433 + + + Economy + Nonstop + + + + 2013-08-24 + + + + 2013-08-24 + + + ORD + + + PHX + + + US + 1728 + A320 + + + + + Economy + stops + + + William + + Never + + + + + + +``` + +## Create a New Trip + +This endpoint is used for creating a new trip. To create a new trip, the specified dates in the content body can only span the trip to be created and cannot span an existing trip. To create or update a trip on behalf of a user, the OAuth access token used to make the API call should be associated with the SAP Concur account of that user. The TripLink supplier or TMC must be registered with SAP Concur and have an SAP Concur account that has one of the following user roles: Web Services Administrator for Professional, or Can Administer for Standard. + +### Request + + POST /travel/trip/v1.1?[userid_type=login&user_id=login_ID] + +### Request Parameters + +| Parameter Name |Data Type |Description +| --------- | --------- | ------- +| `userid_type` | `string` | **Optional**: The type of user identification to use. Possible value is: `login_id`. +| `userid_value` | `string` | **Optional**: The value for the user identification type. Currently the only available type is `login_id` so the value is the login credentials. This parameter must be provided in conjunction with the `userid_type` parameter. The `userid_type` and `userid_value` parameters can only be used if the user account associated with the OAuth 2.0 access token is associated with an SAP Concur account with one of these roles: Web Services Administrator for Professional or Can Administer for Standard. The format for the request URI using the `userid_type` and `userid_value` query parameters is `/travel/trip/v1.1/trip_ID?userid_type=login&userid_value=login_ID`. + +### Headers + +### Authorization Header (required) + +`Authorization: OAuth {access_token}` + +Where `access_token` is the OAuth 2.0 access token of the user whose trip you want to create or update. If you want to access company-wide itinerary 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. + +### Create New Trip Request Schema + +| Element Name | Required or Optional | TripLink | Data Type | Description +| --------- | --------- | ------- | -------- | --------- +| `Itinerary` | required | Y | `ItineraryType` | The root element for a trip. For this endpoint, it contains the following elements: `ClientLocator`, `ItinSourceName`, `TripName`, `Comments`, `StartDateLocal`, `EndDateLocal`, `BookedByFirstName`, `BookedByLastName`, `Bookings`. +| `TripName` | required | Y | `string` | Name of the trip. Maximum length: 255 characters. +| `TripStatus` | required | Y | `unsignedByte` | The status of the trip. One of the following: 0 - Confirmed; 1 - Ticketed; 2 - Canceled; 6 - Proposal; 7 - Booked Proposal. This element only appears if the `includeCanceledTrips` query parameter is used in the request. +| `RecordLocator` | required | Y | `string` | The unique identifier for a booking. This is often six alphanumeric characters, but can have other formats depending on the booking source. +| `BookingSource` | required | Y | `string` | The name of the booking source for this booking. A booking source is a textual name the system uses to track where a booking took place. This could be a GDS, OTA, Vendor code for a Supplier website, or Supplier Direct Connect API. For TripLink suppliers, this is the supplier's name. +| `StartDateLocal` | optional | Y | `dateTime` | The start date of the trip in the starting location’s timezone. Format: YYYY-MM-DDThh:mm:ss. +| `EndDateLocal` | optional | Y | `dateTime` | The end date of the trip in the ending location’s timezone. Format: YYYY-MM-DDThh:mm:ss. +| `BookedByFirstName` | optional | Y | `string` | The first name of the person who booked the trip. +| `BookedByLastName` | optional | Y | `string` | The last name of the person who booked the trip. +| `Bookings` | optional | Y | `array` | A parent element that contains a `Booking` child element for each booking associated with this itinerary. +| `Booking` | optional | Y | `array` | A child element of the `Bookings` element which in turn contains the following child elements: `Segments`, `Passenger`s, `RecordLocator`, `BookingSource`, `DateModifiedUtc`, `DateBookedLocal`, `ItinSourceName`, and `PassengerCount`. +| `Segments` | optional | Y | `array` | List of segments in this booking. The child elements included in this element vary depending on whether a TMC, client, third-party developer, or TripLink supplier is requesting the itinerary details: **For TMCs, clients, and third-party developers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, `Dining`, `Ride`, `Rail`, `Parking`, or `Travel` parent elements. For TripLink suppliers, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, or `Ride` parent elements. +| `Comments` | optional | Y | `string` | Comments for the itinerary. Maximum length: 512 characters. +| `ItinSourceName` | optional | N | `string` | The itinerary source. Format: TravelSupplier. +| `BookingOwner` | optional | Y | `string` | Indicates the tool that supplied the booking to Concur Travel. +| `Source` | optional | N/A | `string` | This element is obsolete. It is supported for backward compatibility only. +| `DateBookedLocal` | optional | Y | `dateTime` | The date the booking was created, in the booking location's local time. Format: YYYY-MM-DDThh:mm:ss. +| `FormOfPaymentName` | optional | - | `string` | The name of the form of payment for the booking. +| `FormOfPaymentType` | optional | - |`string` | The type of the form of payment. +| `TicketMailingAddress` | optional | - | - | The mailing address for the booked ticket, if available. +| `TicketPickupLocation` | optional | - | - | The pickup location for the booked ticket, if available. +| `TicketPickupNumber` | optional | - | - |The confirmation number for the booked ticket, if available. +| `AirfareQuotes` | optional | - | `array` | List of stored airfare quotes for this booking. +| `Airline Tickets` |optional | - |`array` | List of airline tickets for this booking. +| `Charges` |optional | - | `array` | List of charges for this booking. +| `MiscChargeOrders` | optional | - | `array` |List of miscellaneous air charges for this booking. +| `Passengers` | optional | Y | `array` | Contains a `Passenger` child element for each included passenger. The `Passenger` child element in turn contains the following **required child elements**: `NameFirst`, `NameLast`, and the following **optional elements**: `NameMiddle`, `NamePrefix`, `NameRemark`, `NameSuffix`, `NameTitle`, `TextName`, and `FrequentTravelerProgram`. +| `PassPrograms` | optional | - | `array` | List of pass programs for this booking. This parent element has a `PassProgram` child element for each pass program associated with the booking. The `PassProgram` parent element has the following child elements: `Amount`, `Name`, `Type`, `UserFirstName`, and `UserLastname`. +| `PhoneNumbers` | optional | - | `array` | List of phone numbers associated with this booking. This parent element has a `PhoneNumberData` child element for each phone number associated with the booking. The `PhoneNumberData` parent element has the following child elements: `PassengerRPH`, `PhoneNumber`, `Type`, and `Description`. +| `RailPayments` | optional | - | `array` | List of rail payments associated with rail segments in this booking. It has the following child elements: `RailPayment` that represents the payment information for a rail booking and `RailAdjustment` for the amount adjusted for a rail booking. +| `Segments` | optional | Y | `array` | List of segments in this booking. The child elements included in this element vary depending on whether a TMC, client, third-party developer, or TripLink supplier is requesting the itinerary details: **For TMCs, clients, and third-party developers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, `Dining`, `Ride`, `Rail`, `Parking`, or `Travel` parent elements. **For TripLink suppliers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, or `Ride` parent elements. +| `Delivery` | optional | - | - | The method this booking was delivered. +| `WaitListSegments` | optional | - | - | The segments that the traveler is waitlisted for this booking. +| `Warning` | optional | - | - | The warnings associated with the booking. +| `WebAddresses` |optional | - | - | List of web addresses such as emails, pick-up URLs, and so on associated with this booking. + +## Create New Trip Response Schema + +The response returns an HTTP status code and if the trip is created successfully, it also returns the full posted trip details with the following additional elements inside the `Itinerary` parent element: + +| Element Name | Data Type | TripLink | Description +| --------- | --------- | ------- | -------- +|`id` | `string` | Y| The URI including the trip ID. +| `ItinLocator` | `string` | Y | The Itinerary Locator value (trip ID without the URL). The `ItinLocator` value is used when updating an existing trip. +| `DateModifiedUtc` | `dateTime` | Y | The UTC formatted date that this booking was last modified. +| `BookedVia` | `string` | Y | The booking method or the GDS the itinerary was booked in. +| `DateBookedLocal` | `dateTime` | Y | The date, in the traveler’s local time, that the booking was made. + +### Examples + +### Example 1: TMC Creates a Trip for User Using Their Login Credentials + +This example shows how to create a trip for a user using their login credentials. + +#### Request + +```http +POST /api/travel/trip/v1.1?userid_type=login_id&userid_value=cm@example.com HTTPS/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +Content-Type: application/xml +... + + + KK-CNQ-1M1P6-5HJ + ConcurConnectAPI + Trip from Dallas to Seattle + + 2013-12-21T07:25:00 + 2013-12-24T23:59:00 + Chris + Miller + + + + + CQ + HK + 2013-12-21T12:00:00 + 2013-12-24T12:00:00 + F1672664579 + SEA + SEA + SEA + SEA + E + C + M + R + 1 + 346660 + 44.0000 + 44.0000 + D + USD + + + Dropoff Fee + USD + 0.0000 + false + DROPOFFFEE + C + + + USD + 44.0000 + 2013-12-21T12:00:00 + true + DAYS + C + DAY + 1.0000 + 250.0000 + 0.2400 + false + + + + + + + Chris + Miller + + + C123456789 + TravelBookings.com + 2013-11-10T13:01:00 + ConcurConnectAPI + 1 + + + + + CQ + GK + 2013-12-21T23:59:00 + 2013-12-24T23:59:00 + 3364214265 + LV4 + CONCUR HOTEL + CONQ + 03:00 PM + 12:00 PM + 1 + 1 + Cxl 1 day prior to Arrival + 240.3500 + USD + 1 KING BED ACCESSIBLE ROOM - K1RRC + + + USD + 240.3500 + 2013-12-21T23:59:00 + false + ROOMRATE + H + DAY + 3.0000 + + + + + + + Chris + Miller + + + 0987654321 + TravelBookings.com + 2013-11-10T13:01:00 + 33491211 + ConcurConnectAPI + 1 + + + +``` + +#### Response + +```xml + + https://www.concursolutions.com/api/travel/trip/v1.1/CNQR1234567890 + CNQR1234567890 + KK-CNQ-1M1P6-5HJ + ConcurTravel + Trip from Dallas to Seattle + + 2013-12-21T07:25:00 + 2013-12-24T23:59:00 + 2012-07-24T19:15:52 + EveryGDS + Chris + Miller + 2012-07-24T19:15:52 + + + + + CQ + HK + 2013-12-21T12:00:00 + 2013-12-24T12:00:00 + F1672664579 + 2012-07-24T19:15:52 + SEA + SEA + SEA + SEA + E + C + M + R + 1 + 346660 + 44.0000 + 44.0000 + D + USD + + + Dropoff Fee + USD + 0.0000 + false + DROPOFFFEE + C + + + USD + 44.0000 + 2013-12-21T12:00:00 + true + DAYS + C + DAY + 1.0000 + 250.0000 + 0.2400 + false + + + + + + + Chris + Miller + + + C123456789 + ConcurCars + 2012-07-24T19:15:52 + 2013-11-10T13:01:00 + TravelSupplier + 1 + + + + + CQ + GK + 2013-12-21T23:59:00 + 2013-12-24T23:59:00 + 3364214265 + 2012-07-24T19:15:52 + LV4 + CONCUR HOTEL + CONQ + 00:00 + 00:00 + 1 + 1 + Cxl 1 day prior to Arrival + 240.3500 + USD + 1 KING BED ACCESSIBLE ROOM - K1RRC + + + USD + 240.3500 + 2013-12-21T23:59:00 + false + ROOMRATE + H + DAY + 3.0000 + + + + + + + Chris + Miller + + + 0987654321 + ConcurHotel + 2012-07-24T19:15:52 + 2013-11-10T13:01:00 + 33491211 + ConcurTravel + 1 + + + +``` + +### Example 2: TripLink Supplier Creates a Trip + +This example shows how a TripLink supplier creates a trip. + +#### Request + +```http +POST /api/travel/trip/v1.1/ HTTPS/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +Content-Type: application/xml +... + + + Trip from Dallas to Seattle + HK + + 2013-12-21T07:25:00 + 2013-12-24T23:59:00 + Chris + Miller + + + + + 2013-12-21T12:00:00 + 2013-12-24T12:00:00 + SEA + SEA + + + + + Chris + Miller + + + C123456789 + TravelBookings.com + 2013-11-10T13:01:00 + + + + + GK + SEA + 2013-12-21T23:59:00 + 2013-12-24T23:59:00 + Pacific + 2012-07-24T19:15:52 + Seattle + US + + + + + Chris + Miller + + + 0987654321 + TravelBookings.com + 2013-11-10T13:01:00 + + + +``` + +#### Response + +```xml + + https://www.concursolutions.com/api/travel/trip/v1.1/CNQR1234567890 + CNQR1234567890 + Trip from Dallas to Seattle + HK + + 2013-12-21T07:25:00 + 2013-12-24T23:59:00 + 2012-07-24T19:15:52 + EveryGDS + Chris + Miller + 2012-07-24T19:15:52 + + + + + 2013-12-21T12:00:00 + 2013-12-24T12:00:00 + SEA + SEA + + + + + Chris + Miller + + + C123456789 + TravelBookings.com + 2013-11-10T13:01:00 + + + + + GK + SEA + 2013-12-21T23:59:00 + 2013-12-24T23:59:00 + Pacific + 2012-07-24T19:15:52 + Seattle + US + + + + + Chris + Miller + + + 0987654321 + TravelBookings.com + 2013-11-10T13:01:00 + + + +``` + +### Example 3: Third-Party Developer Creates a Trip Using the Access Token Used to Make the API Call + +This example shows how to create a trip for a user whose account is associated with the access token used to make the API call. + +#### Request + +```http +POST https://www.concursolutions.com/api/travel/trip/v1.1 HTTPS/1.1 +Authorization: OAuth {access token} +Content-Type: application/xml +... + + + KK-CNQ-1M1P6-5HJ + ConcurConnectAPI + Trip from Dallas to Seattle + + 2013-12-21T07:25:00 + 2013-12-24T23:59:00 + Chris + Miller + 7 + 3339 + + + + Numeric + ProposalBatchSize + + 3 + true + + + + Numeric + ProposalSequenceIndex + + 1 + true + + + + + + + CQ + HK + 2013-12-21T12:00:00 + 2013-12-24T12:00:00 + F1672664579 + SEA + SEA + SEA + SEA + E + C + M + R + 1 + 346660 + 44.0000 + 44.0000 + D + USD + + + Dropoff Fee + USD + 0.0000 + false + DROPOFFFEE + C + + + USD + 44.0000 + 2013-12-21T12:00:00 + true + DAYS + C + DAY + 1.0000 + 250.0000 + 0.2400 + false + + + + + + + Chris + Miller + + + C123456789 + TravelBookings.com + 2013-11-10T13:01:00 + ConcurConnectAPI + 1 + + + + + CQ + GK + 2013-12-21T23:59:00 + 2013-12-24T23:59:00 + 3364214265 + LV4 + CONCUR HOTEL + CONQ + 03:00 PM + 12:00 PM + 1 + 1 + Cxl 1 day prior to Arrival + 240.3500 + USD + 1 KING BED ACCESSIBLE ROOM - K1RRC + + + USD + 240.3500 + 2013-12-21T23:59:00 + false + ROOMRATE + H + DAY + 3.0000 + + + + + + + Chris + Miller + + + 0987654321 + TravelBookings.com + 2013-11-10T13:01:00 + 33491211 + ConcurConnectAPI + 1 + + + +``` + +#### Response +The response is the same as in Example 1. + +## Update a Trip + +Creates a new trip or updates an existing trip. A new trip will be created if the trip dates span no existing trip and the request doesn’t include a `tripId`. If a `tripId` is included in the URI it will update the specified trip. The full trip information is included in the update request, which replaces the existing trip. + +This endpoint can be used to create trips for a user that is not the OAuth consumer. This is most often done when a travel supplier or TMC needs to create a trip on behalf of a user. The supplier or TMC must be registered with SAP Concur and have an SAP Concur account that has one of the following user roles: Web Services Administrator for Professional, or Can Administer for Standard. + +## Cancel a Trip + +This endpoint can be used to cancel all segments in a trip. To cancel a trip on behalf of a user, the OAuth access token used to make the API call should be associated with the SAP Concur account of that user. The TripLink supplier or TMC must be registered with SAP Concur and have an SAP Concur account that has one of the following user roles: Web Services Administrator for Professional, or Can Administer for Standard. + +### Request + POST /travel/trip/v1.1/cancel?tripid=trip_ID[&userid_type=login&userid_value=login_ID] + +### Path Parameters + +| Parameter Name | Data Type |Description +| --------- | --------- | ------- +| `cancel` | required | `string` | The URI path modifier for canceling a trip. The format for the request is `/travel/trip/v1.1/cancel?tripid=trip_ID[&userid_type=login&userid_value=login_ID]`. + +### Request Parameters + +| Parameter Name | Data Type |Description +| --------- | --------- | ------- +| `tripid` | `string` | **Optional**: The identifier for the trip to be updated. For example, if the value of `tripid` is `I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL`, then the request is `POST /travel/trip/v1.1?tripid=I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL`. +| `userid_type` |`string` | **Optional**: The type of user identification to use. Possible value is: `login_id`. +| `userid_value` | `string` | **Optional**: The user's login ID. This parameter must be provided in conjunction with the `userid_type` parameter. The `userid_type` and `userid_value` parameters can only be used if 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. The format for the request URI using the `userid_type` and `userid_value` query parameters is `/travel/trip/v1.1/trip_ID?userid_type=login&userid_value=login_ID`. + +### Headers + +### Authorization Header (Required) + +`Authorization: OAuth {access_token}` + +Where `access_token` is the OAuth 2.0 access token of the user whose trip you want to create or update. If you want to access company-wide itinerary 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. + +### Request Content Body + +None. + +### Cancel Trip Request Schema + +The request returns the full trip details for the cancelled trip. If the request is successful, the response trip will not contain any segments because they have been cancelled. The response includes the following additional elements inside the `Itinerary` parent element: + +| Parameter Name | Data Type |Description +| --------- | --------- | ------- +| `id` | `string` | The URI including the trip ID. +| `ItinLocator` | `string` | The itinerary locator value (trip ID without the URL). The `ItinLocator` value is used when updating an existing trip. +|`DateModifiedUtc` | `dateTime` | The UTC formatted date that this booking was last modified. +| `BookedVia` | `string` | The GDS the itinerary was booked in. +| `DateBookedLocal` | `dateTime` | The date, in the traveler’s local time, that the booking was made. + + +### Examples + +### Example: Cancel a Trip with a Specific Trip ID + +#### Request + +```http +POST /api/travel/trip/v1.1/cancel?tripId=CNQR1234567890 HTTPS/1.1 +Host: www.concursolutions.com +Authorization: OAuth {access token} +... +``` + +#### Response + +```xml + + https://www.concursolutions.com/api/travel/trip/v1.1/CNQR1234567890 + CNQR1234567890 + KK-CNQ-1M1P6-5HJ + ConcurTravel + Trip from Dallas to Seattle + + 2013-12-21T07:25:00 + 2013-12-24T23:59:00 + 2012-07-24T19:15:52 + EveryGDS + Chris + Miller + 2012-07-24T19:15:52 + + + + + + Chris + Miller + + + C123456789 + ConcurCars + 2012-07-24T19:15:52 + 2013-11-10T13:01:00 + TravelSupplier + 1 + + + + + + Chris + Miller + + + 0987654321 + ConcurHotel + 2012-07-24T19:15:52 + 2013-11-10T13:01:00 + 33491211 + ConcurTravel + 1 + + + +``` From 3ac21dda1b5af9e41602bd80063a05a10ca1491d Mon Sep 17 00:00:00 2001 From: i752548 Date: Mon, 1 Sep 2025 08:21:23 -0300 Subject: [PATCH 2/3] sketch --- src/api-reference/travel/trip-extras/trip-extras.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api-reference/travel/trip-extras/trip-extras.md b/src/api-reference/travel/trip-extras/trip-extras.md index 17ee700991..5a88765d68 100644 --- a/src/api-reference/travel/trip-extras/trip-extras.md +++ b/src/api-reference/travel/trip-extras/trip-extras.md @@ -5,7 +5,7 @@ layout: reference # Trip-Extras -The Trips resource represents itineraries in the Concur Travel system. +The Trips Extras resource represents booking content from external partners. ### Version From ecc47603dd5ce4577c67cf632c47a723d7b86383 Mon Sep 17 00:00:00 2001 From: i752548 Date: Mon, 1 Sep 2025 08:36:48 -0300 Subject: [PATCH 3/3] Trip-Extras API --- .../travel/trip-extras/trip-extras.md | 1551 +++-------------- 1 file changed, 236 insertions(+), 1315 deletions(-) diff --git a/src/api-reference/travel/trip-extras/trip-extras.md b/src/api-reference/travel/trip-extras/trip-extras.md index 5a88765d68..ebb22fe157 100644 --- a/src/api-reference/travel/trip-extras/trip-extras.md +++ b/src/api-reference/travel/trip-extras/trip-extras.md @@ -1,1415 +1,336 @@ --- -title: Trip-Extras +title: Trip Extras API layout: reference --- -# Trip-Extras +# Trip Extras API -The Trips Extras resource represents booking content from external partners. +The Trip Extras API allows you to append, manage, and cancel extra booking content on a Concur trip from external partners. This documentation describes the endpoints, request/response payloads, and error handling for integrating with Trip Extras. -### Version +## Version -1.0 +1.0.0 ## Limitations -Access to this documentation does not provide access to the API.  +- Access to this documentation does not provide access to the API. +- API access requires appropriate OAuth scopes and user roles. -### URI - -`/travel/trip/v1.1/{query_parameters}` +--- -## Scope +# Endpoints Overview -In order to obtain itinerary data when making Itinerary API calls, the value of the OAuth scope parameter must be set to: `ITINER` +- [Append Trip Extra Booking](#append-trip-extra-booking) +- [Cancel Trip Extra Booking](#cancel-trip-extra-booking) +- [Get Cancel Conditions](#get-cancel-conditions) +- [Punchout Session](#punchout-session) +- [Health Check](#health-check) -## Get Trip Summaries +--- -The Get Itinerary Summaries endpoint is used for retrieving trip summaries for a single user. Do not use this to get trips for an entire company. Use [Itinerary v4 events](/event-topics/travel/v4.itinerary-events.html) instead. +## Append Trip Extra Booking -## Best Practices -* Do not use Trip 1.1 to extract historical data. -* Do not use Trip 1.1 to get data for an entire company. Use [Itinerary v4](/api-reference/travel/itinerary-v4/v4.itinerary.html) instead. -* Itineraries change frequently. Changes do not necessarily indicate that the traveler modified their trip. If your application works with upcoming or in progress trips, be aware that you must evaluate the individual segments to determine whether it is a material change for your application. -* This API will only return itineraries that have been sent to Concur Travel; this includes travel booked within Concur Travel, TripIt, on TripLink supplier sites, and most bookings from your travel agency. Some customers may have multiple booking options which may mean not all employee trips are available via this API. A good rule of thumb: if the traveler sees the itinerary in their “trips” list, then you can retrieve it from this API. -* Use the POST endpoint if you do not want the query parameters to appear in the URL. +Append extra booking content to an existing trip. -### Request +### Endpoint - GET /travel/trip/v1.1/{query_parameters} - POST /travel/trip/v1.1/GetTrips +- **POST** `/trips/{trip_uuid}/trip-extras` -### Query Parameters +### Path Parameters -All query parameters are optional. +| Name | Type | Description | +|--------------|--------|----------------------------------| +| `trip_uuid` | string | UUID of the trip | -To identify a specific user by login ID or `XMLSyncID`, you can specify the following request parameters: +### Request Body -|Parameter Name|Parameter Type|Data Type|Description| -|:---------|:---------|:-------|:-----------------------------------------| -|`startDate` |`date` |`dateTime` |The URL-encoded start date (in Coordinated Universal Time, or UTC) for the trip. Format: YYYY-MM-DD. If no query parameters are provided, the start date is set to today's date - 30 days. The request will only return trips that are ongoing during the provided dates, either starting on the date, or starting before the date and ongoing during the provided date.| -|`endDate` |`date` |`dateTime`|The URL-encoded UTC end date for the trip. Format: YYYY-MM-DD. If no query parameters are provided, the end date is set to today's date + 12 months. The request will only return trips that are ongoing during the provided dates, either ending on the date, or starting before the date and ongoing during the provided date.| -|`createdAfterDate` |`date` |`dateTime` |The URL-encoded UTC date for when the trip was created. The query string will return trips created on or after this date. Used with the ``createdBeforeDate`` for finding trips created during a date range. Format: YYYY-MM-DD.| -|`createdBeforeDate`|`date` |`dateTime` |The URL-encoded UTC date for when the trip was created. The query string will return trips created on or before this date. Used with the `createdAfterDate` for finding trips created during a date range. Format: YYYY-MM-DD.| -|`lastModifiedDate`|`date`|`dateTime` |The last modified UTC date of the trips and their associated bookings. This query string will return only the trips where the trip or any of its associated bookings have a last modified date that is greater or equal to the supplied time. The provided date/time can be anytime between now and the first date of trip creation in the database. The format is either the date or the date and time combined. -|`bookingType`|`type` |`string` |The trip includes at least one booking of this type. Format: `Air`, `Car`, `Dining`, `Hotel`, `Parking`, `Rail`, or `Ride`. -|`userid_type=login`|`userid`|`string`|The `loginID` is the user's SAP Concur login ID. This parameter can only be used if the OAuth consumer has one of the user roles listed above. -|`userid_value`|`userid`|`string` |The `userid_value` of ALL can be sent to get trip summaries for all users at the company. This parameter can only be used if the OAuth consumer has one of the user roles listed above. -|`includeMetadata`|`true/false`|`string`|The `includeMetadata` query parameter combined with the `ItemsPerPage` and `Page` query parameters cause the response to be divided into pages. The response is wrapped in a `ConcurResponse` parent element, with both the response details and the paging metadata included. If the `ItemsPerPage` query parameter is not sent, the response will default to 200 if the `Page` query parameter is sent, or 1000 if the `Page` query parameter is not set. If the `Page` query parameter is not sent, the response will default to page 1.| -|`ItemsPerPage`|`number`|`integer`|The `includeMetadata` query parameter combined with the `ItemsPerPage` and `Page` query parameters will cause the response to be divided into pages. The response will be wrapped in a `ConcurResponse` parent element, with both the response details and the paging metadata included. If the `ItemsPerPage` query parameter is not sent, the response will default to 200 if the `Page` query parameter is sent, or 1000 if the `Page` query parameter is not set. If the `Page` query parameter is not sent, the response will default to page 1.| -|`includeVirtualTrip`|`flag`|`integer` |Virtual trips are segments booked offline through the Concur Request product. Set the `includeVirtualTrip` query parameter to 1 to include those trips in the list.| -|`includeCanceledTrips` |`true/false`|`string`|The `includeCanceledTrips` query parameter will cause the request to also return trips with a status of Canceled. When this query parameter is set to true, the response will include the `TripStatus` element.| -|`includeGuestBookings` |`true/false`|`string`|The `includeGuestBookings` query parameter will cause the request to show guest bookings if set to true. It is set to false by default.| +#### TripExtrasRequestObject -Here are some examples of how to format GET requests using a combination of these query parameters: +| Field | Type | Description | +|----------------------|----------|-----------------------------------------------------------------------------------------------| +| `extRef` | string | External reference UUID for the business process | +| `userId` | string | UUID of the user for whom the trip extra is being appended | +| `booking` | object | Booking details (see below) | -* To get trip summaries for the entire company: +#### Booking Object -``` -https://www.concursolutions.com/api/travel/trip/v1.1/?startDate={_startdate_}&endDate={_enddate_}_&_createdAfterDate={_date_}&createdBeforeDate={_date_}&lastModifiedDate={_date_}&bookingType={_type_}&userid_type=login&userid_value=ALL -``` -The access token used to make the API call must be associated with an account that has the Admin user role. +| Field | Type | Description | +|----------------------|----------|-----------------------------------------------------------------------------------------------| +| `type` | string | Type of partner reservation (e.g., `ground`) | +| `partner` | object | Partner details (name, logo) | +| `vendor` | object | Vendor details (name, phoneNumber, email) | +| `details` | object | Booking details (see GroundBooking below) | -* To get trip summaries for the account associated with the app making the call: +#### GroundBooking Details -``` -https://www.concursolutions.com/api/travel/trip/v1.1/?startDate={_startdate_}&endDate={_enddate_}_&_createdAfterDate={_date_}&createdBeforeDate={_date_}&lastModifiedDate={_date_}&bookingType={_type_} -``` -The access token used to make the API call is associated with the account for the app making the call. +| Field | Type | Description | +|----------------------|----------|-----------------------------------------------------------------------------------------------| +| `url` | string | URL to redirect user to the booking on partner page | +| `termsAndConditions` | string | Terms and conditions for the booking | +| `cancellationPolicy` | string | Cancellation policy details | +| `vendorConfirmation` | string | Confirmation number from vendor | +| `partnerConfirmation`| string | Confirmation number from partner | +| `vehicle` | object | Vehicle details (model, acrissCode, imageUrl, seatingCapacity, luggageCapacity) | +| `pickup` | object | Pickup stop details | +| `dropoff` | object | Dropoff stop details | +| `stops` | array | Optional intermediate stops | +| `price` | object | Pricing details (totalAmount, currency, hourlyRate, estimatedDuration, minimumDuration) | -* To get trip summaries for a user with the specified login credentials: +#### Example Payload +```json +{ + "extRef": "48fb4cd3-2ef6-4479-bea1-7c92721b988c", + "userId": "12345678-1234-5678-1234-567812345678", + "booking": { + "type": "ground", + "partner": { + "name": "Partner Name", + "logo": "https://example.com/partner-logo.jpg" + }, + "vendor": { + "name": "Vendor Name", + "phoneNumber": "1-800-555-1212", + "email": "foo@bar.com" + }, + "details": { + "url": "https://partner-url.com", + "termsAndConditions": "Terms and conditions apply.", + "cancellationPolicy": "Free cancellation up to 24 hours before pickup.", + "vendorConfirmation": "ABC123456", + "partnerConfirmation": "XYZ789012", + "vehicle": { + "model": "Luxury Sedan", + "acrissCode": "FDMR", + "imageUrl": "https://example.com/vehicle-image.jpg", + "seatingCapacity": 4, + "luggageCapacity": 2 + }, + "pickup": { + "datetime": "2025-07-25T16:30:00", + "datetimeUtc": "2025-07-25T20:30:00Z", + "locationName": "Marriott Hotel", + "address": { + "address1": "123 Main St", + "localityName": "New York", + "postalCode": "10017", + "country": "US" + }, + "geolocation": { + "latitude": 40.7128, + "longitude": -74.006 + } + }, + "dropoff": { + "datetime": "2025-07-25T18:00:00", + "datetimeUtc": "2025-07-25T22:00:00Z", + "locationName": "JFK Airport", + "iataCode": "JFK" + }, + "price": { + "totalAmount": 135.96, + "currency": "USD", + "hourlyRate": 45.00, + "estimatedDuration": "PT3H30M", + "minimumDuration": "PT45M" + } + } + } +} ``` -https://www.concursolutions.com/api/travel/trip/v1.1/?startDate={_startdate_}&endDate={_enddate_}_&_createdAfterDate={_date_}&createdBeforeDate={_date_}&lastModifiedDate={_date_}&bookingType={_type_}&userid_type=login_id&userid_value={_loginID_} -``` - -The access token used to make the API call is associated with the SAP Concur account with the specified login credentials. -### Request Content Body +### Response -Only specified for the POST endpoint. A JSON document with any of the parameters documented in [Query Parameters](#query-parameters), above. +| Field | Type | Description | +|---------------|--------|----------------------------------------------| +| `bookingUuid` | string | UUID of the created trip extra booking | -### Headers - -#### Authorization Header (Required) - -`Authorization: OAuth {access_token}` -Where `access_token` is the OAuth 2.0 access token of the user whose itinerary information you want to retrieve. If you want to access company-wide itinerary information, the SAP Concur user account associated with the OAuth 2.0 access token must have one of these roles: Web Services Administrator for Professional or Can Administer for Standard. - -#### Accept Header (optional) - -application/xml - -## Get Trip Summaries Response Schema - -The response returns an `ItineraryInfoList` parent element with an `ItineraryInfo` child element for each trip summary for the specified traveler. If the `includeMetadata` and `ItemsPerPage` query parameters are included in the request, the response will include a `ConnectResponse` parent element which contains a `MetaData` element with paging information and a `Data` element with an `ItineraryInfoList` child element. The response for this operation can be divided into pages for easier processing. - -### Data Elements - -| Element Name | Data Type | Description -| --------- | ---------| --------- -| `ItineraryInfoList` | `element` | Parent element with an `ItineraryInfo` child element for each trip summary for the specified traveler. - -### ItineraryInfoList Elements - -| Element Name | Data Type | Description -| --------- | ---------| --------- -| `ItineraryInfo` | `element` | Parent element with the information about an itinerary for the specified user. +--- -### ItineraryInfo Elements +## Cancel Trip Extra Booking -| Element Name | Data Type | Description -| --------- | ---------| --------- -| `TripId` | `string` | Encrypted trip identifier value. -| `TripName` | `string` | Name of the trip. -| `TripStatus` | `string` | The status of the trip. This element only appears if the `includeCanceledTrips` query parameter is used in the request. -| `StartDateLocal` | `dateTime` | The start date of the trip in the starting location’s timezone. Format: YYYY-MM-DDThh:mm:ss. -| `EndDateLocal` | `dateTime` | The end date of the trip in the ending location’s timezone. Format: YYYY-MM-DDThh:mm:ss. -| `DateModifiedUtc` | `dateTime` | The UTC date that this trip was last modified. Format: YYYY-MM-DDThh:mm:ss. -| `UserLoginId` | `string` | The user's login to SAP Concur. This element appears in the response of the GET /api/travel/trip/v1.1 operation when the OAuth 2.0 is access token is associated with an SAP Concur account with one of these roles: Web Services Administrator for Professional or Can Administer for Standard. -| `id` | `string` | Trip ID URI with encrypted ID. +Cancel a trip extra booking by UUID. -### Metadata Element +### Endpoint -The parent element of the paging information. +- **POST** `/trips/{trip_uuid}/trip-extras/{booking_uuid}/cancel` -### Paging Elements +### Path Parameters -| Element Name | Data Type | Description -| --------- | ---------| --------- -| `TotalPages` | `integer` | The total number of pages the query returned. -| `TotalItems` | `integer` | The total number of itineraries the query returned. -| `CurrentPage` | `integer` | The page number for the set of results in the current response. -| `ItemsPerPage` | `integer` | 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. +| Name | Type | Description | +|----------------|--------|----------------------------------------------| +| `trip_uuid` | string | UUID of the trip | +| `booking_uuid` | string | UUID of the trip extra booking to cancel | -## Examples +### Request Body -### Example 1: Get Trip Summaries by Start and End Date +#### CancelRequest -#### Request +| Field | Type | Description | +|-----------|--------|----------------------------------------------| +| `extRef` | string | External reference UUID | +| `userId` | string | UUID of the user | -```http -GET /api/travel/trip/v1.1/?startDate=2012%2F02%2F01&endDate=2013%2F12%2F31 HTTP/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -... -``` -or -```http -POST /api/travel/trip/v1.1/GetTrips HTTP/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -Content-Type: application/json -Accept: application/xml -... +#### Example Payload +```json { - "startDate": "2012-02-01", - "endDate": "2013-12-31" + "extRef": "48fb4cd3-2ef6-4479-bea1-7c92721b988c", + "userId": "12345678-1234-5678-1234-567812345678" } ``` -#### Response - -```http -HTTP/1.1 200 OK -Content-Type: application/xml -... - - - - - naIzQJ0y2DBWjCIQOb2SHTsozwBsHDkdP - Trip from Baltimore to New York - 2012-02-15T09:00:00 - 2012-02-21T17:30:00 - cm@example.com - 2012-02-14T17:13:07 - https://www.concursolutions.com/api/travel/trip/v1.1/naIzQJ0y2DBWjCIQOb2SHTsozwBsHDkdP - - - I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL - Trip from Baltimore to Seattle - 2012-03-26T09:00:00 - 2012-03-29T17:30:00 - 2012-03-24T19:00:00 - cm@example.com - https://www.concursolutions.com/api/travel/trip/v1.1/I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL - - -``` - -### Example 2: Get Trip Summary by Booking Type and Start Date Request +### Response -This request returns trip summaries for trips that started by the specified date for the specified booking type. +204 No Content (successful cancellation) -#### Request - -```http -GET /api/travel/trip/v1.1/?startDate=2015%2F01%2F01&bookingType=Air HTTP/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -... -``` - -#### Response - -```http -HTTP/1.1 200 OK -Content-Type: application/xml -... - - - - - I2uwiJJw8r7OwCIQOb2SHTsozwBsSie9W - Trip by air from Seattle to San Francisco - 2015-01-01T12:30:00 - 2015-01-05T10:30:00 - cm@example.com - 2014-12-23T11:10:00 - https://www.concursolutions.com/api/travel/trip/ - v1.1/I2uwiJJw8r7OwCIQOb2SHTsozwBsSie9W - - -``` +--- -### Example 3: Get Trip Summary by Created Date +## Get Cancel Conditions -This requests returns trip summaries created after the specified date. +Retrieve cancel conditions for bookings. -#### Request +### Endpoint -```http -GET /api/travel/trip/v1.1/?createdAfterDate=2015%2F02%2F13 HTTP/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -``` +- **POST** `/trips/{trip_uuid}/cancel-conditions` -#### Response +### Path Parameters -```http -HTTP/1.1 200 OK -Content-Type: application/xml -... - - - - - BWjCIJJw8r7OwCIQOb2SHTsozwBsWlSie9 - Trip by air from Los Angeles to Mexico City - 2015-03-09T18:45:00 - 2015-03-30T08:00:00 - cm@example.com - 2015-01-28T09:30:00 - https://www.concursolutions.com/api/travel/trip/ - v1.1/BWjCIJJw8r7OwCIQOb2SHTsozwBsWlSie9 - - -``` +| Name | Type | Description | +|--------------|--------|----------------------------------| +| `trip_uuid` | string | UUID of the trip | -### Example 4: Get Trip Summary with Paging +### Request Body -This request is used for dividing the response into pages for easier processing. +#### CancelConditionsRequest -#### Request +| Field | Type | Description | +|-----------|--------|----------------------------------------------| +| `bookings`| array | List of booking UUIDs | -```http -GET /api/travel/trip/v1.1/?createdAfterDate=2012%2F02%2F01&includeMetadata=true&ItemsPerPage=2&Page=1 HTTP/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -``` +#### Example Payload -#### Response - -The response returns a `ConnectResponse` parent element which contains a `MetaData` element with paging information and a `Data` element with an `ItineraryInfoList` child element. - -```http -HTTP/1.1 200 OK -Content-Type: application/xml -... - - - - - 38 - 187 - 2 - 2 - https://www.concursolutions.com/api/travel/trip/v1.1/? - createdAfterDate=2012%2F02%2F01& - itemsPerPage=5&page=3&includeMetaData=true - https://www.concursolutions.com/api/travel/trip/v1.1/? - createdAfterDate=2012%2F02%2F01& - itemsPerPage=5&page=1&includeMetaData=true - - - - - - naIzQJ0y2DBWjCIQOb2SHTsozwBsHDkdP - Trip from Baltimore to New York - 2012-02-15T09:00:00 - 2012-02-21T17:30:00 - cm@example.com - 2012-02-14T17:13:07 - https://www.concursolutions.com/api/travel/trip/v1.1/naIzQJ0y2DBWjCIQOb2SHTsozwBsHDkdP - - - I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL - Trip from Baltimore to Seattle - 2012-03-26T09:00:00 - 2012-03-29T17:30:00 - 2012-03-24T19:00:00 - cm@example.com - https://www.concursolutions.com/api/travel/trip/v1.1/I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL - - - - +```json +{ + "bookings": [ + "a7d2c274-e56b-4b83-9686-aef8e8b155af" + ] +} ``` -## Get Trip Details - -The Get Itinerary Details endpoint is used for getting details for the specified trip. The elements included in the response vary as follows: +### Response -* Some elements, such as `AirlineTickets` or `RailPayments`, appear only for bookings of the appropriate type. For example `AirlineTickets` appears in the response only for air bookings and `RailPayments`, for rail bookings. -* Amount values, such as Rate or Tax, appear only if the requestor is the source of the booking. All other suppliers will not receive the amount elements associated with the bookings. -* Some elements, such as `SabreDKNumber`, appear only if the booking was created by the relevant GDS. -* Some elements are vendor-specific and appear only in responses for the associated vendor. +| Field | Type | Description | +|--------------------------|--------|----------------------------------------------| +| `bookingCancelConditions`| array | List of cancel conditions for bookings | -This topic describes the full set of possible elements that can be returned. No itinerary can contain all of the possible elements, so the response will always be a subset of all the possible returned values. +#### Example Response -By default, when calling this API, the SAP Concur account associated with the OAuth access token used to make the API call should be the owner of the trip. This endpoint can also be used to get details for trips that the OAuth consumer does not own. This is most often done when a TMC needs to get trip details on behalf of a user. The TMC must be registered with SAP Concur and have an SAP Concur account that has one of the following user roles: Web Services Administrator for Professional, or Can Administer for Standard. - -### Request - -``` -GET /travel/trip/v1.1/trip_ID?[systemFormat=system_format|&userid_type=login|&user_id=login_ID] +```json +{ + "bookingCancelConditions": [ + { + "bookingId": "a7d2c274-e56b-4b83-9686-aef8e8b155af", + "isCancelAllowed": { + "canCancel": "no", + "cannotCancelReason": "PUNCHOUT_REQUIRED" + } + } + ] +} ``` -### Path Parameters +--- -| Parameter Name | Data Type |Description -| --------- | --------- | ------- -| `trip_ID` | `string` | **Required**: The identifier for the desired trip. This identifier is returned as the value of the ID element when getting trip summaries. For example, if the returned value of the ID element is I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL, then the URI for the request is `/travel/trip/v1.1/I2uwiJJw8r7Owl3IWlSie9WIelxhAhwi`. - - -### Query Parameters - -| Parameter Name |Data Type |Description -| --------- | --------- | ------- -| `systemFormat` | `string` | **Optional**: Format of the response for a different system. The supported value is Tripit. The format for the request URI using this query parameter is `/travel/trip/v1.1/trip_ID?systemFormat=Tripit`. -| `userid_type` | `string` | **Optional**: The type of user identification to use. Possible value is: login. -| `userid_value` | `string` | **Optional**: The user's login ID. This parameter must be provided in conjunction with the `userid_type` parameter. The `userid_type` and `userid_value parameters` can only be used if 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. The format for the request URI using the `userid_type` and `userid_value` query parameters is `/travel/trip/v1.1/trip_ID?userid_type=login&userid_value=login_ID`. - -### Headers - -#### Authorization Header (Required) - -`Authorization: OAuth {access_token}` -Where `access_token` is the OAuth 2.0 access token of the user whose itinerary information you want to retrieve. If you want to access company-wide itinerary 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. - -#### Accept Header (Optional) - -application/xml - -## Get Trip Details Response Schema -The response returns subset of the elements described in the following tables depending on the parameters used in the request and the status and details for the itinerary. The response can be formatted for TripIt, using the `systemformat` query string. - -### Parent Elements - -| Element Name | Data Type |Description -| --------- | --------- | ------- -| `id` |`string` |Trip ID URI with encrypted ID. -|`ItinLocator` | `string` |The itinerary locator. This element is now deprecated and only supported for backward compatibility. -|`ClientLocator` |`string` |Represents the unique identifier of the trip in an external (non-Concur) system. Maximum length 32 characters. -|`ItinSourceName` |`string` |The itinerary source. Format: TravelSupplier. -|`TripName` |`string` |Name of the trip. Maximum length 255 characters. -|`Comments` |`string` |Comments for this itinerary. Maximum length 512 characters. -|`StartDateLocal` |`dateTime` |The start date of the trip in the starting location’s timezone. Format: YYYY-MM-DDThh:mm:ss. -|`EndDateLocal` |`dateTime` |The end date of the trip in the ending location’s timezone. Format: YYYY-MM-DDThh:mm:ss. -|`DateCreatedUtc` |`dateTime` |The date that this trip was created, in UTC. Format: YYYY-MM-DDThh:mm:ss. -|`DateModifiedUtc` |`dateTime` |The UTC date that this trip was last modified. Format: YYYY-MM-DDThh:mm:ss. -|`BookedVia` |`string` |The booking method for the trip. -|`BookedByFirstName` |`string` |The first name of the person who booked the trip. -|`BookedByLastName` |`string` |The last name of the person who booked the trip. -|`DateBookedLocal` |`dateTime` |The date the trip was booked, in the local time of the booking location. Format: YYYY-MM-DDThh:mm:ss. -|`CancelComments` |`string` |The comments provided if the itinerary is cancelled. Maximum length: 256 characters. -|`Description` |`string` |The trip description. Maximum length: 512 characters. -|`EndDateUtc` |`dateTime` |The end date of the trip, in UTC. Format: YYYY-MM-DDThh:mm:ss. -|`IsPersonal` |`boolean` |Whether the trip is a Business or Leisure trip. Format: true/false. -|`ProjectName` |`string` |The associated project name for the trip. Maximum length: 255 characters. -|`StartDateUtc` |`dateTime` |The start date of the trip, in UTC. Format: YYYY-MM-DDThh:mm:ss. -|`RuleViolations` |`array` |The list of rule violations associated with the itinerary. This parent element contains a `RuleViolation` child element for each associated rule violation. -|`Status` |`string` |The status of the itinerary. One of the following: 0- Confirmed; 1- Ticketed by agent; 2- Canceled. -|`Bookings` |`array` |A parent element that contains a `Booking` child element for each booking associated with this itinerary. - -### Booking Element - -| Element Name | Data Type |Description -| --------- | --------- | ------- -|`Segments` |`array` |List of segments in this booking. The child elements included in this element vary depending on whether a TMC, SAP Concur client, third-party developer, or TripLink supplier is requesting the itinerary details: **For TMCs, clients, and third-party developers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, `Dining`, `Ride`, `Rail`, `Parking`, or `Travel` parent elements. **For TripLink suppliers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, or `Ride` parent elements. -|`Passengers` |`array` |Contains a `Passenger` child element for each included passenger. For more information on the `Passengers` element, see [Create a New Trip](#postnt). -|`RecordLocator` |`string` |The unique identifier for a booking. This is often six alphanumeric characters, but can have other formats depending on the booking source. -|`BookingSource` |`string` |The name of the booking source for this booking. A booking source is a textual name the system uses to track where a booking took place. -|`DateModifiedUtc` |`dateTime` |The date the booking was last modified, in UTC. Format: YYYY-MM-DDThh:mm:ss. -|`DateBookedLocal` |`dateTime` |The date the booking was created, in the booking location's local time. Format: YYYY-MM-DDThh:mm:ss. -|`ItinSourceName` |`string` |The itinerary source. Format: TravelSupplier. -|`PassengerCount` |`integer` |The number of passengers included in the booking. - -### Examples - -### Example 1: Get Trip Details for a Trip ID - -#### Request - -```http -GET /api/travel/trip/v1.1/CNQR1234567890 HTTP/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -... -``` +## Punchout Session -#### Response +### Create Cancel Punchout Session -```http -HTTP/1.1 200 OK -Content-Type: application/xml -... - - - - https://www.concursolutions.com/api/travel/trip/v1.1/CNQR1234567890 - CNQR1234567890 - KK-CNQ-1M1P6-5HJ - ConcurTravel - Trip from Dallas to Seattle - - 2013-12-21T07:25:00 - 2013-12-24T23:59:00 - 2012-07-24T19:15:52 - EveryGDS - Chris - Miller - 2012-07-24T19:15:52 - - - - - CQ - HK - 2013-12-21T12:00:00 - 2013-12-24T12:00:00 - F1672664579 - 2012-07-24T19:15:52 - SEA - SEA - SEA - SEA - E - C - M - R - 1 - 346660 - 44.0000 - 44.0000 - D - USD - - - Dropoff Fee - USD - 0.0000 - false - DROPOFFFEE - C - - - USD - 44.0000 - 2013-12-21T12:00:00 - true - DAYS - C - DAY - 1.0000 - 250.0000 - 0.2400 - false - - - - - - - Chris - Miller - - - C123456789 - ConcurCars - 2012-07-24T19:15:52 - 2013-11-10T13:01:00 - TravelSupplier - 1 - - - - - CQ - GK - 2013-12-21T23:59:00 - 2013-12-24T23:59:00 - 3364214265 - 2012-07-24T19:15:52 - LV4 - CONCUR HOTEL - CONQ - 00:00 - 00:00 - 1 - 1 - Cxl 1 day prior to Arrival - 240.3500 - USD - 1 KING BED ACCESSIBLE ROOM - K1RRC - - - USD - 240.3500 - 2013-12-21T23:59:00 - false - ROOMRATE - H - DAY - 3.0000 - - - - - - - Chris - Miller - - - 0987654321 - ConcurHotel - 2012-07-24T19:15:52 - 2013-11-10T13:01:00 - 33491211 - ConcurTravel - 1 - - - -``` +- **POST** `/punchout-sessions/cancel` -### Example 2: Get Trip Details in TripIt Format +#### CancelPunchoutSessionRequestObject -#### Request +| Field | Type | Description | +|------------|--------|----------------------------------------------| +| `bookingId`| string | Booking UUID to be cancelled | +| `returnUrl`| string | URL to redirect after cancellation | +| `tripId` | string | Trip UUID containing the booking | -```http -GET /travel/trip/v1.1/73014481752?systemFormat=Tripit HTTP/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -... -``` +#### Example Payload -#### Response - -```xml - - - - 73014481752 - /api/travel/trip/v1.1/73014481752 - 2013-08-21 - 2013-08-24 - Strategy Team meeting - true - - - RL10001005 - Concur Travel - - https://www.concursolutions.com - 4294993825 - CN10001005 - - - - - - 1 - - - - - - 2013-08-21 - - - - 2013-08-21 - - - PHX - A11 - 4 - ORD - F8 - 2 - US - 1 - 320 - - 1433 - - - Economy - Nonstop - - - - 2013-08-24 - - - - 2013-08-24 - - - ORD - - - PHX - - - US - 1728 - A320 - - - - - Economy - stops - - - William - - Never - - - - - - -``` - -## Create a New Trip - -This endpoint is used for creating a new trip. To create a new trip, the specified dates in the content body can only span the trip to be created and cannot span an existing trip. To create or update a trip on behalf of a user, the OAuth access token used to make the API call should be associated with the SAP Concur account of that user. The TripLink supplier or TMC must be registered with SAP Concur and have an SAP Concur account that has one of the following user roles: Web Services Administrator for Professional, or Can Administer for Standard. - -### Request - - POST /travel/trip/v1.1?[userid_type=login&user_id=login_ID] - -### Request Parameters - -| Parameter Name |Data Type |Description -| --------- | --------- | ------- -| `userid_type` | `string` | **Optional**: The type of user identification to use. Possible value is: `login_id`. -| `userid_value` | `string` | **Optional**: The value for the user identification type. Currently the only available type is `login_id` so the value is the login credentials. This parameter must be provided in conjunction with the `userid_type` parameter. The `userid_type` and `userid_value` parameters can only be used if the user account associated with the OAuth 2.0 access token is associated with an SAP Concur account with one of these roles: Web Services Administrator for Professional or Can Administer for Standard. The format for the request URI using the `userid_type` and `userid_value` query parameters is `/travel/trip/v1.1/trip_ID?userid_type=login&userid_value=login_ID`. - -### Headers - -### Authorization Header (required) - -`Authorization: OAuth {access_token}` - -Where `access_token` is the OAuth 2.0 access token of the user whose trip you want to create or update. If you want to access company-wide itinerary 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. - -### Create New Trip Request Schema - -| Element Name | Required or Optional | TripLink | Data Type | Description -| --------- | --------- | ------- | -------- | --------- -| `Itinerary` | required | Y | `ItineraryType` | The root element for a trip. For this endpoint, it contains the following elements: `ClientLocator`, `ItinSourceName`, `TripName`, `Comments`, `StartDateLocal`, `EndDateLocal`, `BookedByFirstName`, `BookedByLastName`, `Bookings`. -| `TripName` | required | Y | `string` | Name of the trip. Maximum length: 255 characters. -| `TripStatus` | required | Y | `unsignedByte` | The status of the trip. One of the following: 0 - Confirmed; 1 - Ticketed; 2 - Canceled; 6 - Proposal; 7 - Booked Proposal. This element only appears if the `includeCanceledTrips` query parameter is used in the request. -| `RecordLocator` | required | Y | `string` | The unique identifier for a booking. This is often six alphanumeric characters, but can have other formats depending on the booking source. -| `BookingSource` | required | Y | `string` | The name of the booking source for this booking. A booking source is a textual name the system uses to track where a booking took place. This could be a GDS, OTA, Vendor code for a Supplier website, or Supplier Direct Connect API. For TripLink suppliers, this is the supplier's name. -| `StartDateLocal` | optional | Y | `dateTime` | The start date of the trip in the starting location’s timezone. Format: YYYY-MM-DDThh:mm:ss. -| `EndDateLocal` | optional | Y | `dateTime` | The end date of the trip in the ending location’s timezone. Format: YYYY-MM-DDThh:mm:ss. -| `BookedByFirstName` | optional | Y | `string` | The first name of the person who booked the trip. -| `BookedByLastName` | optional | Y | `string` | The last name of the person who booked the trip. -| `Bookings` | optional | Y | `array` | A parent element that contains a `Booking` child element for each booking associated with this itinerary. -| `Booking` | optional | Y | `array` | A child element of the `Bookings` element which in turn contains the following child elements: `Segments`, `Passenger`s, `RecordLocator`, `BookingSource`, `DateModifiedUtc`, `DateBookedLocal`, `ItinSourceName`, and `PassengerCount`. -| `Segments` | optional | Y | `array` | List of segments in this booking. The child elements included in this element vary depending on whether a TMC, client, third-party developer, or TripLink supplier is requesting the itinerary details: **For TMCs, clients, and third-party developers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, `Dining`, `Ride`, `Rail`, `Parking`, or `Travel` parent elements. For TripLink suppliers, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, or `Ride` parent elements. -| `Comments` | optional | Y | `string` | Comments for the itinerary. Maximum length: 512 characters. -| `ItinSourceName` | optional | N | `string` | The itinerary source. Format: TravelSupplier. -| `BookingOwner` | optional | Y | `string` | Indicates the tool that supplied the booking to Concur Travel. -| `Source` | optional | N/A | `string` | This element is obsolete. It is supported for backward compatibility only. -| `DateBookedLocal` | optional | Y | `dateTime` | The date the booking was created, in the booking location's local time. Format: YYYY-MM-DDThh:mm:ss. -| `FormOfPaymentName` | optional | - | `string` | The name of the form of payment for the booking. -| `FormOfPaymentType` | optional | - |`string` | The type of the form of payment. -| `TicketMailingAddress` | optional | - | - | The mailing address for the booked ticket, if available. -| `TicketPickupLocation` | optional | - | - | The pickup location for the booked ticket, if available. -| `TicketPickupNumber` | optional | - | - |The confirmation number for the booked ticket, if available. -| `AirfareQuotes` | optional | - | `array` | List of stored airfare quotes for this booking. -| `Airline Tickets` |optional | - |`array` | List of airline tickets for this booking. -| `Charges` |optional | - | `array` | List of charges for this booking. -| `MiscChargeOrders` | optional | - | `array` |List of miscellaneous air charges for this booking. -| `Passengers` | optional | Y | `array` | Contains a `Passenger` child element for each included passenger. The `Passenger` child element in turn contains the following **required child elements**: `NameFirst`, `NameLast`, and the following **optional elements**: `NameMiddle`, `NamePrefix`, `NameRemark`, `NameSuffix`, `NameTitle`, `TextName`, and `FrequentTravelerProgram`. -| `PassPrograms` | optional | - | `array` | List of pass programs for this booking. This parent element has a `PassProgram` child element for each pass program associated with the booking. The `PassProgram` parent element has the following child elements: `Amount`, `Name`, `Type`, `UserFirstName`, and `UserLastname`. -| `PhoneNumbers` | optional | - | `array` | List of phone numbers associated with this booking. This parent element has a `PhoneNumberData` child element for each phone number associated with the booking. The `PhoneNumberData` parent element has the following child elements: `PassengerRPH`, `PhoneNumber`, `Type`, and `Description`. -| `RailPayments` | optional | - | `array` | List of rail payments associated with rail segments in this booking. It has the following child elements: `RailPayment` that represents the payment information for a rail booking and `RailAdjustment` for the amount adjusted for a rail booking. -| `Segments` | optional | Y | `array` | List of segments in this booking. The child elements included in this element vary depending on whether a TMC, client, third-party developer, or TripLink supplier is requesting the itinerary details: **For TMCs, clients, and third-party developers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, `Dining`, `Ride`, `Rail`, `Parking`, or `Travel` parent elements. **For TripLink suppliers**, the `Segments` element contains one or more `Air`, `Car`, `Hotel`, or `Ride` parent elements. -| `Delivery` | optional | - | - | The method this booking was delivered. -| `WaitListSegments` | optional | - | - | The segments that the traveler is waitlisted for this booking. -| `Warning` | optional | - | - | The warnings associated with the booking. -| `WebAddresses` |optional | - | - | List of web addresses such as emails, pick-up URLs, and so on associated with this booking. - -## Create New Trip Response Schema - -The response returns an HTTP status code and if the trip is created successfully, it also returns the full posted trip details with the following additional elements inside the `Itinerary` parent element: - -| Element Name | Data Type | TripLink | Description -| --------- | --------- | ------- | -------- -|`id` | `string` | Y| The URI including the trip ID. -| `ItinLocator` | `string` | Y | The Itinerary Locator value (trip ID without the URL). The `ItinLocator` value is used when updating an existing trip. -| `DateModifiedUtc` | `dateTime` | Y | The UTC formatted date that this booking was last modified. -| `BookedVia` | `string` | Y | The booking method or the GDS the itinerary was booked in. -| `DateBookedLocal` | `dateTime` | Y | The date, in the traveler’s local time, that the booking was made. - -### Examples - -### Example 1: TMC Creates a Trip for User Using Their Login Credentials - -This example shows how to create a trip for a user using their login credentials. - -#### Request - -```http -POST /api/travel/trip/v1.1?userid_type=login_id&userid_value=cm@example.com HTTPS/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -Content-Type: application/xml -... - - - KK-CNQ-1M1P6-5HJ - ConcurConnectAPI - Trip from Dallas to Seattle - - 2013-12-21T07:25:00 - 2013-12-24T23:59:00 - Chris - Miller - - - - - CQ - HK - 2013-12-21T12:00:00 - 2013-12-24T12:00:00 - F1672664579 - SEA - SEA - SEA - SEA - E - C - M - R - 1 - 346660 - 44.0000 - 44.0000 - D - USD - - - Dropoff Fee - USD - 0.0000 - false - DROPOFFFEE - C - - - USD - 44.0000 - 2013-12-21T12:00:00 - true - DAYS - C - DAY - 1.0000 - 250.0000 - 0.2400 - false - - - - - - - Chris - Miller - - - C123456789 - TravelBookings.com - 2013-11-10T13:01:00 - ConcurConnectAPI - 1 - - - - - CQ - GK - 2013-12-21T23:59:00 - 2013-12-24T23:59:00 - 3364214265 - LV4 - CONCUR HOTEL - CONQ - 03:00 PM - 12:00 PM - 1 - 1 - Cxl 1 day prior to Arrival - 240.3500 - USD - 1 KING BED ACCESSIBLE ROOM - K1RRC - - - USD - 240.3500 - 2013-12-21T23:59:00 - false - ROOMRATE - H - DAY - 3.0000 - - - - - - - Chris - Miller - - - 0987654321 - TravelBookings.com - 2013-11-10T13:01:00 - 33491211 - ConcurConnectAPI - 1 - - - +```json +{ + "bookingId": "48fb4cd3-2ef6-4479-bea1-7c92721b988c", + "returnUrl": "https://example.com/return-url", + "tripId": "123e4567-e89b-12d3-a456-426614174000" +} ``` #### Response -```xml - - https://www.concursolutions.com/api/travel/trip/v1.1/CNQR1234567890 - CNQR1234567890 - KK-CNQ-1M1P6-5HJ - ConcurTravel - Trip from Dallas to Seattle - - 2013-12-21T07:25:00 - 2013-12-24T23:59:00 - 2012-07-24T19:15:52 - EveryGDS - Chris - Miller - 2012-07-24T19:15:52 - - - - - CQ - HK - 2013-12-21T12:00:00 - 2013-12-24T12:00:00 - F1672664579 - 2012-07-24T19:15:52 - SEA - SEA - SEA - SEA - E - C - M - R - 1 - 346660 - 44.0000 - 44.0000 - D - USD - - - Dropoff Fee - USD - 0.0000 - false - DROPOFFFEE - C - - - USD - 44.0000 - 2013-12-21T12:00:00 - true - DAYS - C - DAY - 1.0000 - 250.0000 - 0.2400 - false - - - - - - - Chris - Miller - - - C123456789 - ConcurCars - 2012-07-24T19:15:52 - 2013-11-10T13:01:00 - TravelSupplier - 1 - - - - - CQ - GK - 2013-12-21T23:59:00 - 2013-12-24T23:59:00 - 3364214265 - 2012-07-24T19:15:52 - LV4 - CONCUR HOTEL - CONQ - 00:00 - 00:00 - 1 - 1 - Cxl 1 day prior to Arrival - 240.3500 - USD - 1 KING BED ACCESSIBLE ROOM - K1RRC - - - USD - 240.3500 - 2013-12-21T23:59:00 - false - ROOMRATE - H - DAY - 3.0000 - - - - - - - Chris - Miller - - - 0987654321 - ConcurHotel - 2012-07-24T19:15:52 - 2013-11-10T13:01:00 - 33491211 - ConcurTravel - 1 - - - -``` +| Field | Type | Description | +|-------------------|--------|----------------------------------------------| +| `punchoutUrl` | string | URL to redirect user to partner for cancel | +| `punchoutSessionId`| string| UUID of the punchout session | -### Example 2: TripLink Supplier Creates a Trip - -This example shows how a TripLink supplier creates a trip. - -#### Request - -```http -POST /api/travel/trip/v1.1/ HTTPS/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -Content-Type: application/xml -... - - - Trip from Dallas to Seattle - HK - - 2013-12-21T07:25:00 - 2013-12-24T23:59:00 - Chris - Miller - - - - - 2013-12-21T12:00:00 - 2013-12-24T12:00:00 - SEA - SEA - - - - - Chris - Miller - - - C123456789 - TravelBookings.com - 2013-11-10T13:01:00 - - - - - GK - SEA - 2013-12-21T23:59:00 - 2013-12-24T23:59:00 - Pacific - 2012-07-24T19:15:52 - Seattle - US - - - - - Chris - Miller - - - 0987654321 - TravelBookings.com - 2013-11-10T13:01:00 - - - -``` +--- -#### Response +### Get Punchout Session -```xml - - https://www.concursolutions.com/api/travel/trip/v1.1/CNQR1234567890 - CNQR1234567890 - Trip from Dallas to Seattle - HK - - 2013-12-21T07:25:00 - 2013-12-24T23:59:00 - 2012-07-24T19:15:52 - EveryGDS - Chris - Miller - 2012-07-24T19:15:52 - - - - - 2013-12-21T12:00:00 - 2013-12-24T12:00:00 - SEA - SEA - - - - - Chris - Miller - - - C123456789 - TravelBookings.com - 2013-11-10T13:01:00 - - - - - GK - SEA - 2013-12-21T23:59:00 - 2013-12-24T23:59:00 - Pacific - 2012-07-24T19:15:52 - Seattle - US - - - - - Chris - Miller - - - 0987654321 - TravelBookings.com - 2013-11-10T13:01:00 - - - -``` - -### Example 3: Third-Party Developer Creates a Trip Using the Access Token Used to Make the API Call - -This example shows how to create a trip for a user whose account is associated with the access token used to make the API call. - -#### Request - -```http -POST https://www.concursolutions.com/api/travel/trip/v1.1 HTTPS/1.1 -Authorization: OAuth {access token} -Content-Type: application/xml -... - - - KK-CNQ-1M1P6-5HJ - ConcurConnectAPI - Trip from Dallas to Seattle - - 2013-12-21T07:25:00 - 2013-12-24T23:59:00 - Chris - Miller - 7 - 3339 - - - - Numeric - ProposalBatchSize - - 3 - true - - - - Numeric - ProposalSequenceIndex - - 1 - true - - - - - - - CQ - HK - 2013-12-21T12:00:00 - 2013-12-24T12:00:00 - F1672664579 - SEA - SEA - SEA - SEA - E - C - M - R - 1 - 346660 - 44.0000 - 44.0000 - D - USD - - - Dropoff Fee - USD - 0.0000 - false - DROPOFFFEE - C - - - USD - 44.0000 - 2013-12-21T12:00:00 - true - DAYS - C - DAY - 1.0000 - 250.0000 - 0.2400 - false - - - - - - - Chris - Miller - - - C123456789 - TravelBookings.com - 2013-11-10T13:01:00 - ConcurConnectAPI - 1 - - - - - CQ - GK - 2013-12-21T23:59:00 - 2013-12-24T23:59:00 - 3364214265 - LV4 - CONCUR HOTEL - CONQ - 03:00 PM - 12:00 PM - 1 - 1 - Cxl 1 day prior to Arrival - 240.3500 - USD - 1 KING BED ACCESSIBLE ROOM - K1RRC - - - USD - 240.3500 - 2013-12-21T23:59:00 - false - ROOMRATE - H - DAY - 3.0000 - - - - - - - Chris - Miller - - - 0987654321 - TravelBookings.com - 2013-11-10T13:01:00 - 33491211 - ConcurConnectAPI - 1 - - - -``` +- **GET** `/punchout-sessions/{punchout_session_id}` #### Response -The response is the same as in Example 1. - -## Update a Trip - -Creates a new trip or updates an existing trip. A new trip will be created if the trip dates span no existing trip and the request doesn’t include a `tripId`. If a `tripId` is included in the URI it will update the specified trip. The full trip information is included in the update request, which replaces the existing trip. - -This endpoint can be used to create trips for a user that is not the OAuth consumer. This is most often done when a travel supplier or TMC needs to create a trip on behalf of a user. The supplier or TMC must be registered with SAP Concur and have an SAP Concur account that has one of the following user roles: Web Services Administrator for Professional, or Can Administer for Standard. - -## Cancel a Trip - -This endpoint can be used to cancel all segments in a trip. To cancel a trip on behalf of a user, the OAuth access token used to make the API call should be associated with the SAP Concur account of that user. The TripLink supplier or TMC must be registered with SAP Concur and have an SAP Concur account that has one of the following user roles: Web Services Administrator for Professional, or Can Administer for Standard. - -### Request - POST /travel/trip/v1.1/cancel?tripid=trip_ID[&userid_type=login&userid_value=login_ID] - -### Path Parameters - -| Parameter Name | Data Type |Description -| --------- | --------- | ------- -| `cancel` | required | `string` | The URI path modifier for canceling a trip. The format for the request is `/travel/trip/v1.1/cancel?tripid=trip_ID[&userid_type=login&userid_value=login_ID]`. - -### Request Parameters -| Parameter Name | Data Type |Description -| --------- | --------- | ------- -| `tripid` | `string` | **Optional**: The identifier for the trip to be updated. For example, if the value of `tripid` is `I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL`, then the request is `POST /travel/trip/v1.1?tripid=I2uwiJJw8r7Owl3IWlSie9WIelxhAhwiL`. -| `userid_type` |`string` | **Optional**: The type of user identification to use. Possible value is: `login_id`. -| `userid_value` | `string` | **Optional**: The user's login ID. This parameter must be provided in conjunction with the `userid_type` parameter. The `userid_type` and `userid_value` parameters can only be used if 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. The format for the request URI using the `userid_type` and `userid_value` query parameters is `/travel/trip/v1.1/trip_ID?userid_type=login&userid_value=login_ID`. +| Field | Type | Description | +|-------------------|--------|----------------------------------------------| +| `id` | string | Punchout session UUID | +| `punchoutUrl` | string | URL to redirect user to partner | +| `meta` | object | Metadata (createdTime, lastModifiedTime) | +| `tripId` | string | Trip UUID | +| `bookingId` | string | Booking UUID | +| `returnUrl` | string | URL to redirect after punchout | +| `sessionState` | string | State of the punchout session | -### Headers - -### Authorization Header (Required) +--- -`Authorization: OAuth {access_token}` +## Health Check -Where `access_token` is the OAuth 2.0 access token of the user whose trip you want to create or update. If you want to access company-wide itinerary 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. +- **GET** `/health` -### Request Content Body +Returns service status. -None. +--- -### Cancel Trip Request Schema +# Error Responses -The request returns the full trip details for the cancelled trip. If the request is successful, the response trip will not contain any segments because they have been cancelled. The response includes the following additional elements inside the `Itinerary` parent element: +| HTTP Status | Schema | Description | +|-------------|-----------------------------|-----------------------------------| +| 400 | BadRequestResponse | Malformed request | +| 401 | UnauthorizedResponse | Authorization failure | +| 404 | NotFoundResponse | Resource not found | +| 500 | InternalServerErrorResponse | Internal server error | -| Parameter Name | Data Type |Description -| --------- | --------- | ------- -| `id` | `string` | The URI including the trip ID. -| `ItinLocator` | `string` | The itinerary locator value (trip ID without the URL). The `ItinLocator` value is used when updating an existing trip. -|`DateModifiedUtc` | `dateTime` | The UTC formatted date that this booking was last modified. -| `BookedVia` | `string` | The GDS the itinerary was booked in. -| `DateBookedLocal` | `dateTime` | The date, in the traveler’s local time, that the booking was made. +#### Example Error Response +```json +{ + "errors": [ + { + "errorCode": "badRequest", + "errorMessage": "The request is malformed, check the input." + } + ] +} +``` -### Examples +--- -### Example: Cancel a Trip with a Specific Trip ID +# Authentication -#### Request +All endpoints require an OAuth 2.0 access token in the `Authorization` header: -```http -POST /api/travel/trip/v1.1/cancel?tripId=CNQR1234567890 HTTPS/1.1 -Host: www.concursolutions.com -Authorization: OAuth {access token} -... ``` - -#### Response - -```xml - - https://www.concursolutions.com/api/travel/trip/v1.1/CNQR1234567890 - CNQR1234567890 - KK-CNQ-1M1P6-5HJ - ConcurTravel - Trip from Dallas to Seattle - - 2013-12-21T07:25:00 - 2013-12-24T23:59:00 - 2012-07-24T19:15:52 - EveryGDS - Chris - Miller - 2012-07-24T19:15:52 - - - - - - Chris - Miller - - - C123456789 - ConcurCars - 2012-07-24T19:15:52 - 2013-11-10T13:01:00 - TravelSupplier - 1 - - - - - - Chris - Miller - - - 0987654321 - ConcurHotel - 2012-07-24T19:15:52 - 2013-11-10T13:01:00 - 33491211 - ConcurTravel - 1 - - - +Authorization: OAuth {access_token} ``` + +--- \ No newline at end of file