American Express Global Business Travel DutyOfCare Data API

The DutyOfCare Data API from American Express Global Business Travel — 2 operation(s) for dutyofcare data.

Operations 2

POST /v1/bookings Create Metadata based on the Search Request #
GET /v1/bookings/{resourceId} Get the duty of care data as per the Request #

Documentation

📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/UserSyncAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=User
📖
Authentication
https://apis.egencia.com/auth/v1/token
📖
APIReference
https://apis.egencia.com/openconnect-sso/docs/api-docs/sso
📖
Documentation
https://www.egencia.com/openconnect-sso-service/v1/api-info
📖
APIReference
https://apis.egencia.com/company/docs/api-docs/company-info-api
📖
Documentation
https://apis.egencia.com/company/v1/api-info?name=company-details
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/CompanyCDFAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=CompanyCustomData
📖
APIReference
https://apis.egencia.com/openconnect-validation/docs/api-docs/validation
📖
Documentation
https://www.egencia.com/openconnect-validation-service/v1/api-info
📖
APIReference
https://apis.egencia.com/openconnect-expense/docs/api-docs/expense
📖
Documentation
https://www.egencia.com/openconnect-expensestream-service/v1/api-info
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/GetBookingAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=Booking
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/CancellationDeletionAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=CancelAndDelete
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/ApprovalWorkflowAPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=Approval
📖
APIReference
https://apis.egencia.com/approval/docs/api-docs
📖
Documentation
https://www.egencia.com/openconnect-approval-service/v1/api-info
📖
APIReference
https://apis.egencia.com/openconnect/docs/api-docs/ReceiptAPISPI
📖
Documentation
https://apis.egencia.com/openconnect/v1/api-info?name=Receipt
📖
APIReference
https://apis.egencia.com/dutyofcare/docs/api-docs/doc-service
📖
Documentation
https://apis.egencia.com/dutyofcare/v1/api-info
📖
APIReference
https://apis.egencia.com/bi/docs/api-docs/transaction-data-service
📖
Documentation
https://apis.egencia.com/bi/v1/api-info

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amex-gbt-dutyofcare-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amex-gbt-dutyofcare-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amex Gbt DutyOfCare Data API
  version: v1.0
  description: 'Operations tagged DutyOfCare Data across 2 of this provider''s published API definitions: amex-gbt-duty-of-care-api-openapi.json, amex-gbt-service-dutyofcare-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://apis.egencia.com/dutyofcare/api
  description: Generated server url
