addedOutput schema / else
Added value: +{
+ "properties": {
+ "itineraries": {
+ "items": {
+ "not": {
+ "required": [
+ "inbound"
+ ]
+ },
+ "properties": {
+ "booking_options": {
+ "items": {
+ "properties": {
+ "legs": {
+ "const": [
+ "outbound"
+ ]
+ }
+ }
+ },
+ "maxItems": 1
+ }
+ }
+ }
+ }
+ }
+}
addedOutput schema / if
Added value: +{
+ "properties": {
+ "return_date": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "return_date"
+ ]
+}
changedOutput schema / properties / itineraries / items / properties / booking_link / description
Previous value: -"Clickable booking link for the itinerary."New value: +"Clickable link for the booking group's covered legs."
addedOutput schema / properties / itineraries / items / properties / booking_link / properties / price
Added value: +{
+ "description": "Price for this link's covered legs, when known.",
+ "properties": {
+ "amount": {
+ "description": "Numerical price amount in given currency.",
+ "type": "number"
+ },
+ "currency": {
+ "description": "Currency code of the price amount.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Whether the price was confirmed or is an unverified search hint.",
+ "enum": [
+ "verified",
+ "unverified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "status"
+ ],
+ "type": "object"
+}
changedOutput schema / properties / itineraries / items / properties / booking_link / properties / url / description
Previous value: -"Direct URL to book the itinerary."New value: +"Direct URL to book the covered legs."
addedOutput schema / properties / itineraries / items / properties / booking_options
Added value: +{
+ "description": "Choose one link from every group. Multiple groups require separate bookings.",
+ "items": {
+ "properties": {
+ "legs": {
+ "items": {
+ "enum": [
+ "outbound",
+ "inbound"
+ ]
+ },
+ "type": "array"
+ },
+ "links": {
+ "items": {
+ "description": "Clickable link for the booking group's covered legs.",
+ "properties": {
+ "price": {
+ "description": "Price for this link's covered legs, when known.",
+ "properties": {
+ "amount": {
+ "description": "Numerical price amount in given currency.",
+ "type": "number"
+ },
+ "currency": {
+ "description": "Currency code of the price amount.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Whether the price was confirmed or is an unverified search hint.",
+ "enum": [
+ "verified",
+ "unverified"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "status"
+ ],
+ "type": "object"
+ },
+ "provider_name": {
+ "description": "Name of booking provider.",
+ "type": "string"
+ },
+ "provider_type": {
+ "description": "Type of booking provider.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "url": {
+ "description": "Direct URL to book the covered legs.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "provider_name",
+ "url"
+ ],
+ "type": "object"
+ },
+ "minItems": 1,
+ "type": "array"
+ }
+ },
+ "required": [
+ "legs",
+ "links"
+ ],
+ "type": "object"
+ },
+ "maxItems": 2,
+ "minItems": 1,
+ "type": "array"
+}
changedOutput schema / properties / itineraries / items / properties / booking_url / description
Previous value: -"Direct URL to book the itinerary."New value: +"Direct URL when one booking covers the whole itinerary."
changedOutput schema / properties / itineraries / items / required
Previous value: -[
- "price",
- "outbound",
- "booking_url",
- "booking_link"
-]New value: +[
+ "price",
+ "outbound",
+ "booking_options"
+]
addedOutput schema / then
Added value: +{
+ "properties": {
+ "itineraries": {
+ "items": {
+ "properties": {
+ "booking_options": {
+ "oneOf": [
+ {
+ "maxItems": 1,
+ "minItems": 1,
+ "prefixItems": [
+ {
+ "properties": {
+ "legs": {
+ "const": [
+ "outbound",
+ "inbound"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "maxItems": 1,
+ "minItems": 1,
+ "prefixItems": [
+ {
+ "properties": {
+ "legs": {
+ "const": [
+ "inbound",
+ "outbound"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "maxItems": 2,
+ "minItems": 2,
+ "prefixItems": [
+ {
+ "properties": {
+ "legs": {
+ "const": [
+ "outbound"
+ ]
+ }
+ }
+ },
+ {
+ "properties": {
+ "legs": {
+ "const": [
+ "inbound"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ {
+ "maxItems": 2,
+ "minItems": 2,
+ "prefixItems": [
+ {
+ "properties": {
+ "legs": {
+ "const": [
+ "inbound"
+ ]
+ }
+ }
+ },
+ {
+ "properties": {
+ "legs": {
+ "const": [
+ "outbound"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "required": [
+ "inbound"
+ ]
+ }
+ }
+ }
+}