Skip to content

Commit 0465e27

Browse files
Merge pull request #1671 from rvmatos-sap/extras-100
docs: [EXTRAS-100] Update trip-extras api documentation with update endpoint
2 parents 9d98b4f + beb6e43 commit 0465e27

File tree

1 file changed

+152
-9
lines changed

1 file changed

+152
-9
lines changed

src/api-reference/travel/itinerary/trip/trip-extras.md

Lines changed: 152 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ To use this API, the OAuth token must include the following scopes: `travel.trip
2222

2323
Name | Description | Endpoint
2424
-----------------------------|----------------------------------------------------------|-------------------------------------------------------
25-
`travel.trips.read` | Read only access to trip information | Append Trip Extras Booking, Cancel Trip Extras Booking
26-
`travel.trips.booking.write` | Read and write access to add, modify and cancel bookings | Append Trip Extras Booking, Cancel Trip Extras Booking
25+
`travel.trips.read` | Read only access to trip information | Append Trip Extras Booking, Update Trip Extras Booking, Cancel Trip Extras Booking
26+
`travel.trips.booking.write` | Read and write access to add, modify and cancel bookings | Append Trip Extras Booking, Update Trip Extras Booking, Cancel Trip Extras Booking
2727

2828
## <a name="access-token-usage"></a>Access Token Usage
2929

@@ -52,8 +52,8 @@ Name | Type | Format | Description
5252

5353
### Payloads
5454

55-
* Request: [Append Trip Extras Booking Request](#append-trip-extras-booking-request-schema)
56-
* Response: [Append Trip Extras Booking Response](#append-trip-extras-booking-response-schema)
55+
* Request: [Update or Append Trip Extras Booking Request](#update-append-trip-extras-booking-request-schema)
56+
* Response: [Update or Append Trip Extras Booking Response](#update-append-trip-extras-booking-response-schema)
5757

5858
### Examples
5959

@@ -69,8 +69,13 @@ Content-Type: application/json
6969
{
7070
"extRef": "48fb4cd3-2ef6-4479-bea1-7c92721b988c",
7171
"userId": "12345678-1234-5678-1234-567812345678",
72+
"initiator": "agent",
7273
"booking": {
7374
"type": "ground",
75+
"metadata": {
76+
"version": 2,
77+
"timestamp": "2025-07-25 18:00:00.000",
78+
},
7479
"partner": {
7580
"name": "Partner Name",
7681
"logo": "https://example.com/partner-logo.jpg"
@@ -148,7 +153,134 @@ Date: Mon, 29 Sep 2025 19:46:57 GMT
148153
}
149154
```
150155

