changedOutput schema / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "alternatives": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "airlines": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "baggage": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "durationMinutes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "type": "string"
- },
- "price": {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "minimum": 0,
- "type": "number"
- },
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "provider": {
- "const": "letsfg",
- "type": "string"
- },
- "refundable": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "reliability": {
- "anyOf": [
- {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "segments": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "airline": {
- "type": [
- "string",
- "null"
- ]
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "destination": {
- "type": [
- "string",
- "null"
- ]
- },
- "origin": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "origin",
- "destination",
- "departureAt",
- "arrivalAt",
- "airline"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "selfTransfer": {
- "type": "boolean"
- },
- "splitTicket": {
- "type": "boolean"
- },
- "stops": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "transferProtection": {
- "anyOf": [
- {
- "enum": [
- "protected",
- "unprotected"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "id",
- "price",
- "airlines",
- "segments",
- "stops",
- "durationMinutes",
- "departureAt",
- "arrivalAt",
- "reliability",
- "refundable",
- "baggage",
- "splitTicket",
- "selfTransfer",
- "provider"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "cheapest": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "airlines": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "baggage": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "durationMinutes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "type": "string"
- },
- "price": {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "minimum": 0,
- "type": "number"
- },
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "provider": {
- "const": "letsfg",
- "type": "string"
- },
- "refundable": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "reliability": {
- "anyOf": [
- {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "segments": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "airline": {
- "type": [
- "string",
- "null"
- ]
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "destination": {
- "type": [
- "string",
- "null"
- ]
- },
- "origin": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "origin",
- "destination",
- "departureAt",
- "arrivalAt",
- "airline"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "selfTransfer": {
- "type": "boolean"
- },
- "splitTicket": {
- "type": "boolean"
- },
- "stops": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "transferProtection": {
- "anyOf": [
- {
- "enum": [
- "protected",
- "unprotected"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "id",
- "price",
- "airlines",
- "segments",
- "stops",
- "durationMinutes",
- "departureAt",
- "arrivalAt",
- "reliability",
- "refundable",
- "baggage",
- "splitTicket",
- "selfTransfer",
- "provider"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "comparison": {
- "additionalProperties": false,
- "properties": {
- "durationRangeMinutes": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "max": {
- "type": "number"
- },
- "min": {
- "type": "number"
- }
- },
- "required": [
- "min",
- "max"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "priceRange": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "max": {
- "type": "number"
- },
- "min": {
- "type": "number"
- }
- },
- "required": [
- "min",
- "max"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "priceRange",
- "durationRangeMinutes"
- ],
- "type": "object"
- },
- "dataMode": {
- "const": "live",
- "type": "string"
- },
- "fastest": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "airlines": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "baggage": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "durationMinutes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "type": "string"
- },
- "price": {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "minimum": 0,
- "type": "number"
- },
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "provider": {
- "const": "letsfg",
- "type": "string"
- },
- "refundable": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "reliability": {
- "anyOf": [
- {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "segments": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "airline": {
- "type": [
- "string",
- "null"
- ]
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "destination": {
- "type": [
- "string",
- "null"
- ]
- },
- "origin": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "origin",
- "destination",
- "departureAt",
- "arrivalAt",
- "airline"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "selfTransfer": {
- "type": "boolean"
- },
- "splitTicket": {
- "type": "boolean"
- },
- "stops": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "transferProtection": {
- "anyOf": [
- {
- "enum": [
- "protected",
- "unprotected"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "id",
- "price",
- "airlines",
- "segments",
- "stops",
- "durationMinutes",
- "departureAt",
- "arrivalAt",
- "reliability",
- "refundable",
- "baggage",
- "splitTicket",
- "selfTransfer",
- "provider"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "fewestStops": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "airlines": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "baggage": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "durationMinutes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "type": "string"
- },
- "price": {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "minimum": 0,
- "type": "number"
- },
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "provider": {
- "const": "letsfg",
- "type": "string"
- },
- "refundable": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "reliability": {
- "anyOf": [
- {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "segments": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "airline": {
- "type": [
- "string",
- "null"
- ]
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "destination": {
- "type": [
- "string",
- "null"
- ]
- },
- "origin": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "origin",
- "destination",
- "departureAt",
- "arrivalAt",
- "airline"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "selfTransfer": {
- "type": "boolean"
- },
- "splitTicket": {
- "type": "boolean"
- },
- "stops": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "transferProtection": {
- "anyOf": [
- {
- "enum": [
- "protected",
- "unprotected"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "id",
- "price",
- "airlines",
- "segments",
- "stops",
- "durationMinutes",
- "departureAt",
- "arrivalAt",
- "reliability",
- "refundable",
- "baggage",
- "splitTicket",
- "selfTransfer",
- "provider"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "methodology": {
- "additionalProperties": false,
- "properties": {
- "missingSignals": {
- "type": "string"
- },
- "scope": {
- "type": "string"
- },
- "type": {
- "const": "deterministic_weighted_comparison",
- "type": "string"
- },
- "weights": {
- "additionalProperties": false,
- "properties": {
- "durationWeight": {
- "default": 0.25,
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "priceWeight": {
- "default": 0.5,
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "reliabilityWeight": {
- "default": 0.1,
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "stopsWeight": {
- "default": 0.15,
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "priceWeight",
- "durationWeight",
- "stopsWeight",
- "reliabilityWeight"
- ],
- "type": "object"
- }
- },
- "required": [
- "type",
- "weights",
- "scope",
- "missingSignals"
- ],
- "type": "object"
- },
- "provider": {
- "additionalProperties": false,
- "properties": {
- "name": {
- "const": "letsfg",
- "type": "string"
- },
- "status": {
- "const": "ok",
- "type": "string"
- },
- "upstreamLatencyMs": {
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "name",
- "status",
- "upstreamLatencyMs"
- ],
- "type": "object"
- },
- "reasonCodes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "recommended": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "airlines": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "baggage": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "durationMinutes": {
- "anyOf": [
- {
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "type": "string"
- },
- "price": {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "minimum": 0,
- "type": "number"
- },
- "currency": {
- "pattern": "^[A-Z]{3}$",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency"
- ],
- "type": "object"
- },
- "provider": {
- "const": "letsfg",
- "type": "string"
- },
- "refundable": {
- "type": [
- "boolean",
- "null"
- ]
- },
- "reliability": {
- "anyOf": [
- {
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "segments": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "airline": {
- "type": [
- "string",
- "null"
- ]
- },
- "arrivalAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "departureAt": {
- "type": [
- "string",
- "null"
- ]
- },
- "destination": {
- "type": [
- "string",
- "null"
- ]
- },
- "origin": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "origin",
- "destination",
- "departureAt",
- "arrivalAt",
- "airline"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "selfTransfer": {
- "type": "boolean"
- },
- "splitTicket": {
- "type": "boolean"
- },
- "stops": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "transferProtection": {
- "anyOf": [
- {
- "enum": [
- "protected",
- "unprotected"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "id",
- "price",
- "airlines",
- "segments",
- "stops",
- "durationMinutes",
- "departureAt",
- "arrivalAt",
- "reliability",
- "refundable",
- "baggage",
- "splitTicket",
- "selfTransfer",
- "provider"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "searchedAt": {
- "type": "string"
- }
- },
- "required": [
- "recommended",
- "cheapest",
- "fastest",
- "fewestStops",
- "alternatives",
- "comparison",
- "reasonCodes",
- "methodology",
- "searchedAt",
- "provider",
- "dataMode"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "nextAction": {
- "additionalProperties": false,
- "properties": {
- "instruction": {
- "type": "string"
- },
- "target": {
- "const": "x402_endpoint",
- "type": "string"
- },
- "type": {
- "const": "pay_and_retry",
- "type": "string"
- }
- },
- "required": [
- "type",
- "target",
- "instruction"
- ],
- "type": "object"
- },
- "payment": {
- "additionalProperties": false,
- "properties": {
- "endpoint": {
- "type": "string"
- },
- "method": {
- "const": "POST",
- "type": "string"
- },
- "retrySameBody": {
- "const": true,
- "type": "boolean"
- }
- },
- "required": [
- "endpoint",
- "method",
- "retrySameBody"
- ],
- "type": "object"
- },
- "preview": {
- "additionalProperties": false,
- "properties": {
- "fullResultAvailable": {
- "const": true,
- "type": "boolean"
- },
- "inputAccepted": {
- "const": true,
- "type": "boolean"
- },
- "summary": {
- "type": "string"
- },
- "useCases": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "inputAccepted",
- "fullResultAvailable",
- "summary",
- "useCases"
- ],
- "type": "object"
- },
- "price": {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "minimum": 0,
- "type": "number"
- },
- "currency": {
- "type": "string"
- },
- "protocol": {
- "const": "x402",
- "type": "string"
- }
- },
- "required": [
- "amount",
- "currency",
- "protocol"
- ],
- "type": "object"
- },
- "requestId": {
- "type": "string"
- },
- "status": {
- "const": "payment_required",
- "type": "string"
- },
- "tool": {
- "type": "string"
- }
- },
- "required": [
- "status",
- "tool",
- "requestId",
- "price",
- "preview",
- "payment",
- "nextAction"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "alternatives": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "airlines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "baggage": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "durationMinutes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "price": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "provider": {
+ "const": "letsfg",
+ "type": "string"
+ },
+ "refundable": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "reliability": {
+ "anyOf": [
+ {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "segments": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "airline": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "destination": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "origin": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "origin",
+ "destination",
+ "departureAt",
+ "arrivalAt",
+ "airline"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "selfTransfer": {
+ "type": "boolean"
+ },
+ "splitTicket": {
+ "type": "boolean"
+ },
+ "stops": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "transferProtection": {
+ "anyOf": [
+ {
+ "enum": [
+ "protected",
+ "unprotected"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "price",
+ "airlines",
+ "segments",
+ "stops",
+ "durationMinutes",
+ "departureAt",
+ "arrivalAt",
+ "reliability",
+ "refundable",
+ "baggage",
+ "splitTicket",
+ "selfTransfer",
+ "provider"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "cheapest": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "airlines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "baggage": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "durationMinutes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "price": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "provider": {
+ "const": "letsfg",
+ "type": "string"
+ },
+ "refundable": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "reliability": {
+ "anyOf": [
+ {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "segments": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "airline": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "destination": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "origin": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "origin",
+ "destination",
+ "departureAt",
+ "arrivalAt",
+ "airline"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "selfTransfer": {
+ "type": "boolean"
+ },
+ "splitTicket": {
+ "type": "boolean"
+ },
+ "stops": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "transferProtection": {
+ "anyOf": [
+ {
+ "enum": [
+ "protected",
+ "unprotected"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "price",
+ "airlines",
+ "segments",
+ "stops",
+ "durationMinutes",
+ "departureAt",
+ "arrivalAt",
+ "reliability",
+ "refundable",
+ "baggage",
+ "splitTicket",
+ "selfTransfer",
+ "provider"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "comparison": {
+ "additionalProperties": false,
+ "properties": {
+ "durationRangeMinutes": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "max": {
+ "type": "number"
+ },
+ "min": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "min",
+ "max"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "priceRange": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "max": {
+ "type": "number"
+ },
+ "min": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "min",
+ "max"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "priceRange",
+ "durationRangeMinutes"
+ ],
+ "type": "object"
+ },
+ "dataMode": {
+ "const": "live",
+ "type": "string"
+ },
+ "fastest": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "airlines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "baggage": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "durationMinutes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "price": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "provider": {
+ "const": "letsfg",
+ "type": "string"
+ },
+ "refundable": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "reliability": {
+ "anyOf": [
+ {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "segments": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "airline": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "destination": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "origin": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "origin",
+ "destination",
+ "departureAt",
+ "arrivalAt",
+ "airline"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "selfTransfer": {
+ "type": "boolean"
+ },
+ "splitTicket": {
+ "type": "boolean"
+ },
+ "stops": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "transferProtection": {
+ "anyOf": [
+ {
+ "enum": [
+ "protected",
+ "unprotected"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "price",
+ "airlines",
+ "segments",
+ "stops",
+ "durationMinutes",
+ "departureAt",
+ "arrivalAt",
+ "reliability",
+ "refundable",
+ "baggage",
+ "splitTicket",
+ "selfTransfer",
+ "provider"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "fewestStops": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "airlines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "baggage": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "durationMinutes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "price": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "provider": {
+ "const": "letsfg",
+ "type": "string"
+ },
+ "refundable": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "reliability": {
+ "anyOf": [
+ {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "segments": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "airline": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "destination": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "origin": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "origin",
+ "destination",
+ "departureAt",
+ "arrivalAt",
+ "airline"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "selfTransfer": {
+ "type": "boolean"
+ },
+ "splitTicket": {
+ "type": "boolean"
+ },
+ "stops": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "transferProtection": {
+ "anyOf": [
+ {
+ "enum": [
+ "protected",
+ "unprotected"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "price",
+ "airlines",
+ "segments",
+ "stops",
+ "durationMinutes",
+ "departureAt",
+ "arrivalAt",
+ "reliability",
+ "refundable",
+ "baggage",
+ "splitTicket",
+ "selfTransfer",
+ "provider"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "methodology": {
+ "additionalProperties": false,
+ "properties": {
+ "missingSignals": {
+ "type": "string"
+ },
+ "scope": {
+ "type": "string"
+ },
+ "type": {
+ "const": "deterministic_weighted_comparison",
+ "type": "string"
+ },
+ "weights": {
+ "additionalProperties": false,
+ "properties": {
+ "durationWeight": {
+ "default": 0.25,
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "priceWeight": {
+ "default": 0.5,
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "reliabilityWeight": {
+ "default": 0.1,
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "stopsWeight": {
+ "default": 0.15,
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "priceWeight",
+ "durationWeight",
+ "stopsWeight",
+ "reliabilityWeight"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "type",
+ "weights",
+ "scope",
+ "missingSignals"
+ ],
+ "type": "object"
+ },
+ "provider": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "const": "letsfg",
+ "type": "string"
+ },
+ "status": {
+ "const": "ok",
+ "type": "string"
+ },
+ "upstreamLatencyMs": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "name",
+ "status",
+ "upstreamLatencyMs"
+ ],
+ "type": "object"
+ },
+ "reasonCodes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "recommended": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "airlines": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "baggage": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "durationMinutes": {
+ "anyOf": [
+ {
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "price": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "currency": {
+ "pattern": "^[A-Z]{3}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency"
+ ],
+ "type": "object"
+ },
+ "provider": {
+ "const": "letsfg",
+ "type": "string"
+ },
+ "refundable": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "reliability": {
+ "anyOf": [
+ {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "segments": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "airline": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "arrivalAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "departureAt": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "destination": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "origin": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "origin",
+ "destination",
+ "departureAt",
+ "arrivalAt",
+ "airline"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "selfTransfer": {
+ "type": "boolean"
+ },
+ "splitTicket": {
+ "type": "boolean"
+ },
+ "stops": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "transferProtection": {
+ "anyOf": [
+ {
+ "enum": [
+ "protected",
+ "unprotected"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "price",
+ "airlines",
+ "segments",
+ "stops",
+ "durationMinutes",
+ "departureAt",
+ "arrivalAt",
+ "reliability",
+ "refundable",
+ "baggage",
+ "splitTicket",
+ "selfTransfer",
+ "provider"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "searchedAt": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "recommended",
+ "cheapest",
+ "fastest",
+ "fewestStops",
+ "alternatives",
+ "comparison",
+ "reasonCodes",
+ "methodology",
+ "searchedAt",
+ "provider",
+ "dataMode"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "nextAction": {
+ "additionalProperties": false,
+ "properties": {
+ "instruction": {
+ "type": "string"
+ },
+ "target": {
+ "enum": [
+ "x402_endpoint",
+ "mcp_credits_endpoint",
+ "payment_endpoint",
+ "unavailable"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "pay_and_retry",
+ "authorize_and_use_mcp_credits",
+ "payment_unavailable"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target",
+ "instruction"
+ ],
+ "type": "object"
+ },
+ "payment": {
+ "additionalProperties": false,
+ "properties": {
+ "endpoint": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "method": {
+ "const": "POST",
+ "type": "string"
+ },
+ "retrySameBody": {
+ "const": true,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "endpoint",
+ "method",
+ "retrySameBody"
+ ],
+ "type": "object"
+ },
+ "paymentGuidance": {},
+ "preview": {
+ "additionalProperties": false,
+ "properties": {
+ "fullResultAvailable": {
+ "const": true,
+ "type": "boolean"
+ },
+ "inputAccepted": {
+ "const": true,
+ "type": "boolean"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "useCases": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "inputAccepted",
+ "fullResultAvailable",
+ "summary",
+ "useCases"
+ ],
+ "type": "object"
+ },
+ "price": {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "protocol": {
+ "enum": [
+ "x402",
+ "api_credits",
+ "subscription",
+ "l402",
+ "mpp",
+ "unavailable"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "protocol"
+ ],
+ "type": "object"
+ },
+ "requestId": {
+ "type": "string"
+ },
+ "status": {
+ "const": "payment_required",
+ "type": "string"
+ },
+ "tool": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "tool",
+ "requestId",
+ "price",
+ "preview",
+ "payment",
+ "nextAction"
+ ],
+ "type": "object"
+ }
+]