changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "band": {
+ "description": "Distance band: short <=1500 km, medium <=3500 km, long beyond.",
+ "enum": [
+ "short",
+ "medium",
+ "long"
+ ],
+ "type": "string"
+ },
+ "care_rights": {
+ "description": "Duty-of-care entitlements (meals, hotel, calls).",
+ "properties": {
+ "due": {
+ "description": "Whether care is owed for this disruption.",
+ "type": "boolean"
+ },
+ "items": {
+ "description": "Care items owed (empty when not due).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "note": {
+ "description": "When care starts for this band.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "due",
+ "items",
+ "note"
+ ],
+ "type": "object"
+ },
+ "compensation": {
+ "description": "Fixed-compensation outcome.",
+ "properties": {
+ "amount": {
+ "description": "Amount due, or null when none.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "currency": {
+ "description": "EUR for EU261, GBP for UK261, null when no scheme.",
+ "enum": [
+ "EUR",
+ "GBP",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "eligible": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "enum": [
+ "possibly"
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "true, false, or 'possibly' when the reason is unknown or crew-related."
+ },
+ "note": {
+ "description": "Explanation of the outcome.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "eligible",
+ "amount",
+ "currency",
+ "note"
+ ],
+ "type": "object"
+ },
+ "disclaimer": {
+ "description": "Not-legal-advice disclaimer to show the user.",
+ "type": "string"
+ },
+ "distance_km": {
+ "description": "Route distance in km used for the band.",
+ "type": "number"
+ },
+ "jurisdiction_reason": {
+ "description": "Why that scheme does or does not apply.",
+ "type": "string"
+ },
+ "next_steps": {
+ "description": "Recommended next actions in order.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "reason": {
+ "description": "Assessment of the disruption cause.",
+ "properties": {
+ "category": {
+ "description": "Reason category assessed.",
+ "type": "string"
+ },
+ "exempt": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "enum": [
+ "possibly",
+ "unknown"
+ ],
+ "type": "string"
+ }
+ ],
+ "description": "Whether it exempts the airline: true, false, 'possibly' or 'unknown'."
+ },
+ "note": {
+ "description": "Explanation with case-law pointers.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "category",
+ "exempt",
+ "note"
+ ],
+ "type": "object"
+ },
+ "route": {
+ "description": "Resolved airports and countries.",
+ "properties": {
+ "arrival": {
+ "description": "Arrival as 'IATA (City, Country)'.",
+ "type": "string"
+ },
+ "arrival_country": {
+ "description": "Arrival ISO country code.",
+ "type": "string"
+ },
+ "departure": {
+ "description": "Departure as 'IATA (City, Country)'.",
+ "type": "string"
+ },
+ "departure_country": {
+ "description": "Departure ISO country code.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "departure",
+ "arrival"
+ ],
+ "type": "object"
+ },
+ "scheme": {
+ "description": "Passenger-rights scheme that applies to this route.",
+ "enum": [
+ "EU261",
+ "UK261",
+ "none"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "scheme",
+ "jurisdiction_reason",
+ "route",
+ "distance_km",
+ "band",
+ "compensation",
+ "care_rights",
+ "reason",
+ "next_steps",
+ "disclaimer"
+ ],
+ "type": "object"
+}