tags:
- name: DutyOfCare Data
paths:
  /v1/bookings:
    post:
      description: "<p>In general, the DoC API uses HTTPs POST requests with JSON arguments and JSON responses. This API call allows the client to submit a request for retrieving paginated booking data for a specified search criterion. </p>\n</br>\n<p> Request Parameters: </p>\n<table class=\"fullWidth\" >\n    <thead >\n    <tr >\n        <th>Field</th>\n        <th>Type</th>\n        <th>Required/Optional</th>\n        <th>Description</th>\n    </tr>\n    </thead>\n    <tbody>\n    <tr>\n        <td colspan=\"1\">\n            <strong>partner_id</strong>\n        </td>\n        <td colspan=\"1\">Integer</td>\n        <td colspan=\"1\">Required</td>\n        <td colspan=\"1\">Unique identifier provided to partner by Egencia.</td>\n    </tr>\n    <tr>\n        <td colspan=\"1\">\n            <strong>company_id</strong>\n        </td>\n        <td colspan=\"1\">Integer</td>\n        <td colspan=\"1\">Optional</td>\n        <td colspan=\"1\">The company ID list. Company ID is a Unique Identifier for the company.</td>\n    </tr>\n    <tr>\n        <td colspan=\"1\">\n            <strong>start_date_time</strong>\n        </td>\n        <td colspan=\"1\">String</td>\n        <td colspan=\"1\">Optional</td>\n        <td colspan=\"1\">The date-time range to fetch the booking data. Timestamp in ISO 8601 <br> format: YYYY-MM-\n            DDTHH:MM:SSZ Example: 2020-01-21T10:07:41.208Z.\n            The date range should come as a pair.\n            <ul>\n            <li> Future date is not allowed as start date.</li>\n            <li>If the only start date-time is given, the range will be automatically set to next 24 hours from the start date-time.</li>\n            <li>If the only end date-time is given, the range will be automatically set to last 24 hours from the end date-time.</li>\n            <li>Missing both start and end date-time will be considered as the latest 24 hours.</li>\n            </ul>\n          *Default timezone is GMT.\n        </td>\n    </tr>\n    <tr>\n        <td colspan=\"1\">\n            <strong>end_date_time</strong>\n        </td>\n        <td colspan=\"1\">String</td>\n        <td colspan=\"1\">Optional</td>\n        <td colspan=\"1\">The date-time range to fetch the booking data. Timestamp in ISO 8601 <br>format: YYYY-MM-\n            DDTHH:MM:SSZ Example: 2020-01-21T10:07:41.208Z.\n            The date range should come as a pair.\n            <ul>\n            <li> Future date is not allowed as start date.</li>\n            <li>If the only start date-time is given, the range will be automatically set to next 24 hours from the start date-time.</li>\n            <li>If the only end date-time is given, the range will be automatically set to last 24 hours from the end date-time.</li>\n            <li>Missing both start and end date-time will be considered as the latest 24 hours.</li>\n            </ul>\n          *Default timezone is GMT.\n        </td>\n    </tr>\n    </tbody>\n</table>\n\n<br><br>\n<h5> <strong>Request Parameters: </strong></h5>\n<h3>Success Response - 200 OK</h3>\n<p>\n    The request has succeeded. This endpoint will return metadata of the resource for the given request. If there is no content available or no more records available, it will return the below success messages.\n\n</p>\n\n<table class=\"fullWidth\" >\n    <thead >\n    <tr >\n        <th>Response Code</th>\n        <th>Description</th>\n    </tr>\n    </thead>\n    <thead>\n    <tr>\n        <td>200</td>\n        <td colspan=\"1\">\n            <ul>\n                <li>200 OK; BOOKINGS_NOT_AVAILABLE(\"No bookings available for this particular request\")</li>\n                <li>200 OK; NO MORE BOOKING(“ All records have been fetched. No more bookings available for this request.”)</li>\n            </ul>\n        </td>\n    </tr>\n    </thead>\n</table>\n<br><br>\n<h3>Pagination Response</h3>\n<p>This API will return the metadata (hyperlinks) of the resource from where you can fetch all the qualified booking records in a paginated manner. You can page through the resource by making a GET request to the NextPage URL provided in the paginated response. If there are no more pages, NextPage will be set to ‘null’.</p>\n<br>\n<p>\n    <strong>\n        Response Parameter\n    </strong>\n</p>\n<table>\n    <thead>\n    <tr>\n        <th>Attribute</th>\n        <th>Type</th>\n        <th>Description</th>\n    </tr>\n    </thead>\n    <tbody>\n    <tr>\n        <td colspan=\"1\"><strong>total_pages</strong></td>\n        <td colspan=\"1\">Integer</td>\n        <td colspan=\"1\">Total Pages in the response.</td>\n    </tr>\n    <tr>\n        <td colspan=\"1\"><strong>page_limit</strong></td>\n        <td colspan=\"1\">Integer</td>\n        <td colspan=\"1\">The maximum number of records allowed in a single page.</td>\n    </tr>\n    <tr>\n        <td colspan=\"1\"><strong>total_records</strong></td>\n        <td colspan=\"1\">Integer</td>\n        <td colspan=\"1\">Total number of records in the response.</td>\n    </tr>\n    <tr>\n        <td colspan=\"1\"><strong>Current_page</strong></td>\n        <td colspan=\"1\">Integer</td>\n        <td colspan=\"1\">Page number of the displayed record..</td>\n    </tr>\n    </tbody>\n</table>\n\n<b>Examples:</b><br>\n\n<p>Consider a trip from Los Angeles to Dublin. The trip contains two flight booking from Los Angeles to Paris and Paris to Dublin. Also the trip contains a hotel booking in Dublin for 2 days. </p>\n<br>\n<strong>Trip Details </strong><br>\n<div style=\"background: #E8E6E3;\">\n    <i>company_id\": \"35067\", </i><br>\n    <i>Booking 1: Hotel booking</i><br>\n    <i>Booking 2: Car booking</i><br>\n</div>\n<br>\n<p>In this booking there are 2 records. The hotel and car booking will be considered as two separate records.</p>\n<br>\n<strong>Note:</strong>\n<ul>The sample response is for reference purpose only.</ul>\n<br>\n<h3><strong>Sample Request </strong></h3>\n<pre>\n    <code>\n        curl 'https://apis.egencia.com/ dutyofcare/api/v1/bookings' -X POST\n         -H 'Content-Type: application/json;charset=UTF-8' \\\n         -H 'Accept: application/json' \\\n         -d '{\n            \"partner_id\" :\"92\",\n            \"company_id\" :[35067],\n             \"start_date_time\": \"2020-06-21T00:00:11Z\",\n             \"end_date_time\": \"2020-06-31T23:59:59Z\"\n          }'\n    </code>\n</pre>\n<br>\n<h3><strong>Sample Response</strong></h3>\n<pre>\n    <code>\n{\n    \"metadata\": {\n       \"total_pages\": 5,\n       \"total_records\" : 10,\n       \"page_limit\" : 2,\n       \"current_page\": 0\n    },\n    \"_links\": {\n        \"next\": {\n            \"href\": \"https:// apis.egencia.com/dutyofcare/api /v1/bookings/89ef5828-6d9f-4429-ab73-5ee40cf7b4e7\"\n        }\n    }\n}\n    </code>\n</pre>\n</br>\n\n<p>Fetching Duty of care data: </p>\n</br>\n\n<p>This API will return all booking data for all the lob's like FLIGHT, TRAIN, CAR and HOTEL</p>"
      operationId: getDutyOfCareData
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Duty_of_Care_Request_Bean'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>OK</b> : booking data pulled successfully'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>Bad Request</b> : request body is malformed, or contains invalid values'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>Unauthorized</b> : <i>authentication token</i> empty, invalid or expired'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>Forbidden</b> : user do not have the permission to access data'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>Not found</b> : data which satisfying provided input details does not exist'
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>Internal error</b> : no data, or other unexpected error'
      security:
      - OAuth2: []
      summary: Create Metadata based on the Search Request
      tags:
      - DutyOfCare Data
    servers:
    - url: https://apis.egencia.com/dutyofcare/api
      description: Generated server url
  /v1/bookings/{resourceId}:
    get:
      description: "<h3><strong>Sample Request </strong></h3>\n<pre>\n    <code>\n<br>\n        GET\n        https://apis.egencia.com/dutyofcare/api/v1/bookings/89ef5828-6d9f-4429-ab73-5ee40cf7b4e7\n<br>\n    </code>\n</pre>\n<br>\n<h3><strong>Sample Response </strong></h3>\n<pre>\n    <code>\n   {\n    \"record_list\": [\n        {\n            \"record_locator\": \"5f19782e74b12400018f9e7d-169294509\",\n            \"company_id\": 35067,\n            \"trip_id\": \"0600-2564-655\",\n            \"booking_status\": \"CONFIRMED\",\n            \"line_of_business\": \"HOTEL\",\n            \"booking_reference\": \"51820505181\",\n            \"traveler_details\": [\n                {\n                    \"first_name\": \"Bruce\",\n                    \"last_name\": \"Wayne\",\n                    \"email\": \"Brucebat@egencia.com\",\n                    \"phone\": \"NA\",\n                    \"custom_data_fields\": [\n                        {\n                            \"name\": \"Main cost centre\",\n                            \"value\": \"CC1-2\"\n                        }\n                    ]\n                }\n            ],\n            \"hotel_segment_details\": [\n                {\n                    \"hotel_checkin_datetime\": \"2020-07-30T00:00:00+0200\",\n                    \"hotel_checkout_datetime\": \"2020-07-31T00:00:00+0200\",\n                    \"hotel_name\": \"Novum Hotel Savoy Hamburg Mitte\",\n                    \"hotel_address\": \"Steindamm 54, Hamburg, HH, 20099, DEU\",\n                    \"hotel_phone\": \"49 40 18881160\",\n                    \"hotel_longitude\": \"10.014033\",\n                    \"hotel_latitude\": \"53.554398\"\n                }\n            ]\n        },\n        {\n            \"record_locator\": \"5f197a4d74b12400018f9e88-169294510\",\n            \"company_id\": 35067,\n            \"trip_id\": \"0600-2564-655\",\n            \"booking_status\": \"CONFIRMED\",\n            \"line_of_business\": \"CAR\",\n            \"booking_reference\": \"R3935B\",\n            \"traveler_details\": [\n                {\n                    \"first_name\": \"Bruce\",\n                    \"last_name\": \"Wayne\",\n                    \"email\": \" Brucebat@egencia.com\",\n                    \"phone\": \"NA\",\n                    \"custom_data_fields\": [\n                        {\n                            \"name\": \"Main cost centre\",\n                            \"value\": \"CC1-2\"\n                        }\n                    ]\n                }\n            ],\n            \"car_segment_details\": [\n                {\n                    \"car_pickup_iata_code\": \"DEU\",\n                    \"car_pickup_datetime\": \"2020-07-30T12:00:00+0200\",\n                    \"car_dropoff_iata_code\": \"DEU\",\n                    \"car_dropoff_datetime\": \"2020-07-31T12:00:00+0200\",\n                    \"car_vendor_name\": \"Enterprise\",\n                    \"car_vendor_code\": \"ET\"\n                }\n            ]\n        }\n    ],\n    \"metadata\": {\n        \"total_pages\": 5,\n        \"total_records\": 10,\n        \"page_limit\": 2,\n        \"current_page\": 2\n    },\n    \"_links\": {\n        \"next\": {\n            \"href\": \"https:// apis.egencia.com/dutyofcare/api /v1/bookings/89ef5828-6d9f-4429-ab73-5ee40cf7b4e7\"\n        }\n    }\n   }\n<br>\n    </code>\n</pre>\n<br><br>\n<p>\n   Each record will have multiple fields associated with it. You can see a full list of available fields in LOB wise records below.\n</p>\n\n<p>\n   <strong>Note: </strong>\n   <br>\n<ul>\n   <i>\n      Each booking (Air segment booking, Train segment booking, Car segment booking, Hotel segment booking) is considered as separate records with unique Record Locators. If there are multiple bookings under one trip id, they will be treated as separate records\n   </i>\n</ul>\n\n</p>\n\n<p>\n   <strong>\n      Multi Traveler Booking Example\n   </strong>\n</p>\n<pre>\n    <code>\n   {\n    \"record_list\": [{\n        \"record_locator\": \"5f1974f874b12400018f9e6f-169294506\",\n        \"company_id\": 35067,\n        \"trip_id\": \"0600-2564-652\",\n        \"booking_status\": \"CONFIRMED\",\n        \"line_of_business\": \"TRAIN\",\n        \"booking_reference\": \"296896444, 187123510\",\n        \"traveler_details\": [{\n                \"first_name\": \"Bruce\",\n                \"last_name\": \"Wayne\",\n                \"email\": \"Brucebat@egencia.com\",\n                \"phone\": \"456789\",\n                \"custom_data_fields\": [{\n                    \"name\": \"Main cost centre\",\n                    \"value\": \"CC1-2\"\n                }]\n            },\n            {\n                \"first_name\": \"natasha\",\n                \"last_name\": \"romanof\",\n                \"email\": \"natroma@egencia.com\",\n                \"phone\": \"12345\",\n                \"custom_data_fields\": [{\n                    \"name\": \"Main cost centre\",\n                    \"value\": \"CC1-2\"\n                }]\n            }\n        ],\n        \"train_segment_details\": [{\n                \"carrier_code\": \"DBA\",\n                \"train_departure_city_rail_code\": \"8098160\",\n                \"train_arrival_city_rail_code\": \"8002549\",\n                \"train_departure_datetime\": \"2020-07-30T16:38:00+0200\",\n                \"train_arrival_datetime\": \"2020-07-30T18:22:00+0200\",\n                \"train_departure_latitude\": \"52.525085\",\n                \"train_departure_longitude\": \"13.369402\",\n                \"train_arrival_latitude\": \"53.552925\",\n                \"train_arrival_longitude\": \"10.006604\"\n                \"train_departure_station_name\": \"Amsterdam Centraal\",\n                \"train_arrival_station_name\": \"Rotterdam Centraal\",\n                \"train_number\": \"9870\"\n            },\n            {\n                \"carrier_code\": \"DBA\",\n                \"train_departure_city_rail_code\": \"8002549\",\n                \"train_arrival_city_rail_code\": \"8098160\",\n                \"train_departure_datetime\": \"2020-07-31T06:35:00+0200\",\n                \"train_arrival_datetime\": \"2020-07-31T08:20:00+0200\",\n                \"train_departure_latitude\": \"53.552925\",\n                \"train_departure_longitude\": \"10.006604\",\n                \"train_arrival_latitude\": \"52.525085\",\n                \"train_arrival_longitude\": \"13.369402\"\n                \"train_departure_station_name\": \"Rotterdam Centraal\",\n                \"train_arrival_station_name\": \"Amsterdam Centraal\",\n                \"train_number\": \"9870\"\n            }\n        ]\n    }],\n    \"metadata\": {\n        \"total_pages\": 11,\n        \"total_records\": 11,\n        \"page_limit\": 1,\n        \"current_page\": 4\n    },\n    \"_links\": {\n        \"next\": {\n            \"href\": \"https://apis-us-west-2.lab.egencia.cloud/dutyofcare/api/v1/bookings/90ab1f54-9c91-4eba-b8c8-93f8328ee178\"\n        }\n    }\n   }\n<br>\n    </code>\n</pre>"
      operationId: getBookings
      parameters:
      - description: Unique resource identifier returned from the POST /bookings response
        in: path
        name: resourceId
        required: true
        schema:
          type: string
      - description: page
        example: 1
        in: query
        name: page
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>OK</b> : duty of care booking data returned successfully'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>Bad Request</b> : request contains invalid values, e.g. non-numeric page parameter'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>Unauthorized</b> : <i>authentication token</i> empty, invalid or expired'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>Forbidden</b> : user do not have the permission to access data'
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Duty_Of_Care_Response_Bean'
          description: '<b>Internal error</b> : no data, or other unexpected error'
      security:
      - OAuth2: []
      summary: Get the duty of care data as per the Request
      tags:
      - DutyOfCare Data
    servers:
    - url: https://apis.egencia.com/dutyofcare/api
      description: Generated server url
