{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-reservation-line-response-schema.json",
  "title": "ReservationLineResponse",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/entur-seating-manager-openapi.yml#/components/schemas/ReservationLineResponse",
  "required": [
    "reference",
    "requestedProperties",
    "requestedSeatingProperties",
    "reservedProperties",
    "reservedSeatingProperties",
    "type"
  ],
  "type": "object",
  "properties": {
    "reference": {
      "type": "string",
      "description": "Reference for this reservation line`",
      "format": "uuid"
    },
    "reservedProperties": {
      "type": "array",
      "items": {
        "minLength": 1,
        "type": "string",
        "description": "The properties reserved by the reservation line."
      }
    },
    "reservedSeatingProperties": {
      "$ref": "#/$defs/SeatingPropertiesResponseV1"
    },
    "requestedProperties": {
      "type": "array",
      "items": {
        "minLength": 1,
        "type": "string",
        "description": "The properties required by the traveller."
      }
    },
    "requestedSeatingProperties": {
      "$ref": "#/$defs/SeatingPropertiesResponseV1"
    },
    "orderLineId": {
      "type": "string",
      "description": "OrderLine ID for this reservation line."
    },
    "numberOfTravellers": {
      "type": "integer",
      "description": "Number of travellers on the reservation line.",
      "format": "int32"
    },
    "type": {
      "type": "string",
      "description": "The type of reservation line."
    }
  },
  "$defs": {
    "SeatingPropertiesResponseV1": {
      "type": "object",
      "properties": {
        "fareClass": {
          "type": [
            "string",
            "null"
          ],
          "description": "Fare class of the seat. Netex enumeration.",
          "enum": [
            "UNKNOWN",
            "FIRST_CLASS",
            "SECOND_CLASS",
            "THIRD_CLASS",
            "PREFERENTE",
            "PREMIUM_CLASS",
            "BUSINESS_CLASS",
            "STANDARD_CLASS",
            "TURISTA",
            "ECONOMY_CLASS",
            "ANY"
          ]
        },
        "groupBooking": {
          "type": [
            "string",
            "null"
          ],
          "description": "Group booking permission of the seat. Netex enumeration.",
          "enum": [
            "GROUPS_ALLOWED",
            "GROUPS_NOT_ALLOWED",
            "GROUPS_ALLOWED_WITH_RESERVATION",
            "GROUP_BOOKINGS_RESTRICTED",
            "UNKNOWN"
          ]
        },
        "accommodationFacility": {
          "type": [
            "string",
            "null"
          ],
          "description": "Accommodation property of the seat. Netex enumeration.",
          "enum": [
            "UNKNOWN",
            "SEATING",
            "FOLDING_SEAT",
            "SLEEPER",
            "SINGLE_SLEEPER",
            "DOUBLE_SLEEPER",
            "SPECIAL_SLEEPER",
            "COUCHETTE",
            "SINGLE_COUCHETTE",
            "DOUBLE_COUCHETTE",
            "SPECIAL_SEATING",
            "RECLINING_SEATS",
            "BABY_COMPARTMENT",
            "FAMILY_CARRIAGE",
            "RECREATION_AREA",
            "PANORAMA_COACH",
            "PULLMAN_COACH",
            "PUSHCHAIR",
            "WHEELCHAIR",
            "STANDING"
          ]
        },
        "seatAttachment": {
          "type": [
            "string",
            "null"
          ],
          "description": "Attachment of the seat. Netex enumeration.",
          "enum": [
            "REVERSIBLE",
            "FIXED",
            "FOLDING",
            "REMOVABLE",
            "OTHER"
          ]
        },
        "seatPosition": {
          "type": [
            "string",
            "null"
          ],
          "description": "Position of the seat. Netex enumeration.",
          "enum": [
            "WINDOW",
            "AISLE",
            "MIDDLE",
            "UPPER_BERTH",
            "MIDDLE_BERTH",
            "LOWER_BERTH",
            "OTHER"
          ]
        },
        "relativeDirection": {
          "type": [
            "string",
            "null"
          ],
          "description": "Relative direction of the seat. Netex enumeration.",
          "enum": [
            "BOTH",
            "FORWARDS",
            "BACKWARDS"
          ]
        },
        "nuisanceFacilities": {
          "uniqueItems": true,
          "type": "array",
          "description": "Set of possible nuisance factors of the seat. Netex enumerations.",
          "items": {
            "type": "string",
            "description": "Set of possible nuisance factors of the seat. Netex enumerations.",
            "enum": [
              "UNKNOWN",
              "SMOKING",
              "NO_SMOKING",
              "FAMILY_AREA",
              "CHILDFREE_AREA",
              "ANIMALS_ALLOWED",
              "NO_ANIMALS",
              "BREASTFEEDING_FRIENDLY",
              "MOBILE_PHONE_USE_ZONE",
              "MOBILE_PHONE_FREE_ZONE"
            ]
          }
        },
        "passengerCommsFacilities": {
          "uniqueItems": true,
          "type": "array",
          "description": "Set of possible communication facilities available for passenger in the seat. Netex enumerations.",
          "items": {
            "type": "string",
            "description": "Set of possible communication facilities available for passenger in the seat. Netex enumerations.",
            "enum": [
              "UNKNOWN",
              "FREE_WIFI",
              "PUBLIC_WIFI",
              "POWER_SUPPLY_SOCKETS",
              "TELEPHONE",
              "AUDIO_ENTERTAINMENT",
              "VIDEO_ENTERTAINMENT",
              "BUSINESS_SERVICES",
              "INTERNET",
              "POST_OFFICE",
              "POST_BOX"
            ]
          }
        },
        "sanitaryFacilities": {
          "uniqueItems": true,
          "type": "array",
          "description": "Set of possible sanitary facilities available for passenger in the seat. Netex enumerations.",
          "items": {
            "type": "string",
            "description": "Set of possible sanitary facilities available for passenger in the seat. Netex enumerations.",
            "enum": [
              "NONE",
              "TOILET",
              "WHEELCHAIR_ACCESS_TOILET",
              "SHOWER",
              "WASHING_AND_CHANGE_FACILITIES",
              "BABY_CHANGE",
              "WHEELCHAIR_BABY_CHANGE",
              "SHOE_SHINER",
              "OTHER"
            ]
          }
        },
        "mobilityFacilities": {
          "uniqueItems": true,
          "type": "array",
          "description": "Set of possible mobility facilities available for passenger in the seat. Netex enumerations.",
          "items": {
            "type": "string",
            "description": "Set of possible mobility facilities available for passenger in the seat. Netex enumerations.",
            "enum": [
              "UNKNOWN",
              "LOW_FLOOR",
              "STEP_FREE_ACCESS",
              "SUITABLE_FOR_PUSHCHAIRS",
              "SUITABLE_FOR_WHEELCHAIRS",
              "SUITABLE_FOR_HEAVILIY_DISABLED",
              "BOARDING_ASSISTANCE",
              "ONBOARD_ASSISTANCE",
              "UNACCOMPANIED_MINOR_ASSISTANCE",
              "TACTILE_PLATFORM_EDGES",
              "TACTILE_GUIDING_STRIPS"
            ]
          }
        },
        "baggageType": {
          "uniqueItems": true,
          "type": "array",
          "description": "Set of possible baggage types possible for passenger in the seat. Netex enumerations.",
          "items": {
            "type": "string",
            "description": "Set of possible baggage types possible for passenger in the seat. Netex enumerations.",
            "enum": [
              "HANDBAG",
              "HAND_LUGGAGE",
              "SMALL_SUITCASE",
              "SUITCASE",
              "TRUNK",
              "OVERSIZE_ITEM",
              "BICYCLE",
              "MOTORCYCLE",
              "SPORTING_EQUIPMENT",
              "SKIS",
              "MUSICAL_INSTRUMENT",
              "PUSH_CHAIR",
              "WHEELCHAIR",
              "MOTORIZED_WHEELCHAIR",
              "LARGE_MOTORIZED_WHEELCHAIR",
              "SMALL_ANIMAL",
              "ANIMAL",
              "GAME",
              "OTHER"
            ]
          }
        }
      },
      "description": "Properties of a seat. They describe both physical and logical properties of a seat.Physical properties are for example position of the seat.Logical properties describe properties that the operator use when selling the seat. For example fare class."
    }
  }
}