{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/transfer-search-transfer-offer-post-schema.json", "title": "TransferOfferPost", "description": "transfer offer", "allOf": [ { "description": "transfer offer", "allOf": [ { "type": "object", "required": [ "transferType", "start", "serviceProvider", "vehicle", "quotation", "methodsOfPaymentAccepted" ], "properties": { "transferType": { "type": "string", "enum": [ "PRIVATE", "SHARED", "TAXI", "HOURLY", "AIRPORT_EXPRESS", "AIRPORT_BUS" ], "description": "amadeus transfer service type\n\nvalue | description \n-------------- | ------------------------\nPRIVATE | Private transfer from point to point\nSHARED | Shared transfer from point to point\nTAXI | Taxi reservation from point to point, price is estimated\nHOURLY | Chauffeured driven transfer per hour\nAIRPORT_EXPRESS | Express Train from/to Airport\nAIRPORT_BUS | Express Bus from/to Airport\n" }, "start": { "type": "object", "description": "location information", "properties": { "dateTime": { "description": "date and time specified in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-DDThh:mm:ss format e.g. 2017-11-10T10:00:00\nnot supported for stopOvers object\n", "type": "string", "example": "2019-11-10T10:30:00" }, "locationCode": { "type": "string", "description": "airport code from [IATA table codes](http://www.iata.org/publications/Pages/code-search.aspx), e.g. CDG.", "pattern": "[A-Za-z]{3}", "example": "CDG" }, "address": { "$ref": "#/definitions/Address" }, "name": { "type": "string", "description": "Place name e.g. Airport Name, Hotel Name etc.", "example": "Sample Name" }, "googlePlaceId": { "description": "Google place id only for google address e.g. ChIJL-DOWeBv5kcRfTbh97PimNc.", "type": "string", "example": "ChIJrTLr-GyuEmsRBfy61i59si0" }, "uicCode": { "type": "string", "description": "UIC code defined by the worldwide railway organization e.g. 8600626", "example": "string-value" } } }, "end": { "type": "object", "description": "location information", "properties": { "dateTime": { "description": "date and time specified in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-DDThh:mm:ss format e.g. 2017-11-10T10:00:00\nnot supported for stopOvers object\n", "type": "string", "example": "2019-11-10T10:30:00" }, "locationCode": { "type": "string", "description": "airport code from [IATA table codes](http://www.iata.org/publications/Pages/code-search.aspx), e.g. CDG.", "pattern": "[A-Za-z]{3}", "example": "CDG" }, "address": { "$ref": "#/definitions/Address" }, "name": { "type": "string", "description": "Place name e.g. Airport Name, Hotel Name etc.", "example": "Sample Name" }, "googlePlaceId": { "description": "Google place id only for google address e.g. ChIJL-DOWeBv5kcRfTbh97PimNc.", "type": "string", "example": "ChIJrTLr-GyuEmsRBfy61i59si0" }, "uicCode": { "type": "string", "description": "UIC code defined by the worldwide railway organization e.g. 8600626", "example": "string-value" } } }, "stopOvers": { "type": "array", "items": { "$ref": "#/definitions/StopOver" } }, "passenegerCharacteristics": { "type": "array", "items": { "$ref": "#/definitions/PassengerCharacteristics" } }, "duration": { "description": "transfer duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M", "type": "string", "example": "PT2H30M" }, "vehicle": { "type": "object", "required": [ "code", "category", "description", "seats" ], "properties": { "code": { "type": "string", "enum": [ "CAR", "SED", "WGN", "ELC", "VAN", "SUV", "LMS", "MBR", "TRN", "BUS" ], "description": "vehicle type, which can take following values\n\nvalue | description\n-------------- | ------------------------\nCAR | Car\nSED | Sedan\nWGN | Wagon\nELC | Electric car\nVAN | Van or minivan\nSUV | Sport utility vehicle\nLMS | Limousine\nMBR | Motorbike\nTRN | Train\nBUS | Bus\n", "example": "CAR" }, "category": { "type": "string", "enum": [ "ST", "BU", "FC" ], "description": "category of the vehicle, which can take following values\n\nvalue | description\n-------------- | ------------------------\nST | Standard\nBU | Business\nFC | First class\n", "example": "ST" }, "description": { "type": "string", "description": "description of the vehicle. Can describe a list of potential vehicles, e.g. VW Polo or similar", "example": "Sample description text." }, "seats": { "type": "array", "items": { "$ref": "#/definitions/Seat" } }, "baggages": { "type": "array", "items": { "$ref": "#/definitions/Baggage" } }, "imageURL": { "type": "string", "description": "URL to vehicle image", "example": "https://example.com/resource" } } }, "serviceProvider": { "type": "object", "description": "information about provider", "required": [ "code", "name", "logoUrl" ], "properties": { "code": { "type": "string", "pattern": "[a-zA-Z]{3}", "description": "provider code", "example": "string-value" }, "name": { "type": "string", "pattern": "[a-zA-Z]{30}", "description": "provider name", "example": "Sample Name" }, "logoUrl": { "type": "string", "description": "URL to provider logo", "example": "https://example.com/resource" }, "termsUrl": { "type": "string", "description": "URL to provider's terms and conditions page", "example": "https://example.com/resource" }, "isPreferred": { "type": "boolean", "description": "indicates if sub-provider is preferred for the travel-seller", "example": true }, "contacts": { "$ref": "#/definitions/ContactWithAddress" }, "settings": { "type": "array", "description": "list of provider settings", "items": { "type": "string", "description": "provider setting", "enum": [ "BILLING_ADDRESS_REQUIRED", "FLIGHT_NUMBER_REQUIRED", "CVV_NUMBER_REQUIRED" ] } }, "businessIdentification": { "description": "Information about the Customer stakeholder participating to the described sales summary.", "properties": { "vatRegistrationNumber": { "type": "string", "description": "VAT (Value Added Tax) Registration Number of the customer applicable ot the current sales." } }, "example": "string-value" } } }, "partnerInfo": { "type": "object", "description": "Information about partner/subprovider. Below settings configuration is not applicable for sub-provider. Fields 'code', 'name' and 'logoUrl' are not mandatory for sub-provider.", "properties": { "serviceProvider": { "$ref": "#/definitions/ServiceProvider" } } }, "quotation": { "description": "quotation representing a price valuation and its components. The monetaryAmount at the root are the sum of base and all the taxes/fees/discounts", "allOf": [ { "$ref": "#/definitions/PointsAndCash" }, { "type": "object", "properties": { "currencyCode": { "type": "string", "example": "USD" }, "isEstimated": { "type": "boolean", "description": "indicates if the price is pre-estimated prior to ride. Becomes mandatory for transferType = TAXI" }, "base": { "description": "base price", "allOf": [ { "$ref": "#/definitions/PointsAndCash" } ] }, "discount": { "description": "discount amount of base price", "allOf": [ { "$ref": "#/definitions/PointsAndCash" } ] }, "taxes": { "description": "Taxes breakdown", "type": "array", "items": { "$ref": "#/definitions/Tax" } }, "fees": { "description": "Fees breakdown", "type": "array", "items": { "$ref": "#/definitions/Fee" } }, "totalTaxes": { "$ref": "#/definitions/PointsAndCash" }, "totalFees": { "$ref": "#/definitions/PointsAndCash" } } } ] }, "converted": { "description": "quotation representing a price valuation and its components. The monetaryAmount at the root are the sum of base and all the taxes/fees/discounts", "allOf": [ { "$ref": "#/definitions/PointsAndCash" }, { "type": "object", "properties": { "currencyCode": { "type": "string", "example": "USD" }, "isEstimated": { "type": "boolean", "description": "indicates if the price is pre-estimated prior to ride. Becomes mandatory for transferType = TAXI" }, "base": { "description": "base price", "allOf": [ { "$ref": "#/definitions/PointsAndCash" } ] }, "discount": { "description": "discount amount of base price", "allOf": [ { "$ref": "#/definitions/PointsAndCash" } ] }, "taxes": { "description": "Taxes breakdown", "type": "array", "items": { "$ref": "#/definitions/Tax" } }, "fees": { "description": "Fees breakdown", "type": "array", "items": { "$ref": "#/definitions/Fee" } }, "totalTaxes": { "$ref": "#/definitions/PointsAndCash" }, "totalFees": { "$ref": "#/definitions/PointsAndCash" } } } ] }, "extraServices": { "type": "array", "items": { "$ref": "#/definitions/ExtraService" } }, "equipment": { "type": "array", "items": { "$ref": "#/definitions/Equipment" } }, "cancellationRules": { "type": "array", "items": { "$ref": "#/definitions/CancellationRule" } }, "methodsOfPaymentAccepted": { "type": "array", "description": "list of payment methods, allowed by provider", "items": { "type": "string", "description": "Method of payment required when PaymentType equal BT (applicable only for reservation action).", "enum": [ "CREDIT_CARD", "INVOICE", "TRAVEL_ACCOUNT" ] } }, "discountCodes": { "type": "array", "description": "list of discount codes", "items": { "$ref": "#/definitions/DiscountCode" } }, "language": { "description": "code of the preferred language to be used in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/ISO_639-1) format, e.g. EN", "type": "string", "default": "EN" }, "distance": { "properties": { "value": { "description": "great-circle distance between two locations. This distance thus do not take into account traffic conditions; international boundaries; mountains; water; or other elements that might make the a nearby location hard to reach.", "type": "integer", "example": 152 }, "unit": { "description": "unit of the distance", "type": "string", "example": "KM", "enum": [ "KM", "MI" ] } } } } }, { "type": "object", "required": [ "type", "id" ], "properties": { "type": { "description": "the resource name", "type": "string" }, "id": { "type": "string", "description": "offer identifier" } } } ] }, { "type": "object", "properties": { "startConnectedSegment": { "description": "A segment of an itinerary used by a traveler between 2 locations at a given date and time using a particular transportation type FLIGHT or TRAIN", "type": "object", "properties": { "transportationType": { "$ref": "#/definitions/TransportationType" }, "transportationNumber": { "type": "string", "example": "AF380", "description": "The flight number or train number, e.g. AF380" }, "departure": { "$ref": "#/definitions/TravelSegmentLocation" }, "arrival": { "$ref": "#/definitions/TravelSegmentLocation" } } } } }, { "type": "object", "properties": { "endConnectedSegment": { "description": "A segment of an itinerary used by a traveler between 2 locations at a given date and time using a particular transportation type FLIGHT or TRAIN", "type": "object", "properties": { "transportationType": { "$ref": "#/definitions/TransportationType" }, "transportationNumber": { "type": "string", "example": "AF380", "description": "The flight number or train number, e.g. AF380" }, "departure": { "$ref": "#/definitions/TravelSegmentLocation" }, "arrival": { "$ref": "#/definitions/TravelSegmentLocation" } } } } } ] }