components:
  schemas:
    Air_Segment_Details:
      properties:
        airlineCode:
          type: string
          description: Unique airline code to identify the traveler airline
        flightArrivalDatetime:
          type: string
          description: 'Actual flight arrival date-time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS'
        flightArrivalIataCode:
          type: string
          description: Actual flight arrival IATA Code in standard format
        flightDepartureDatetime:
          type: string
          description: 'Actual flight departure date-time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS'
        flightDepartureIataCode:
          type: string
          description: Actual flight departure IATA Code in standard format
        flightNumber:
          type: string
          description: Unique airline code for the particular flight
    Metadata_corresponding_to_a_request:
      description: Represents the Metadata information
      properties:
        currentPage:
          type: integer
          format: int32
          description: Indicates the current page
        pageLimit:
          type: integer
          format: int32
          description: Indicates the Page Size for the request
        totalPages:
          type: integer
          format: int32
          description: Indicates the total number of expected pages
        totalRecords:
          type: integer
          format: int32
          description: Indicates the toal number of records for the request
    Traveler_Details:
      properties:
        customDataFields:
          type: array
          description: Custom data fields
          items:
            $ref: '#/components/schemas/Custom_Data_Fields'
        email:
          type: string
          description: Email address of the person for whom the travel booking was made
        firstName:
          type: string
          description: First Name of the person for whom the travel booking was made
        lastName:
          type: string
          description: Last Name of the person for whom the travel booking was made
        phone:
          type: string
          description: Phone number of the person for whom the travel booking was made
    Duty_Of_Care_Response_Bean:
      description: Represents the API model for Doc service Public response
      properties:
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
        metadata:
          $ref: '#/components/schemas/Metadata_corresponding_to_a_request'
        recordList:
          type: array
          description: List of records
          items:
            $ref: '#/components/schemas/Doc_Records_List'
    Rail_Segment_Details:
      properties:
        carrierCode:
          type: string
          description: Unique carrier code of the traveler’s carrier
        trainArrivalCityRailCode:
          type: string
          description: Arrival city rail code of the of traveler's train journey
        trainArrivalDatetime:
          type: string
          description: 'Arrival date-time of the traveler’s train journey in ISO 8601 format: YYYY-MM-DDTHH:MM:SS'
        trainArrivalLatitude:
          type: string
          description: Latitude of the train arrival location
        trainArrivalLongitude:
          type: string
          description: Longitude of the train arrival location
        trainArrivalStationName:
          type: string
          description: Arrival station name of the traveler's train journey
        trainDepartureCityRailCode:
          type: string
          description: Departure city rail code of the traveler's train journey
        trainDepartureDatetime:
          type: string
          description: 'Departure date-time of the traveler’s train journey in ISO 8601 format: YYYY-MM-DDTHH:MM:SS'
        trainDepartureLatitude:
          type: string
          description: Latitude of the train departure location
        trainDepartureLongitude:
          type: string
          description: Longitude of the train departure location
        trainDepartureStationName:
          type: string
          description: Departure station name of the traveler's train journey
        trainNumber:
          type: string
          description: The number associated with a train for a segment
    Hotel_Segment_Details:
      properties:
        hotelAddress:
          type: string
          description: Address of the hotel
        hotelCheckinDatetime:
          type: string
          description: Check in date-time in the local timezone of the hotel in ISO 8601 format:YYYY-MM-DDTHH:MM:SS
        hotelCheckoutDatetime:
          type: string
          description: 'Check out date-time in the local timezone of the hotel in ISO 8601 format: YYYY-MM-DDTHH:MM:SS'
        hotelLatitude:
          type: string
          description: Latitude of the hotel location
        hotelLongitude:
          type: string
          description: Longitude of the hotel location
        hotelName:
          type: string
          description: The name of the hotel
        hotelPhone:
          type: string
          description: Telephone number of the hotel
    Doc_Records_List:
      description: Contains the records in duty of care
      properties:
        airSegmentDetails:
          type: array
          items:
            $ref: '#/components/schemas/Air_Segment_Details'
        bookingReference:
          type: string
          description: Unique identifier of a booking
        bookingStatus:
          type: string
          description: 'Represents the status of the booking Example: Confirmed or Cancelled'
        carSegmentDetails:
          type: array
          items:
            $ref: '#/components/schemas/Car_Segment_Details'
        companyId:
          type: integer
          format: int32
          description: Unique Identifier for the company
        gdsReference:
          type: string
          description: GDS Identifier of a booking
        hotelSegmentDetails:
          type: array
          items:
            $ref: '#/components/schemas/Hotel_Segment_Details'
        lineOfBusiness:
          type: string
          description: 'The line of business for which the booking is associated with. Example: Air, Car, Train, Hotel'
        recordLocator:
          type: string
          description: Unique identifier for a record
        trainSegmentDetails:
          type: array
          items:
            $ref: '#/components/schemas/Rail_Segment_Details'
        travelerDetails:
          type: array
          items:
            $ref: '#/components/schemas/Traveler_Details'
        tripId:
          type: string
          description: A trip_id is a unique identifier generated by the system
    Duty_of_Care_Request_Bean:
      description: DutyOfCareDataRequestBean Request
      properties:
        companyId:
          type: array
          description: Company ID is a Unique Identifier for the company
          items:
            type: integer
            format: int32
            description: Company ID is a Unique Identifier for the company
        endDateTime:
          type: string
          description: 'The end date-time to fetch the booking data in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
        partnerId:
          type: integer
          format: int32
          description: Unique identifier provided to partner by Egencia
        startDateTime:
          type: string
          description: 'The start date-time to fetch the booking data in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
    Link:
      properties:
        deprecation:
          type: string
        href:
          type: string
        hreflang:
          type: string
        media:
          type: string
        name:
          type: string
        profile:
          type: string
        rel:
          type: string
        title:
          type: string
        type:
          type: string
    Custom_Data_Fields:
      description: Custom data fields
      properties:
        name:
          type: string
          description: Name of the Custom Data Fields as configured for the company
        value:
          type: string
          description: The values provided will be retrieved for the corresponding fields, if they are available
    Car_Segment_Details:
      properties:
        carDropoffDatetime:
          type: string
          description: 'Car drop-off date-time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS'
        carDropoffIataCode:
          type: string
          description: IATA code of the Car drop off location
        carPickupDatetime:
          type: string
          description: 'Car pickup date-time in ISO 8601 format: YYYY-MM-DDTHH:MM:SS'
        carPickupIataCode:
          type: string
          description: IATA code of the Car pick up location
        carVendorCode:
          type: string
          description: Unique code of the car vendor
        carVendorName:
          type: string
          description: Name of the car vendor
  securitySchemes:
    OAuth2:
      flows:
        clientCredentials:
          tokenUrl: https://apis.egencia.com/auth/v1/token
      type: oauth2
x-refined-from:
- amex-gbt-duty-of-care-api-openapi.json
- amex-gbt-service-dutyofcare-openapi.json