151-
Check out [Error Responses](#error-reponses).
156+
Check out [Error Responses](#error-schema).
157+
158+
## <a name="update-trip-extras-booking"></a>Update Trip Extras Booking
159+
160+
Update an existing extras booking content to an existing trip.
161+
162+
### Scopes
163+
164+
`travel.trips.read`, `travel.trips.booking.write` - Refer to [Scope Usage](#scope-usage) for full details.
165+
166+
### URI
167+
168+
```shell
169+
PUT https://{region}.api.concursolutions.com/travel/v5/trips/{trip_uuid}/trip-extras/{booking_uuid}
170+
```
171+
172+
### Parameters
173+
174+
Name | Type | Format | Description
175+
------------|----------|--------|-------------------------------------------------------------------------
176+
`region` | `string` | - | **Required**: Region of the trip. Supported values: `us2`, `eu2`, `apj1`
177+
`trip_uuid` | `string` | - | **Required**: The trip ID.
178+
`booking_uuid` | `string` | - | **Required**: The booking ID.
179+
180+
### Payloads
181+
182+
* Request: [Update or Append Trip Extras Booking Request](#update-append-trip-extras-booking-request-schema)
183+
* Response: [Update or Append Trip Extras Booking Response](#update-append-trip-extras-booking-response-schema)
184+
185+
### Examples
186+
187+
#### Request
188+
189+
```shell
190+
PUT https://us.api.concursolutions.com/travel/v5/trips/26c9943d-5233-4a75-a0e5-5402e996113a/trip-extras/abcdef12-3456-7890-abcd-ef1234567890
191+
Authorization: Bearer {access_token}
192+
Content-Type: application/json
193+
```
194+
195+
```json
196+
{
197+
"extRef": "48fb4cd3-2ef6-4479-bea1-7c92721b988c",
198+
"userId": "12345678-1234-5678-1234-567812345678",
199+
"initiator": "agent",
200+
"booking": {
201+
"type": "ground",
202+
"metadata": {
203+
"version": 2,
204+
"timestamp": "2025-07-25 18:00:00.000",
205+
},
206+
"partner": {
207+
"name": "Partner Name",
208+
"logo": "https://example.com/partner-logo.jpg"
209+
},
210+
"vendor": {
211+
"name": "Vendor Name",
212+
"phoneNumber": "1-800-555-1212",
213+
"email": "[email protected]"
214+
},
215+
"details": {
216+
"url": "https://partner-url.com",
217+
"termsAndConditions": "Terms and conditions apply.",
218+
"cancellationPolicy": "Free cancellation up to 24 hours before pickup.",
219+
"vendorConfirmation": "ABC123456",
220+
"partnerConfirmation": "XYZ789012",
221+
"vehicle": {
222+
"model": "Luxury Sedan",
223+
"acrissCode": "FDMR",
224+
"imageUrl": "https://example.com/vehicle-image.jpg",
225+
"seatingCapacity": 4,
226+
"luggageCapacity": 2
227+
},
228+
"pickup": {
229+
"datetime": "2025-07-25T16:30:00",
230+
"datetimeUtc": "2025-07-25T20:30:00Z",
231+
"locationName": "Marriott Hotel",
232+
"address": {
233+
"address1": "123 Main St",
234+
"localityName": "New York",
235+
"postalCode": "10017",
236+
"country": "US"
237+
},
238+
"geolocation": {
239+
"latitude": 40.7128,
240+
"longitude": -74.006
241+
}
242+
},
243+
"dropoff": {
244+
"datetime": "2025-07-25T18:00:00",
245+
"datetimeUtc": "2025-07-25T22:00:00Z",
246+
"locationName": "JFK Airport",
247+
"iataCode": "JFK"
248+
},
249+
"stops": [
250+
{
251+
"iataCode": "LGA"
252+
}
253+
],
254+
"price": {
255+
"totalAmount": 135.96,
256+
"currency": "USD",
257+
"hourlyRate": 45.00,
258+
"estimatedDuration": "PT3H30M",
259+
"minimumDuration": "PT45M"
260+
}
261+
}
262+
}
263+
}
264+
```
265+
266+
#### Response
267+
268+
Trip Extras API responds with **202 Accepted** and a JSON object containing the UUID of the updated trip extras booking; meanwhile, the booking is being processed.
269+
270+
```shell
271+
HTTP/1.1 202 Accepted
272+
Content-Type: application/json; charset=utf-8
273+
Content-Length: 55
274+
Date: Mon, 29 Sep 2025 19:46:57 GMT
275+
```
276+
277+
```json
278+
{
279+
"bookingUuid": "abcdef12-3456-7890-abcd-ef1234567890"
280+
}
281+
```
282+
283+
Check out [Error Responses](#error-schema).
152284

153285
## <a name="cancel-trip-extras-booking"></a>Cancel Trip Extras Booking
154286

@@ -204,23 +336,34 @@ HTTP/1.1 204 No Content
204336

205337
## <a name="schema"></a> Schema
206338

207-
### <a name="append-trip-extras-booking-request-schema"></a>Append Trip Extras Booking Request
339+
### <a name="update-append-trip-extras-booking-request-schema"></a>Update or Append Trip Extras Booking Request
208340

209341
| Name | Type |Format| Description |
210342
|------------|----------|-|----------------------------------------------------------------------------|
211343
| `extRef` | `string` |GUID| **Required**. UUID for relating messages exchanged between Concur and Partner. The same value should be used on all incoming and outgoing requests for the same business process. |
212344
| `userId` | `string` |GUID| **Required**. UUID of the user to whom the trip extras is being appended. |
345+
| `initiator` | `string` |Enum: `"user"` `"agent"` `"supplier"`| **Required**. Type of initiator. Indicates who initiated the booking request. |
213346
| `booking` | `object` |[Booking Schema](#booking-schema)| **Required**. Detailed information in [Booking](#booking-schema). |
214347

215348
### <a name="booking-schema"></a> Booking
216349

217350
| Name | Type |Format| Description |
218351
|------------|----------|-|----------------------------------------------------------------------------|
219352
| `type` | `string` |-|**Required**. Type of partner reservation (e.g., `ground`.) |
353+
| `metadata` | `object` |[Metadata Schema](#metadata-schema)|**Required**. Detailed information in [Metadata](#metadata-schema). |
220354
| `partner` | `object` |[Partner Schema](#partner-schema)|**Required**. Detailed information in [Partner](#partner-schema).|
221355
| `vendor` | `object` |[Vendor Schema](#vendor-schema)|Detailed information in [Vendor](#vendor-schema). |
222356
| `details` | `object` |[Details Schema](#groundbooking-details-schema)|**Required**. Detailed information in [GroundBooking Details](#groundbooking-details-schema). |
223357

358+
### <a name="metadata-schema"></a> Metadata
359+
360+
Additional metadata related to the booking.
361+
362+
| Name | Type | Format | Description |
363+
|--------|----------|--------|------------------------------------|
364+
| `version` | `int` | - | **Required**. Version of the booking. Changes with an older version are stale. |
365+
| `timestamp` | `string<date-time>` | - | Timestamp of the changes in ISO 8601 format. |
366+
224367
### <a name="partner-schema"></a> Partner
225368

226369
A partner is an aggregator or intermediary that provides access to one or more vendors.
@@ -299,7 +442,7 @@ Information about the vehicle assigned for the ground transportation.
299442
| `address2` | `string` | - | Stands for premise name of the address on xNal standard. |
300443
| `localityName` | `string` | - | **Required**. City or locality name. |
301444
| `administrativeAreaName` | `string` | - | State, province or region. |
302-
| `postalCode` | `string` | - | **Required** |
445+
| `postalCode` | `string` | - | - |
303446
| `country` | `string` | - | **Required**. Two-letter ISO 3166-1 alpha-2 country code. |
304447

305448
### <a name="geolocation-schema"></a> Geolocation
@@ -319,11 +462,11 @@ Information about the vehicle assigned for the ground transportation.
319462
| `estimatedDuration` | `string` | - | Estimated duration of the service in ISO 8601 duration format. |
320463
| `minimumDuration` | `string` | - | Minimum duration of the service in ISO 8601 duration format. |
321464

322-
### <a name="append-trip-extras-booking-response-schema"></a>Append Trip Extras Booking Response
465+
### <a name="update-append-trip-extras-booking-response-schema"></a>Update or Append Trip Extras Booking Response
323466

324467
| Name | Type | Format | Description |
325468
|---------------|----------|--------|-----------------------------------------|
326-
| `bookingUuid` | `string` | GUID | UUID of the created trip extras booking.|
469+
| `bookingUuid` | `string` | GUID | UUID of the created or updated trip extras booking.|
327470

328471

329472
### <a name="cancel-trip-extras-booking-request-schema"></a> Cancel Trip Extras Booking Request

0 commit comments

Comments
 (0)