{
  "swagger": "2.0",
  "x-otm-resource": {
    "namespace": "http://www.opentravel.org/OTM/resources/HospitalityResources/v1",
    "localName": "HospitalityOffersResource"
  },
  "info": {
    "title": "HospitalityOffersResource",
    "x-otm-library": {
      "ResourceName": "HospitalityOffersResource",
      "LibraryName": "HospitalityOffers",
      "LibraryVersion": "1.0.0",
      "LibraryStatus": "FINAL",
      "SourceFile": "/HospitalityOffers_1_0_0.otm",
      "CompilerVersion": "4.0-SNAPSHOT",
      "CompileDate": "2018-04-05T09:00:00.489-0400"
    },
    "version": "1.0.0"
  },
  "host": "127.0.0.1",
  "basePath": "/",
  "schemes": [
    "http"
  ],
  "paths": {
    "/HospitalityPropertyOffers": {
      "post": {
        "summary": "HospitalityOffersResource - FindSinglePropertyOffers",
        "operationId": "FindSinglePropertyOffers",
        "consumes": [
          "application/xml",
          "application/json"
        ],
        "produces": [
          "application/xml",
          "application/json"
        ],
        "parameters": [
          {
            "name": "HospitalityOffersQueryFindHospitalityOffers",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/HospitalityOffersQueryFindHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/HospitalityOffersQueryFindHospitalityOffers"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SinglePropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/SinglePropertyHospitalityOffers"
            }
          },
          "400": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SinglePropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/SinglePropertyHospitalityOffers"
            }
          },
          "401": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SinglePropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/SinglePropertyHospitalityOffers"
            }
          },
          "402": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SinglePropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/SinglePropertyHospitalityOffers"
            }
          },
          "403": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SinglePropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/SinglePropertyHospitalityOffers"
            }
          },
          "404": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SinglePropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/SinglePropertyHospitalityOffers"
            }
          },
          "500": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/SinglePropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/SinglePropertyHospitalityOffers"
            }
          }
        }
      }
    },
    "/HospitalityOffers": {
      "post": {
        "summary": "HospitalityOffersResource - FindMultiPropertyOffers",
        "operationId": "FindMultiPropertyOffers",
        "consumes": [
          "application/json",
          "application/xml"
        ],
        "produces": [
          "application/json",
          "application/xml"
        ],
        "parameters": [
          {
            "name": "HospitalityOffersQueryFindHospitalityOffers",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/HospitalityOffersQueryFindHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/HospitalityOffersQueryFindHospitalityOffers"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/MultiPropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/MultiPropertyHospitalityOffers"
            }
          },
          "400": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/MultiPropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/MultiPropertyHospitalityOffers"
            }
          },
          "401": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/MultiPropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/MultiPropertyHospitalityOffers"
            }
          },
          "402": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/MultiPropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/MultiPropertyHospitalityOffers"
            }
          },
          "403": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/MultiPropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/MultiPropertyHospitalityOffers"
            }
          },
          "404": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/MultiPropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/MultiPropertyHospitalityOffers"
            }
          },
          "500": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/MultiPropertyHospitalityOffers"
            },
            "x-xml-schema": {
              "$ref": "HospitalityOffers_1_0_0_Trim.xsd#/MultiPropertyHospitalityOffers"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "DistributionType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "DistributionType_Enum"
      },
      "description": "Defines the preferred method of communication or the method of distribution for the material.",
      "properties": {
        "value": {
          "$ref": "#/definitions/DistributionType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "DistributionType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "DistributionType_Enum"
      },
      "description": "Defines the preferred method of communication or the method of distribution for the material.",
      "type": "string",
      "enum": [
        "Fax",
        "Email",
        "Mail",
        "Courier",
        "Airport collection",
        "City office",
        "Hotel desk",
        "Will call",
        "Express mail",
        "Telephone",
        "XML",
        "FTP",
        "Website",
        "HTTP",
        "Non-XML",
        "Any",
        "Other_"
      ]
    },
    "DocumentType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "DocumentType_Enum"
      },
      "description": "Defines the specific type of identification or certification document.",
      "properties": {
        "value": {
          "$ref": "#/definitions/DocumentType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "DocumentType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "DocumentType_Enum"
      },
      "description": "Defines the specific type of identification or certification document.",
      "type": "string",
      "enum": [
        "NaturalizationCertificate",
        "PassportCard",
        "CrewMemberCertificate",
        "AirNexusCard",
        "MerchantMariner",
        "Non-standard",
        "KnownTravelerNumber",
        "RedressNumber",
        "PermanentResidentCard",
        "PilotsLicense",
        "RefugeeTravelDocument",
        "BorderCrossingCard",
        "VerhicleRegistrationNumber",
        "TaxexEmptionNumber",
        "InsurancePolicyNumber",
        "AlienRegistrationNumber",
        "VaccinationCertificate",
        "NationalIdentityDocument",
        "DriversLicense",
        "MilitaryIdentification",
        "Passport",
        "Visa",
        "Other_"
      ]
    },
    "DurationUnit_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "DurationUnit_Enum"
      },
      "description": "Defines the \u0027Units\u0027 that can be applied to Stay restrictions.",
      "properties": {
        "value": {
          "$ref": "#/definitions/DurationUnit_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "DurationUnit_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "DurationUnit_Enum"
      },
      "description": "Defines the \u0027Units\u0027 that can be applied to Stay restrictions.",
      "type": "string",
      "enum": [
        "SUN",
        "SAT",
        "FRI",
        "THU",
        "WED",
        "TUES",
        "MON",
        "Months",
        "Days",
        "Hours",
        "Minutes",
        "Other_"
      ]
    },
    "BedType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "BedType_Enum"
      },
      "description": "The type(s) of sleeping option(s) in a guest accommodation.",
      "properties": {
        "value": {
          "$ref": "#/definitions/BedType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "BedType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "BedType_Enum"
      },
      "description": "The type(s) of sleeping option(s) in a guest accommodation.",
      "type": "string",
      "enum": [
        "Dorm bed",
        "Double/full",
        "Futon",
        "King",
        "Murphy bed",
        "Queen",
        "Run of the house",
        "Sofa bed",
        "Tatami mats",
        "Twin/single",
        "Water bed",
        "Other_"
      ]
    },
    "RoomLocation_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "RoomLocation_Enum"
      },
      "description": "Specifies a hotel room location.",
      "properties": {
        "value": {
          "$ref": "#/definitions/RoomLocation_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "RoomLocation_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "RoomLocation_Enum"
      },
      "description": "Specifies a hotel room location.",
      "type": "string",
      "enum": [
        "Annex room",
        "Away from the elevator",
        "Back of building",
        "Concierge floor",
        "Corner",
        "East",
        "Executive floor",
        "Frequent guest floor",
        "Front of building",
        "Ground floor",
        "Ground floor inside access",
        "Ground floor outside access",
        "High floor",
        "Lobby level",
        "Low floor",
        "Main building",
        "Near stairs",
        "Near the elevator",
        "North",
        "Poolside",
        "Quiet room",
        "South",
        "Top floor",
        "Tower room",
        "West",
        "Wing room",
        "Other_"
      ]
    },
    "DisabilityFeature_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "DisabilityFeature_Enum"
      },
      "description": "Specifies information about a facility, amenity or service that is relevant to people with a disability.",
      "properties": {
        "value": {
          "$ref": "#/definitions/DisabilityFeature_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "DisabilityFeature_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "DisabilityFeature_Enum"
      },
      "description": "Specifies information about a facility, amenity or service that is relevant to people with a disability.",
      "type": "string",
      "enum": [
        "Accessibility to goods and services",
        "Accessible baths",
        "Accessible entrance",
        "Accessible parking",
        "Accessible platform lifts available",
        "Accessible rooms",
        "Accessible self parking available",
        "Accessible van parking",
        "Accommodations have bath in bedroom",
        "Adapted room doors",
        "Adjustable height hand-held shower wand",
        "Americans with Disabilities Act (ADA) compliance",
        "Assistive listening devices for meetings upon request",
        "Audible emergency alarm for sight impaired guest",
        "Bathroom doors in inches",
        "Bathroom doors open outwards",
        "Bathroom vanity in guest rooms for wheelchair user\u0027s height",
        "Bathtub grab bars",
        "Bathtub seat",
        "Bed types of wheelchair accessible rooms",
        "Bedroom wheelchair access",
        "Benches in locker rooms.",
        "Braille signage provided",
        "Braille/large print literature",
        "Business center  is wheelchair accessible",
        "Closed caption TV",
        "Closet rods in guest rooms for disabled person height",
        "Complementary accessible transportation with advanced notice",
        "Complies with Local/State/Federal laws for disabled",
        "Concierge desk is wheelchair accessible",
        "Describe in detail how your kitchen is accessible.",
        "Does hotel have accessible parking?",
        "Door width in inches",
        "Drinking fountains accessible",
        "Elevator access to all levels",
        "Elevator near accessible rooms",
        "Elevators equipped for accessibility",
        "Elevators have Braille Instructions",
        "Emergency cord/button system in bathroom",
        "Emergency cord/button system in bedroom",
        "Emergency exit signs in Braille",
        "Emergency info in Braille",
        "Emergency instructions in pictorial form",
        "Emergeny procedures for people with disabilites",
        "Exercise facility is wheelchair accessible",
        "Facilities for people with hearing impairment only",
        "Facilities for people with vision impairment only",
        "Feather free bedding/pillows available",
        "Flashing door knocker available",
        "Flat terrain between parking and entrance",
        "Food service lines accessible",
        "Grab bars in bathroom",
        "Guest rooms and access routes are accessible",
        "Hearing impaired services",
        "Hearing induction loop system installed",
        "Height from ground of deadbolt in guest room",
        "Height from ground of elevator external buttons",
        "Height from ground of elevator internal buttons",
        "Height from ground of elevator internal handrails",
        "Height from ground of guest bed including mattress",
        "Height from ground of thermostat in guest room",
        "Height from ground to light switches in bathroom",
        "Height from ground to light switches in guest room",
        "Height from ground to peephole in guest room door",
        "Height of bathroom basin",
        "Height of bathroom toilet seat",
        "Height of controls at highest operable part for bath",
        "Height of controls at highest operable part for roll-in shower",
        "Height of deadbolt in guest room (in feet)",
        "Height of deadbolt in guest room (in Inches)",
        "Height of light switches in guest rooms (feet)",
        "Height of light switches in guest rooms (inches)",
        "Height of non-slip handrails adjacent to bath",
        "Height of non-slip handrails adjacent to bathroom toilet",
        "Height of non-slip handrails in shower area",
        "Height of peephole in guest room (in feet)",
        "Height of peephole in guest room (in inches)",
        "Height of thermostat in guest room (in feet)",
        "Height of thermostat in guest room (in inches)",
        "Hotel entrance is accessible",
        "Hotel restaurant is wheelchair accessible",
        "Impairment aids available",
        "Length/depth of clear floor space in front of bath",
        "Length/depth of clear floor space in front of guest bathroom toilet",
        "Lever handles on guest room doors",
        "Light switches in guest rooms for wheelchair user\u0027s height",
        "List available room types for disabled persons- 8 fields",
        "Locker rooms accessible",
        "Lower level seating required",
        "Lowered electrical outlets",
        "Lowered night guards on guest room doors",
        "Number of accessible meeting rooms",
        "Number of accessible rooms with standard tub",
        "Number of each room type equipped for disabled persons- 8 fields",
        "Number of roll-in showers available",
        "Number of rooms with Braille",
        "Number of rooms with wheelchair accessible showers",
        "Number of wheelchair accessible rooms",
        "Other services for persons with disabilities",
        "Passenger has meet and assist requirement",
        "Passenger has oxygen equipment",
        "Pool is wheelchair accessible",
        "Portable bathtub seats",
        "Public areas wheelchair accessible",
        "Public telephones accessible",
        "Raised toilet seat with grab bars",
        "Ramp access",
        "Registration desk is wheelchair accessible",
        "Restaurant/bar menus available in 14pt print",
        "Restaurant/bar menus available in Braille",
        "Restroom facilities accessible",
        "Roll-in shower area with bathroom seat",
        "Roll-in shower available",
        "Route from accessible public entrance to business center is accessible",
        "Route from accessible public entrance to exercise facility is accessible",
        "Route from accessible public entrance to meeting rooms is accessible",
        "Route from accessible public entrance to pool is accessible",
        "Route from accessible public entrance to registration area is accessible",
        "Route from accessible public entrance to restaurant is accessible",
        "Route from accessible public entrance to spa is accessible",
        "Safety bars in shower",
        "Sales and service counters accessible",
        "Service animals allowed on property for people with disabilities",
        "Service dogs allowed",
        "Special needs menus",
        "Staff proficient in sign language",
        "Staff trained in service to disabled guests",
        "Steps/staircases have color markings",
        "Steps/staircases have handrails",
        "Subtitles/closed captions available on TV",
        "Tactile/14pt print signage throughout hotel",
        "Telephone for hearing impaired",
        "Television amplifier",
        "Toilet seat in guest rooms for disabled person",
        "TTY/TTD compatible",
        "Van accessible parking in self parking",
        "Viabrating alarm available",
        "Vibrating pillows available",
        "Visual emergency alarm for hearing impaired guest",
        "Walk-in shower",
        "What room types have wheel-in showers? (free form stringbox)",
        "Wheelchair accessible elevators",
        "Wheelchair lift required",
        "Wheelchair, passenger has own chair, buses",
        "Wheelchair, passenger has own chair, trains",
        "Wheelchair, passenger requires station wheelchair",
        "Wheelchairs available",
        "Which floors have accessible rooms",
        "Wide corridors",
        "Wide entrance",
        "Wide restaurant entrance",
        "Width/diameter of clear floor space at main hotel entrance",
        "Width/diameter of clear floor space at main restaurant entrance",
        "Width/diameter of clear floor space in front of bath",
        "Width/diameter of clear floor space in front of guest bathroom toilet",
        "Width/diameter of clear opening space at bathroom door",
        "Width/diameter of clear opening space at bedroom door",
        "Width/diameter of elevator clear door opening space",
        "Width/diameter of main corridors",
        "Width/diameter of wheelchair turning space in bathroom",
        "Width/diameter of wheelchair turning space in bedroom",
        "Width/diameter of wheelchair turning space in lobby/reception area",
        "Other_"
      ]
    },
    "RecreationService_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "RecreationService_Enum"
      },
      "description": "Describes the recreational activities available to a guest which may or may not be operated by or located at the hotel.",
      "properties": {
        "value": {
          "$ref": "#/definitions/RecreationService_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "RecreationService_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "RecreationService_Enum"
      },
      "description": "Describes the recreational activities available to a guest which may or may not be operated by or located at the hotel.",
      "type": "string",
      "enum": [
        "Animal watching",
        "Antique shopping",
        "Archery",
        "Badminton court",
        "Baseball diamond",
        "Basketball court",
        "Beach",
        "Bike rental",
        "Bike trail",
        "Billiards",
        "Bird watching",
        "Boat tours",
        "Boating",
        "Bocce court",
        "Bowling alley",
        "Boxing",
        "Camping",
        "Canoeing",
        "Children\u0027s pool",
        "Children\u0027s program",
        "Children\u0027s program, onsite",
        "Cricket pitch",
        "Cross country skiing",
        "Dancing",
        "Dart board",
        "Direct access to a beach",
        "Diving",
        "Dog racing",
        "Downhill skiing",
        "Driving range",
        "Extensive health club",
        "Fishing",
        "Fitness center",
        "Fly fishing",
        "Football field",
        "Gambling",
        "Garden",
        "Golf",
        "Golf location (onsite/nearby)",
        "Health club",
        "Helicopter/airplane sightseeing",
        "Hiking trail",
        "Horse racing",
        "Horseback riding",
        "Hot tub",
        "Hunting",
        "Ice skating",
        "Indoor pool",
        "Indoor tennis courts",
        "Indoor/outdoor connecting pool",
        "Jet-ski",
        "Jogging trail",
        "Karaoke",
        "Kayaking",
        "Kids beach club",
        "Kids equestrian club",
        "Kids golf academy",
        "Lake",
        "Limited health club",
        "Massage services",
        "Miniature golf",
        "Mountain biking trail",
        "Mountain climbing",
        "Museum/gallery",
        "Nature preserve trail",
        "Nightclub",
        "Ocean",
        "Outdoor pool",
        "Outdoor tennis courts",
        "Outlet shopping",
        "Paddle court",
        "Parasailing",
        "Playground",
        "Polo",
        "Pool",
        "Putt putt golf",
        "Racquetball court",
        "River",
        "River rafting",
        "Rock climbing",
        "Safari",
        "Sailing",
        "Sauna",
        "Scuba diving",
        "Shopping",
        "Sightseeing tours",
        "Skating rink",
        "Skeet shooting",
        "Ski in/out facilities",
        "Skydiving",
        "Snorkeling",
        "Snow boarding",
        "Snow mobiling",
        "Snow skiing",
        "Soccer field",
        "Solarium",
        "Spa facility",
        "Sports court",
        "Sports events",
        "Squash court",
        "Steam bath",
        "Sun tanning bed",
        "Sunbathing",
        "Surfing",
        "Table tennis",
        "Teen programs",
        "Tennis court",
        "Tennis professional",
        "Theatre",
        "Tubing",
        "Upscale shopping",
        "Velodrome",
        "Volleyball",
        "Walking track",
        "Water activities",
        "Water-skiing",
        "Weightlifting",
        "Whirlpool",
        "Windsurfing",
        "Wine tasting",
        "Winter sports",
        "Wrestling",
        "Other_"
      ]
    },
    "SecurityFeature_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "SecurityFeature_Enum"
      },
      "description": "Identifies security features of the services, meeting rooms, guest rooms, and restaurants of a property.",
      "properties": {
        "value": {
          "$ref": "#/definitions/SecurityFeature_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "SecurityFeature_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "SecurityFeature_Enum"
      },
      "description": "Identifies security features of the services, meeting rooms, guest rooms, and restaurants of a property.",
      "type": "string",
      "enum": [
        "2nd lock on guest doors",
        "Audible alarm smoke detectors in guest rooms",
        "Audible alarms in hallways",
        "Audible alarms in public areas",
        "Auto link to fire station",
        "Automated External Defibrillator (AED) on-site",
        "Building meets all current local, state and country building codes",
        "Carbon monoxide detector",
        "Complies with Local/State/Federal fire laws",
        "Connecting doors have deadbolts",
        "Dead bolts on guest room doors",
        "Electronic room key",
        "Elevator auto recall",
        "Emergency back-up generators",
        "Emergency evacuation plan",
        "Emergency exits on each floor",
        "Emergency info in room",
        "Emergency lighting",
        "Evacuation drills",
        "Exterior doors (except lobby entrance) require key access at night",
        "FEMA approved",
        "Fire extinguishers",
        "Fire extinguishers in hallways",
        "Fire extinguishers in public areas",
        "First aid available",
        "Guest room doors self-closing",
        "Hard wired smoke detectors",
        "Health club facilities (pool/gym) require key access for entrance",
        "Hours security",
        "If no 24 hour security, what are the hours?",
        "Lighted parking area",
        "Multiple exits on each floor",
        "Patrolled parking area",
        "Private security available",
        "Property has elevators",
        "Public address system",
        "Room access through exterior corridor",
        "Room access through interior corridor",
        "Room accessible through balcony sliding glass doors",
        "Room windows open",
        "Safety chains on guest doors",
        "Secondary locks on room windows",
        "Secondary locks on sliding glass doors",
        "Secured floors",
        "Security",
        "Security 24 hours/day",
        "Security escorts available on request",
        "Smoke detector in guest rooms",
        "Smoke detector in hallways",
        "Smoke detector in public areas",
        "Sprinklers in guest rooms",
        "Sprinklers in hallways",
        "Sprinklers in public areas",
        "Staff Red Cross certified in CPR",
        "Staff trained in Automated External Defibrillator (AED) usage",
        "Staff trained in CPR",
        "Staff trained in duplicate key issue",
        "Staff trained in first aid",
        "Swingbolt lock",
        "Ventilated stair wells",
        "Video cameras at entrance",
        "Video cameras in public areas",
        "Video surveillance monitored 24 hrs a day",
        "Video surveillance of parking",
        "Video surveillance recorded 24 hrs a day",
        "Viewports in guest room doors",
        "VIP Security",
        "Visual alarm in guest rooms",
        "Visual alarms in hallways",
        "Visual alarms in public areas",
        "Other_"
      ]
    },
    "Gender_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "Gender_Enum"
      },
      "type": "string",
      "enum": [
        "Male",
        "Female",
        "Unknown"
      ]
    },
    "MaritalStatus_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "MaritalStatus_Enum"
      },
      "description": "The marital status of a person.",
      "type": "string",
      "enum": [
        "Annulled",
        "Co-habiting",
        "Divorced",
        "Engaged",
        "Married",
        "Separated",
        "Single",
        "Widowed",
        "Unknown"
      ]
    },
    "Status_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "Status_Enum"
      },
      "description": "The status condition.",
      "properties": {
        "value": {
          "$ref": "#/definitions/Status_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "Status_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "Status_Enum"
      },
      "description": "The status condition.",
      "type": "string",
      "enum": [
        "Complete",
        "Incomplete",
        "Not processed",
        "Unknown",
        "Other_"
      ]
    },
    "ErrorWarningType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "ErrorWarningType_Enum"
      },
      "description": "Tthe category of error or warning.",
      "properties": {
        "value": {
          "$ref": "#/definitions/ErrorWarningType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "ErrorWarningType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "ErrorWarningType_Enum"
      },
      "description": "Tthe category of error or warning.",
      "type": "string",
      "enum": [
        "Advisory",
        "Application error",
        "Authentication",
        "Authentication timeout",
        "Authorization",
        "Business rule",
        "No implementation",
        "Processing exception",
        "Protocol violation",
        "Required field missing",
        "Unknown",
        "Other_"
      ]
    },
    "PhoneLocation_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PhoneLocation_Enum"
      },
      "description": "Where the phone is located.",
      "properties": {
        "value": {
          "$ref": "#/definitions/PhoneLocation_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "PhoneLocation_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PhoneLocation_Enum"
      },
      "description": "Where the phone is located.",
      "type": "string",
      "enum": [
        "Brand reservations office",
        "Central reservations office",
        "Home",
        "Managing company",
        "Mobile",
        "Office",
        "Property direct",
        "Property reservation Office",
        "Sales office",
        "Other_"
      ]
    },
    "PhoneUseType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PhoneUseType_Enum"
      },
      "properties": {
        "value": {
          "$ref": "#/definitions/PhoneUseType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "PhoneUseType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PhoneUseType_Enum"
      },
      "type": "string",
      "enum": [
        "Contact",
        "Daytime contact",
        "Emergency contact",
        "Evening contact",
        "Guest use",
        "Mobile",
        "Pickup contact",
        "Toll free number",
        "Travel arranger",
        "Other_"
      ]
    },
    "PhoneTechType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PhoneTechType_Enum"
      },
      "description": "Defines the technology associated with this phone number.",
      "properties": {
        "value": {
          "$ref": "#/definitions/PhoneTechType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "PhoneTechType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PhoneTechType_Enum"
      },
      "description": "Defines the technology associated with this phone number.",
      "type": "string",
      "enum": [
        "Voice",
        "Fax",
        "Pager",
        "TTY",
        "Other_"
      ]
    },
    "TimeUnit_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "TimeUnit_Enum"
      },
      "type": "string",
      "enum": [
        "Day",
        "Full duration",
        "Hour",
        "Minute",
        "Month",
        "Second",
        "Week",
        "Year"
      ]
    },
    "FeeType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "FeeType_Enum"
      },
      "description": "Describes the type of fee or tax.",
      "properties": {
        "value": {
          "$ref": "#/definitions/FeeType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "FeeType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "FeeType_Enum"
      },
      "description": "Describes the type of fee or tax.",
      "type": "string",
      "enum": [
        "Adult rollaway fee",
        "Application Fee",
        "Banquet service fee",
        "Beverage with alcohol",
        "Beverage without alcohol",
        "Child rollaway charge",
        "City hotel fee",
        "Crib fee",
        "Destination amenity fee",
        "Early checkout fee",
        "Exempt",
        "Express Handling Fee",
        "Extra child charge",
        "Extra person charge",
        "Food",
        "Local fee",
        "Maintenance fee",
        "Miscellaneous",
        "Package fee",
        "Pet sanitation fee",
        "Resort fee",
        "Rollaway fee",
        "Room service fee",
        "Service charge",
        "Standard",
        "Standard food and beverage gratuity",
        "State cost recovery fee",
        "Surcharge",
        "Tobacco",
        "Total surcharges",
        "Other_"
      ]
    },
    "TravelSector_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "TravelSector_Enum"
      },
      "description": "Specifies the travel sector.",
      "properties": {
        "value": {
          "$ref": "#/definitions/TravelSector_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "TravelSector_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "TravelSector_Enum"
      },
      "description": "Specifies the travel sector.",
      "type": "string",
      "enum": [
        "Air",
        "Car",
        "Cruise",
        "Excursion",
        "Ferry",
        "Golf",
        "Hotel",
        "Insurance",
        "Package option",
        "Rail",
        "Tour",
        "Other_"
      ]
    },
    "PaymentCardCode_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PaymentCardCode_Enum"
      },
      "description": "The 2 digit code that identifies the credit card.",
      "properties": {
        "value": {
          "$ref": "#/definitions/PaymentCardCode_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "PaymentCardCode_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PaymentCardCode_Enum"
      },
      "description": "The 2 digit code that identifies the credit card.",
      "type": "string",
      "enum": [
        "VI",
        "UP",
        "TP",
        "MC",
        "MA",
        "JC",
        "EC",
        "DS",
        "DN",
        "CB",
        "BL",
        "BC",
        "AX",
        "Other_"
      ]
    },
    "PaymentType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PaymentType_Enum"
      },
      "description": "Specifies a type of payment.",
      "properties": {
        "value": {
          "$ref": "#/definitions/PaymentType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "PaymentType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PaymentType_Enum"
      },
      "description": "Specifies a type of payment.",
      "type": "string",
      "enum": [
        "Air travel card",
        "Airline payment card",
        "Barter",
        "Business account",
        "Business check",
        "Cash",
        "Certified check",
        "Check",
        "Company name/address",
        "Corporate ID/CD number",
        "Coupon",
        "Credit card",
        "Debit card",
        "Deposit",
        "Direct bill",
        "Frequent guest number",
        "Frequent traveler number",
        "Guarantee to property",
        "Guest name/address",
        "Miscellaneous",
        "Miscellaneous charge order",
        "Mobile payment",
        "Money order",
        "None",
        "Override guarantee information",
        "Payment manager",
        "Payment service",
        "Personal check",
        "Pre-pay",
        "Redemption",
        "Special industry program",
        "Ticket",
        "Tour order",
        "Travel agency IATA number",
        "Travel agency name/address",
        "Traveler\u0027s check",
        "Virtual card ",
        "Voucher",
        "Wire payment",
        "Other_"
      ]
    },
    "CommunicationLocation_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "CommunicationLocation_Enum"
      },
      "description": "Specifies a location for communication.",
      "properties": {
        "value": {
          "$ref": "#/definitions/CommunicationLocation_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "CommunicationLocation_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "CommunicationLocation_Enum"
      },
      "description": "Specifies a location for communication.",
      "type": "string",
      "enum": [
        "Business",
        "Destination",
        "Home",
        "Other_"
      ]
    },
    "AddressUse_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "AddressUse_Enum"
      },
      "description": "Describes how an address is to be used.",
      "properties": {
        "value": {
          "$ref": "#/definitions/AddressUse_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "AddressUse_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "AddressUse_Enum"
      },
      "description": "Describes how an address is to be used.",
      "type": "string",
      "enum": [
        "Billing",
        "Chain",
        "Contact",
        "Credit card",
        "Delivery",
        "Deposit",
        "Mailing",
        "Physical",
        "Pre-opening office",
        "Other_"
      ]
    },
    "BookingChannel_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "BookingChannel_Enum"
      },
      "description": "Specifies a type of booking channel.",
      "properties": {
        "value": {
          "$ref": "#/definitions/BookingChannel_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "BookingChannel_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "BookingChannel_Enum"
      },
      "description": "Specifies a type of booking channel.",
      "type": "string",
      "enum": [
        "Agent",
        "Alternative distribution system (ADS)",
        "Central reservation system (CRS)",
        "Global distribution system (GDS)",
        "Internet",
        "Kiosk",
        "Property management system (PMS)",
        "Sales and catering system (SCS)",
        "Tour operator system (TOS)",
        "Other_"
      ]
    },
    "UnitOfMeasure_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "UnitOfMeasure_Enum"
      },
      "description": "The unit of measure in a code format. Refer to OpenTravel Code List Unit of Measure Code (UOM).",
      "type": "string",
      "enum": [
        "Miles",
        "Kilometers",
        "Meters",
        "Millimeters",
        "Centimeters",
        "Yards",
        "Feet",
        "Inches",
        "Pixels",
        "Block",
        "Megabytes",
        "Gigabytes",
        "Square feet",
        "Square meters",
        "Pounds",
        "Kilograms",
        "Square inch",
        "Square yard",
        "Acre",
        "Square millimeter",
        "Square centimeter",
        "Hectare",
        "Ounce",
        "Gram",
        "Gallons",
        "Liters",
        "Kilowatts",
        "Cubic meters"
      ]
    },
    "EmailAddressType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "EmailAddressType_Enum"
      },
      "description": "Specifies a type of email address.",
      "properties": {
        "value": {
          "$ref": "#/definitions/EmailAddressType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "EmailAddressType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "EmailAddressType_Enum"
      },
      "description": "Specifies a type of email address.",
      "type": "string",
      "enum": [
        "Business",
        "Listserve",
        "Managing company",
        "Personal",
        "Property",
        "Reservation office",
        "Sales office",
        "Other_"
      ]
    },
    "PositionAccuracy_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "PositionAccuracy_Enum"
      },
      "description": "Specifies the level of accuracy for the positon.",
      "type": "string",
      "enum": [
        "Zip9Code",
        "Zip7Code",
        "Zip5Code",
        "Street",
        "State",
        "Property",
        "Intersection",
        "Exact",
        "County",
        "Country",
        "City",
        "Block"
      ]
    },
    "DayOfWeek_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "DayOfWeek_Enum"
      },
      "description": "Day of the Week types.",
      "type": "string",
      "enum": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday",
        "Saturday",
        "Sunday"
      ]
    },
    "PaymentCardIssuer_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PaymentCardIssuer_Enum"
      },
      "description": "Source: OpenTravel",
      "properties": {
        "value": {
          "$ref": "#/definitions/PaymentCardIssuer_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "PaymentCardIssuer_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PaymentCardIssuer_Enum"
      },
      "description": "Source: OpenTravel",
      "type": "string",
      "enum": [
        "VISA",
        "USAirways",
        "UnitedAirlines",
        "StarwoodHotels",
        "SouthwestAirlines",
        "RitzCarlton",
        "Mastercard",
        "Mariott",
        "Hyatt",
        "Hilton",
        "Eurocard",
        "Disney",
        "DiscoverCard",
        "DeltaAirlines",
        "ContinentalAirlines",
        "Citibank",
        "Chase",
        "CapitalOne",
        "BritishAirways",
        "BankOfAmerica",
        "AmericanExpress",
        "Other_"
      ]
    },
    "AgeQualifyingCode_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "AgeQualifyingCode_Enum"
      },
      "description": "A code representing a business rule that determines the charges for a guest based upon age range (e.g. Adult, Child, Senior, Child With Adult, Child Without Adult). This attribute allows for an increase in rate by occupant class.\\nPerson age categories.\\nNote: Age categories  are typically used to qualify pricing and\\/or eligibility.",
      "properties": {
        "value": {
          "$ref": "#/definitions/AgeQualifyingCode_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "AgeQualifyingCode_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "AgeQualifyingCode_Enum"
      },
      "description": "A code representing a business rule that determines the charges for a guest based upon age range (e.g. Adult, Child, Senior, Child With Adult, Child Without Adult). This attribute allows for an increase in rate by occupant class.\\nPerson age categories.\\nNote: Age categories  are typically used to qualify pricing and\\/or eligibility.",
      "type": "string",
      "enum": [
        "Junior",
        "Under 10",
        "Younger driver",
        "Young driver",
        "Free adult",
        "Free child",
        "Additional occupant without adult",
        "Additional occupant with adult",
        "Senior",
        "Adult",
        "Teenager",
        "Child",
        "Infant",
        "Under 21",
        "Under 17",
        "Under 12",
        "Under 2",
        "Over 65",
        "Over 21",
        "Other_"
      ]
    },
    "Transportation_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "Transportation_Enum"
      },
      "description": "Type of tranportation: Air, Rail, Bus, Boat, Private Auto, Other.",
      "properties": {
        "value": {
          "$ref": "#/definitions/Transportation_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "Transportation_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "Transportation_Enum"
      },
      "description": "Type of tranportation: Air, Rail, Bus, Boat, Private Auto, Other.",
      "type": "string",
      "enum": [
        "Bicycle",
        "Boat",
        "Bus",
        "Cable car",
        "Car",
        "Carriage",
        "Courtesy car",
        "Helicopter",
        "Limousine",
        "Metro",
        "Monorail",
        "Motorbike",
        "Pack animal",
        "Plane",
        "Rental car",
        "Rickshaw",
        "Shuttle",
        "Subway",
        "Sedan chair",
        "Taxi",
        "Train",
        "Trolley",
        "Tube",
        "Walk",
        "Water taxi",
        "Express train",
        "Public",
        "Ferry",
        "Other_"
      ]
    },
    "RatePeriod_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "RatePeriod_Enum"
      },
      "description": "The RatePeriodSimpleType simple type defines a set of valid values for the type of rate that may be applied.  Typically rates differ based upon the duration, and the actual rate is then expressed in terms of the period of the rental.",
      "type": "string",
      "enum": [
        "Hourly",
        "Daily",
        "Weekly",
        "Monthly",
        "WeekendDay",
        "Other",
        "Package",
        "Bundle",
        "Total"
      ]
    },
    "ToFrom_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "ToFrom_Enum"
      },
      "description": "Used to indicate whether the context is to a facility or from a facility.",
      "type": "string",
      "enum": [
        "ToFacility",
        "FromFacility"
      ]
    },
    "TaxType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "TaxType_Enum"
      },
      "description": "Describes the type of fee or tax.",
      "properties": {
        "value": {
          "$ref": "#/definitions/TaxType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "TaxType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "TaxType_Enum"
      },
      "description": "Describes the type of fee or tax.",
      "type": "string",
      "enum": [
        "Assessment/license tax",
        "Bed tax",
        "City tax",
        "Convention tax",
        "Country tax",
        "County tax",
        "Energy tax",
        "Federal tax",
        "Food \u0026 beverage tax",
        "Goods and services tax (GST)",
        "Insurance Premium Tax",
        "Lodging tax",
        "National government tax",
        "Occupancy tax",
        "Room Tax",
        "Sales tax",
        "State tax",
        "Surplus Lines Tax",
        "Total tax",
        "Tourism tax",
        "Value Added Tax (VAT)",
        "Other_"
      ]
    },
    "ChargeUnit_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "ChargeUnit_Enum"
      },
      "description": "Source: Charge Type (CHG) OpenTravel codelist.",
      "properties": {
        "value": {
          "$ref": "#/definitions/ChargeUnit_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "ChargeUnit_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "ChargeUnit_Enum"
      },
      "description": "Source: Charge Type (CHG) OpenTravel codelist.",
      "type": "string",
      "enum": [
        "Per unit",
        "Per order",
        "Per tray",
        "Per dozen",
        "Per gallon",
        "Round trip",
        "Per room",
        "Per item",
        "Per rental",
        "Per person per night",
        "Per person per stay",
        "Per room per night",
        "Per room per stay",
        "Weekly",
        "Per occurance",
        "Half day",
        "Hourly",
        "Daily",
        "Per function",
        "Per minute",
        "First use",
        "Per person",
        "Unit",
        "Tray",
        "Stay",
        "Room",
        "Reservation/Booking",
        "Rental",
        "OverMinuteCharge",
        "Order",
        "OneWay",
        "OneTimeUse",
        "MinimumCharge",
        "MaximumCharge",
        "Item",
        "Gallon",
        "Complimentary",
        "AdditionsPerStay",
        "Other_"
      ]
    },
    "SegmentCategory_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "SegmentCategory_Enum"
      },
      "description": "Describes the segment type.",
      "properties": {
        "value": {
          "$ref": "#/definitions/SegmentCategory_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "SegmentCategory_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "SegmentCategory_Enum"
      },
      "description": "Describes the segment type.",
      "type": "string",
      "enum": [
        "Budget",
        "Deluxe",
        "Economy",
        "First Class",
        "Luxury",
        "Moderate",
        "Tourist",
        "Upscale",
        "Standard",
        "Midscale",
        "Quality",
        "Midscale without F\u0026B",
        "Upper upscale",
        "Other_"
      ]
    },
    "ReferencePoint_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "ReferencePoint_Enum"
      },
      "description": "Specifies a point of reference.",
      "properties": {
        "value": {
          "$ref": "#/definitions/ReferencePoint_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "ReferencePoint_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "ReferencePoint_Enum"
      },
      "description": "Specifies a point of reference.",
      "type": "string",
      "enum": [
        "Airport",
        "Amusement park",
        "Arena",
        "Bar",
        "Bay",
        "Beach",
        "Bus station",
        "City center",
        "Church",
        "Corporation",
        "Educational Institution",
        "Ferry station",
        "Financial district",
        "Financial institution",
        "Lake",
        "Landmark",
        "Library",
        "Marina",
        "Market",
        "Medical facility",
        "Metro/subway station",
        "Monument",
        "Museum",
        "Park",
        "Racetrack",
        "Restaurant",
        "River",
        "Shopping center",
        "Sports facility",
        "Synagogue",
        "Train station",
        "Zoo",
        "Other_"
      ]
    },
    "AdditionalDetailType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "AdditionalDetailType_Enum"
      },
      "description": "Identifies the type of detail being sent.",
      "properties": {
        "value": {
          "$ref": "#/definitions/AdditionalDetailType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "AdditionalDetailType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "AdditionalDetailType_Enum"
      },
      "description": "Identifies the type of detail being sent.",
      "type": "string",
      "enum": [
        "Advanced booking information",
        "Amenity information",
        "Areas served",
        "Booking guidelines",
        "Cancellation information",
        "Catering description",
        "Check in check out information",
        "Check-in policy",
        "Check-out policy",
        "Children information",
        "Commission information",
        "Contract/negotiated booking information",
        "Corporate booking information",
        "Cuisine description",
        "Customs information for material",
        "Deposit information",
        "Deposit policy for master account",
        "Deposit policy for reservations",
        "Driving directions",
        "Driving directions from the east",
        "Driving directions from the north",
        "Driving directions from the south",
        "Driving directions from the west",
        "Early checkout description",
        "Express check-in policy",
        "Express check-out policy",
        "Extended stay information",
        "Extra charge information",
        "Extra person information",
        "Facility restrictions",
        "Family plan description",
        "Food and beverage minimums for groups",
        "General meeting planning information",
        "Government booking policy",
        "Group booking information",
        "Group meeting planning information",
        "Guarantee information",
        "Inclusion information",
        "Last room availability description",
        "Late arrival information",
        "Late departure information",
        "Maximum stay information",
        "Meal plan description",
        "Meeting room description",
        "Minimum stay information",
        "Miscellaneous information",
        "Offsite facilities information",
        "Offsite recreational activities information",
        "Offsite services information",
        "Onsite facilities information",
        "Onsite recreational activities information",
        "Onsite services information",
        "Oversold policy description",
        "Package information",
        "Pet policy description",
        "Promotional information",
        "Property description",
        "Property location",
        "Rate description",
        "Rate disclaimer information",
        "Restaurant services",
        "Room decor description",
        "Room information",
        "Room type upgrade description",
        "Seasons",
        "Security information",
        "Service charge information",
        "Special events",
        "Special offers description",
        "Surcharge information",
        "Tax information",
        "Travel industry booking information",
        "Visa/travel requirement information",
        "Other_"
      ]
    },
    "InformationType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "InformationType_Enum"
      },
      "description": "Identifies the type of information being sent.",
      "properties": {
        "value": {
          "$ref": "#/definitions/InformationType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "InformationType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "InformationType_Enum"
      },
      "description": "Identifies the type of information being sent.",
      "type": "string",
      "enum": [
        "Address",
        "Advisory",
        "Alias name",
        "Amenities",
        "Attractions",
        "Awards",
        "Contact",
        "Corporate locations",
        "Description",
        "Descriptive content",
        "Dining",
        "Driving directions",
        "Facilities",
        "Geocodes",
        "Location",
        "Long name",
        "Marketing",
        "Pictures",
        "Policy",
        "Recreation",
        "Safety",
        "Services",
        "Short description",
        "Special instructions",
        "Transportation",
        "Other_"
      ]
    },
    "PictureCategory_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PictureCategory_Enum"
      },
      "description": "Specifies the category of the mulitmedia item.",
      "properties": {
        "value": {
          "$ref": "#/definitions/PictureCategory_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "PictureCategory_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "PictureCategory_Enum"
      },
      "description": "Specifies the category of the mulitmedia item.",
      "type": "string",
      "enum": [
        "Ballroom",
        "Bar/Lounge",
        "Basics",
        "Beach",
        "Business center",
        "Exterior view",
        "Golf course",
        "Guest room",
        "Guest room amenity",
        "Health club",
        "Hot news",
        "Lobby view",
        "Logo",
        "Map",
        "Meeting room",
        "Miscellaneous",
        "Pool view",
        "Promotional",
        "Property amenity",
        "Recreational facility",
        "Restaurant",
        "Spa",
        "Suite",
        "Other_"
      ]
    },
    "BasisType": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "BasisType"
      },
      "description": "Provides basis for how an amount was calculated.",
      "properties": {
        "value": {
          "$ref": "#/definitions/BasisType_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "BasisType_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "BasisType"
      },
      "description": "Provides basis for how an amount was calculated.",
      "type": "string",
      "enum": [
        "Days",
        "Entire",
        "First",
        "First and last",
        "Last",
        "Nights",
        "Other_"
      ]
    },
    "RatePlanType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "RatePlanType_Enum"
      },
      "description": "Note: Typically used for rate plans that may be published, e.g. have no qualifying criteria, or may be restricted or negotiated, e.g. has qualifying criteria for eligibility and\\/or has been negotiated between parties.",
      "properties": {
        "value": {
          "$ref": "#/definitions/RatePlanType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "RatePlanType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "RatePlanType_Enum"
      },
      "description": "Note: Typically used for rate plans that may be published, e.g. have no qualifying criteria, or may be restricted or negotiated, e.g. has qualifying criteria for eligibility and\\/or has been negotiated between parties.",
      "type": "string",
      "enum": [
        "Other_",
        "Weekly",
        "Weekend",
        "TravelIndustry",
        "TourWholesale",
        "SeniorCitizen",
        "RegularRack",
        "Published",
        "PromotionalPackageTour",
        "Promotional",
        "Package",
        "NonLastRoomAvailable",
        "Net",
        "Negotiated",
        "Multi-DayPackage",
        "Monthly",
        "Military",
        "LastRoomAvailable",
        "Group",
        "Government",
        "FamilyPlan",
        "DistressedInventory",
        "DayRate",
        "Corporate",
        "Convention",
        "Contract",
        "Consortia",
        "ClubConcierge",
        "Association",
        "Other_"
      ]
    },
    "GuestRoomInfo": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "GuestRoomInfo"
      },
      "description": "Identifies a property\u0027s accommodation\\/inventory types for which it is useful to specify a property-level count or availability status.",
      "properties": {
        "value": {
          "$ref": "#/definitions/GuestRoomInfo_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "GuestRoomInfo_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "GuestRoomInfo"
      },
      "description": "Identifies a property\u0027s accommodation\\/inventory types for which it is useful to specify a property-level count or availability status.",
      "type": "string",
      "enum": [
        "1 room cabin",
        "Accessible rooms",
        "Accommodations with balcony",
        "Adjoining rooms or suites",
        "Apartments",
        "Available rooms",
        "Available suites",
        "Buildings",
        "Bungalow",
        "Business class",
        "Business plan",
        "Cabin",
        "Classic",
        "Club levels",
        "Comfort",
        "Concierge levels",
        "Condos",
        "Connecting rooms or suites",
        "Cottage",
        "Deluxe",
        "Deluxe suite",
        "Double bedrooms",
        "Double double bedrooms",
        "Drive up rooms",
        "Economy",
        "Effeciency",
        "Executive floor",
        "Family/oversized accommodations",
        "First floor rooms",
        "Floors",
        "Jacuzzi Suite",
        "Junior suite",
        "King bedrooms",
        "King king bedrooms",
        "Lanai",
        "Large suite",
        "Loft",
        "Luxury",
        "Nonsmoking rooms",
        "Parlour",
        "Penthouses",
        "Premier",
        "Queen bedrooms",
        "Queen queen bedrooms",
        "Room",
        "Run of the house",
        "Separate floors for women",
        "Smoking rooms",
        "Standard",
        "Studios",
        "Suites",
        "Superior",
        "Total available rooms and suites",
        "Total rooms",
        "Twin bedrooms",
        "Twin twin bedrooms",
        "Villa",
        "Other_"
      ]
    },
    "RoomViewType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "RoomViewType_Enum"
      },
      "description": "Describes room view types",
      "properties": {
        "value": {
          "$ref": "#/definitions/RoomViewType_Enum_Base"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "RoomViewType_Enum_Base": {
      "x-otm-entity": {
        "EntityType": "EnumerationOpen",
        "EntityName": "RoomViewType_Enum"
      },
      "description": "Describes room view types",
      "type": "string",
      "enum": [
        "Annex room",
        "Ground floor outside access",
        "Ground floor inside access",
        "Executive floor",
        "Near stairs",
        "Main building",
        "Wing room",
        "Tower room",
        "Quiet room",
        "Poolside",
        "Other_"
      ]
    },
    "VehicleCategory_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "VehicleCategory_Enum"
      },
      "description": "Size category of ground transportation vehicle - extracted from 1.0 SIZ code table",
      "type": "string",
      "enum": [
        "Luxury",
        "Premium",
        "Minivan",
        "12 passenger van",
        "Stretch",
        "Car",
        "Minibus",
        "SUV"
      ]
    },
    "DriverID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Driver"
      },
      "description": "Driver information.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "number": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "DriverRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Driver": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Driver"
      },
      "description": "Driver information.",
      "allOf": [
        {
          "$ref": "#/definitions/DriverID"
        },
        {
          "properties": {
            "PersonNameSummary": {
              "description": "Assigned Type: ota2-0400:PersonName_Summary",
              "$ref": "#/definitions/PersonName"
            },
            "TelephoneDetail": {
              "description": "Assigned Type: ota2-0400:Telephone_Detail_List",
              "$ref": "#/definitions/TelephoneDetail"
            },
            "SpokenLanguages": {
              "description": "Assigned Type: pgt-0200:LanguagesSpoken",
              "$ref": "#/definitions/LanguagesSpoken"
            },
            "Review": {
              "description": "Assigned Type: pgt-0200:Review",
              "$ref": "#/definitions/Review"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          },
          "required": [
            "PersonNameSummary"
          ]
        }
      ]
    },
    "LanguageInfo": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "LanguageInfo"
      },
      "description": "Language details pertaining to the service.",
      "properties": {
        "value": {
          "type": "string"
        },
        "primaryLanguageInd": {
          "description": "If true, this is the primary language spoken by the driver or the guide.",
          "type": "boolean"
        },
        "requestedInd": {
          "description": "If true, it is preferred that the driver speak this language.",
          "type": "boolean"
        }
      }
    },
    "Review": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Review"
      },
      "description": "Review\u0027s score from 0 to 5, where 5 is the best.",
      "properties": {
        "text": {
          "description": "Assigned Type: ota2-0400:Text",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "5: Excellent"
              }
            ]
          },
          "type": "string",
          "maxLength": 4096
        },
        "language": {
          "description": "The language in which the text is provided.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: LanguageGroup"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "en"
              }
            ]
          },
          "type": "string"
        },
        "textFormat": {
          "description": "Indicates the format of text used in the description e.g. unformatted  or html.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: FormattedTextTextType_TextFormat"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "TextFormat"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Sample Formatted text"
              }
            ]
          },
          "$ref": "#/definitions/TextFormatType"
        }
      }
    },
    "FlightInfo": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "FlightInfo"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "flightDate": {
          "description": "Assigned Type: ota2-0400:DateTimeLocal",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "2017-01-20T15:20:00"
              }
            ]
          },
          "type": "string",
          "format": "date-time",
          "pattern": ".+T[^Z+\\-]+"
        },
        "TransportNumber": {
          "description": "Assigned Type: prod-0400:TransportNumber",
          "$ref": "#/definitions/TransportNumber"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "LanguagesSpoken": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "LanguagesSpoken"
      },
      "description": "One or more languages spoken by a person. Query: could the value be a text list of the language names, with \u0027best practice\u0027 having the primary language alwys first? e,g English French Spanish. Or is it sufficient for the relevant api to access and display it as required?",
      "properties": {
        "primaryLanguage": {
          "description": "Assigned Type: ota2-0400:LanguageCode",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "en"
              }
            ]
          },
          "type": "string"
        },
        "alternateLanguages": {
          "description": "Assigned Type: ota2-0400:Languages",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "es fr de"
              }
            ]
          },
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "VehicleID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Vehicle"
      },
      "description": "Defines a specific vehicle (make, model, seats etc.)",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": ""
              }
            ]
          },
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "VehicleRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Vehicle": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Vehicle"
      },
      "description": "Defines a specific vehicle (make, model, seats etc.)",
      "allOf": [
        {
          "$ref": "#/definitions/VehicleID"
        },
        {
          "properties": {
            "seats": {
              "description": "The maximum seats in the vehicle - usually This figure is based on the quantity of seat belts in the vehicle.",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "4"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "category": {
              "description": "e.g. car, van, limo etc.",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "Premium"
                  }
                ]
              },
              "$ref": "#/definitions/VehicleCategory_Enum"
            },
            "bkgClass": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "Business"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "modelYear": {
              "description": "The year the vehicle was registered",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "2016"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "Description": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Description"
              },
              "maxItems": 5
            },
            "Luggage": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Luggage"
              },
              "maxItems": 5
            },
            "Amenity": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Amenity"
              },
              "maxItems": 10
            },
            "ExtensionPoint_Summary": {
              "$ref": "#/definitions/ExtensionPoint_Summary"
            }
          }
        }
      ]
    },
    "VehicleDetail": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Vehicle"
      },
      "description": "Defines a specific vehicle (make, model, seats etc.)",
      "allOf": [
        {
          "$ref": "#/definitions/Vehicle"
        },
        {
          "properties": {
            "make": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "equivalents": [
                  {
                    "context": "pgt",
                    "value": "Town Car"
                  }
                ],
                "examples": [
                  {
                    "context": "pgt",
                    "value": "Lincoln"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "model": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "equivalents": [
                  {
                    "context": "pgt",
                    "value": ""
                  }
                ],
                "examples": [
                  {
                    "context": "pgt",
                    "value": "Suburban"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "year": {
              "description": "The model year of the vehicle.\\nQuery: should this be a yyyy pattern?",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "2016"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "maxPassengers": {
              "description": "The maximum passengers allowed in  the vehicle.",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "7"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "maxAccessible": {
              "description": "The maximum accessible capacity of the vehicle.",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "2"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "color": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "Blue"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "Description": {
              "description": "Assigned Type: ota2-0400:TextFree",
              "$ref": "#/definitions/TextFree"
            },
            "LicensePlate": {
              "description": "Assigned Type: pgt-0200:LicensePlate",
              "$ref": "#/definitions/LicensePlate"
            },
            "disabilityVehicleInd": {
              "description": "If true, this vehicle is disability compatible.",
              "type": "boolean"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "Operator": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Operator"
      },
      "description": "The company or driver operating a ground service.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "Description": {
          "description": "Assigned Type: ota2-0400:Description",
          "$ref": "#/definitions/Description"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "OperatorCompany": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Operator"
      },
      "description": "The company or driver operating a ground service.",
      "allOf": [
        {
          "$ref": "#/definitions/Operator"
        },
        {
          "properties": {
            "CompanyName": {
              "description": "Assigned Type: ota2-0400:CompanyName",
              "$ref": "#/definitions/CompanyName"
            },
            "URL": {
              "description": "Assigned Type: ota2-0400:URL",
              "$ref": "#/definitions/URL"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "LicensePlate": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "LicensePlate"
      },
      "description": "Offical vehicle identification.",
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 32
        },
        "region": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "TN"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "category": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "Standard"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        }
      }
    },
    "PassengerPrefs": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "PassengerPrefs"
      },
      "description": "Passenger preferences including service type, physically challenged vehicle and other vehicle preferences.",
      "properties": {
        "maximumPassengers": {
          "description": "The maximum quantity of passengers this vehicle can accommodate. NOTE: This figure is based on the quantity of seat belts in the vehicle.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "3"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "maximumBaggage": {
          "description": "The (recommended) maximum baggage that can be stored in the vehicle\u0027s trunk.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "3"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "shortDescription": {
          "description": "Assigned Type: ota2-0400:StringText",
          "type": "string",
          "maxLength": 4096
        },
        "notes": {
          "description": "Assigned Type: ota2-0400:StringText",
          "type": "string",
          "maxLength": 4096
        },
        "transferRequests": {
          "description": "One or more requests, e.g. Child Seat",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "ChildSeat GuideDog FuelEfficientVehicle PetFriendly"
              }
            ]
          },
          "$ref": "#/definitions/TransferRequests"
        }
      }
    },
    "GroundService_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "GroundService_Enum"
      },
      "description": "Type of gound service e.g. Private, Shared or Hourly",
      "type": "string",
      "enum": [
        "Private",
        "Shared",
        "Hourly"
      ]
    },
    "CustomerCount": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "CustomerCount"
      },
      "description": "A count of the number of customers in an age band.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "ageQualifyingCode": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "A"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "Adult"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "quantity": {
          "description": "The number of customers in this age band in the party.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "2"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "AdditionalPassengers": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "CustomerCount"
      },
      "description": "A count of the number of customers in an age band.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "ageQualifyingCode": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "A"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "Adult"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "quantity": {
          "description": "The number of customers in this age band in the party.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "2"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "CustomerCountDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "CustomerCount"
      },
      "description": "A count of the number of customers in an age band.",
      "allOf": [
        {
          "$ref": "#/definitions/CustomerCount"
        },
        {
          "properties": {
            "minAge": {
              "description": "The minimum age for this age band of customer.",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "16"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "maxAge": {
              "description": "The maximum age for this age band of customer .",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "120"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "AdditionalPassengersDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "CustomerCount"
      },
      "description": "A count of the number of customers in an age band.",
      "allOf": [
        {
          "$ref": "#/definitions/CustomerCount"
        },
        {
          "properties": {
            "minAge": {
              "description": "The minimum age for this age band of customer.",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "16"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "maxAge": {
              "description": "The maximum age for this age band of customer .",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "pgt",
                    "value": "120"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "Luggage": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Luggage"
      },
      "description": "Quantity of luggage.",
      "properties": {
        "value": {
          "type": "integer",
          "format": "int32"
        },
        "luggageType": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "Medium"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "remark": {
          "description": "Assigned Type: ota2-0400:TextFree",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string",
          "maxLength": 4096
        },
        "language": {
          "description": "Language of the text.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: LanguageGroup"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "en"
              }
            ]
          },
          "type": "string"
        }
      }
    },
    "GroundServiceQuery": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "GroundServiceQuery"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Departure": {
          "description": "Assigned Type: prod-0400:Departure",
          "$ref": "#/definitions/Departure"
        },
        "Arrival": {
          "description": "Assigned Type: prod-0400:Arrival",
          "$ref": "#/definitions/Arrival"
        },
        "CustomerCount": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CustomerCount"
          },
          "maxItems": 5
        },
        "TransportTransfer": {
          "description": "Assigned Type: pgt-0200:Transport_Transfer",
          "$ref": "#/definitions/TransportTransfer"
        },
        "Luggage": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Luggage"
          },
          "maxItems": 3
        },
        "PassengerPrefs": {
          "description": "Assigned Type: pgt-0200:PassengerPrefs",
          "$ref": "#/definitions/PassengerPrefs"
        },
        "Gratuity": {
          "description": "Assigned Type: order-0300:Gratuity_Summary",
          "$ref": "#/definitions/Gratuity"
        },
        "MeetAndGreet": {
          "description": "Assigned Type: pgt-0200:MeetAndGreet",
          "$ref": "#/definitions/MeetAndGreet"
        },
        "LanguageInfo": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LanguageInfo"
          },
          "maxItems": 2
        },
        "Comments": {
          "description": "Assigned Type: ota2-0400:Text",
          "$ref": "#/definitions/Text"
        },
        "ProductAncillary": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductAncillary"
          },
          "maxItems": 10
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "Departure",
        "Arrival"
      ],
      "discriminator": "@type"
    },
    "MeetAndGreet": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "MeetAndGreet"
      },
      "description": "Details of a meet and greet service.",
      "properties": {
        "greetingSignName": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "pgt",
                "value": "John Smith"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "complimentaryInd": {
          "description": "When true, this service is complimentary.",
          "type": "boolean"
        }
      }
    },
    "TransferRequests_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "TransferRequests_Enum"
      },
      "description": "Additional equirements for a transfer, e.g. child seat or meet and greet service.",
      "type": "string",
      "enum": [
        "GuideDog",
        "Multilingual",
        "Guide",
        "UnaccompaniedMinor",
        "PersonalGreeter",
        "MeetAndGreet",
        "GreetingSign",
        "FuelEfficientVehicle",
        "PetFriendly",
        "ChildSeat",
        "FlightMonitoring",
        "BabyStroller"
      ]
    },
    "DeadlineDropTime_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "DeadlineDropTime_Enum"
      },
      "description": "An enumerated type indicating when the deadline drop time goes into effect.",
      "type": "string",
      "enum": [
        "BeforeArrival",
        "AfterBooking",
        "AfterConfirmation",
        "AfterArrival",
        "AfterDeparture",
        "BeforeDeparture"
      ]
    },
    "ProductGround": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "Segment": {
              "description": "Assigned Type: prod-0400:Segment",
              "$ref": "#/definitions/SegmentID"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          }
        }
      ]
    },
    "AssociatedProductGround": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "Segment": {
              "description": "Assigned Type: prod-0400:Segment",
              "$ref": "#/definitions/SegmentID"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          }
        }
      ]
    },
    "TransportTransfer": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Transport"
      },
      "description": "Details of a method of transport. Choice facets for Air \u0026 Rail to be defined.",
      "allOf": [
        {
          "$ref": "#/definitions/Transport"
        },
        {
          "properties": {
            "type": {
              "description": "Identifies the type of service e.g. Private, Shared or Hourly.",
              "x-otm-annotations": {
                "equivalents": [
                  {
                    "context": "pgt",
                    "value": ""
                  }
                ],
                "examples": [
                  {
                    "context": "pgt",
                    "value": "Private"
                  }
                ]
              },
              "$ref": "#/definitions/GroundService_Enum"
            },
            "ClassOfService": {
              "description": "Assigned Type: prod-0400:ClassOfService",
              "$ref": "#/definitions/ClassOfService"
            },
            "PassengerPrefs": {
              "description": "Assigned Type: pgt-0200:PassengerPrefs",
              "$ref": "#/definitions/PassengerPrefs"
            },
            "OperatorCompany": {
              "description": "Assigned Type: pgt-0200:Operator_Company",
              "$ref": "#/definitions/OperatorCompany"
            },
            "VehicleSummary": {
              "description": "Assigned Type: pgt-0200:Vehicle_Summary",
              "$ref": "#/definitions/Vehicle"
            },
            "DriverSummary": {
              "description": "Assigned Type: pgt-0200:Driver_Summary",
              "$ref": "#/definitions/Driver"
            },
            "LanguageInfo": {
              "description": "Assigned Type: pgt-0200:LanguageInfo",
              "$ref": "#/definitions/LanguageInfo"
            },
            "Comments": {
              "description": "Assigned Type: ota2-0400:TextFree",
              "$ref": "#/definitions/TextFree"
            },
            "ContactPerson": {
              "description": "Assigned Type: ota2-0400:ContactPerson",
              "$ref": "#/definitions/ContactPerson"
            },
            "OperationSchedule": {
              "description": "Assigned Type: ota2-0400:OperationSchedule",
              "$ref": "#/definitions/OperationSchedule"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "ProductQueriesGround": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "ProductQueries"
      },
      "allOf": [
        {
          "$ref": "#/definitions/ProductQueries"
        },
        {
          "properties": {
            "GroundServiceQuery": {
              "description": "Assigned Type: pgt-0200:GroundServiceQuery_Summary",
              "$ref": "#/definitions/GroundServiceQuery"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "JourneyID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Journey"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "JourneyRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Journey": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Journey"
      },
      "allOf": [
        {
          "$ref": "#/definitions/JourneyID"
        },
        {
          "properties": {
            "duration": {
              "type": "string"
            },
            "Segment": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SegmentID"
              },
              "maxItems": 6,
              "minItems": 1
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          },
          "required": [
            "duration",
            "Segment"
          ]
        }
      ]
    },
    "JourneyQueryProduct": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Journey"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "departureDateTime": {
          "description": "Date and time of the departure.",
          "type": "string"
        },
        "ArrivalPoint": {
          "description": "Assigned Type: prod-0400:ArrivalPoint",
          "$ref": "#/definitions/ArrivalPoint"
        },
        "DeparturePoint": {
          "description": "Assigned Type: prod-0400:DeparturePoint",
          "$ref": "#/definitions/DeparturePoint"
        },
        "TransportNumber": {
          "description": "Assigned Type: prod-0400:TransportNumber",
          "$ref": "#/definitions/TransportNumber"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "departureDateTime",
        "ArrivalPoint",
        "DeparturePoint"
      ],
      "discriminator": "@type"
    },
    "ProductID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "ProductRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "AssociatedProductID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "ProductRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Product": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/ProductID"
        },
        {
          "properties": {
            "AssociatedProductIdentifier": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/AssociatedProductID"
              },
              "maxItems": 100
            },
            "ExtensionPoint_Summary": {
              "$ref": "#/definitions/ExtensionPoint_Summary"
            }
          }
        }
      ]
    },
    "AssociatedProduct": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/ProductID"
        },
        {
          "properties": {
            "AssociatedProductIdentifier": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/AssociatedProductID"
              },
              "maxItems": 100
            },
            "ExtensionPoint_Summary": {
              "$ref": "#/definitions/ExtensionPoint_Summary"
            }
          }
        }
      ]
    },
    "ProductAncillary": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "Ancillary": {
              "description": "Assigned Type: ota2-0400:Ancillary",
              "$ref": "#/definitions/Ancillary"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          },
          "required": [
            "Ancillary"
          ]
        }
      ]
    },
    "AssociatedProductAncillary": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "Ancillary": {
              "description": "Assigned Type: ota2-0400:Ancillary",
              "$ref": "#/definitions/Ancillary"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          },
          "required": [
            "Ancillary"
          ]
        }
      ]
    },
    "ProductActivity": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "Activity": {
              "description": "Assigned Type: prod-0400:Activity",
              "$ref": "#/definitions/Activity"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          }
        }
      ]
    },
    "AssociatedProductActivity": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "Activity": {
              "description": "Assigned Type: prod-0400:Activity",
              "$ref": "#/definitions/Activity"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          }
        }
      ]
    },
    "ProductTransportation": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "Journey": {
              "description": "Assigned Type: prod-0400:Journey",
              "$ref": "#/definitions/JourneyID"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          }
        }
      ]
    },
    "AssociatedProductTransportation": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "Journey": {
              "description": "Assigned Type: prod-0400:Journey",
              "$ref": "#/definitions/JourneyID"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          }
        }
      ]
    },
    "ProductQueryAvailability": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "ProductQueries": {
          "description": "Assigned Type: prod-0400:ProductQueries",
          "$ref": "#/definitions/ProductQueries"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "ProductQueries"
      ],
      "discriminator": "@type"
    },
    "AssociatedProductQueryAvailability": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "ProductQueries": {
          "description": "Assigned Type: prod-0400:ProductQueries",
          "$ref": "#/definitions/ProductQueries"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "ProductQueries"
      ],
      "discriminator": "@type"
    },
    "Activity": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Activity"
      },
      "description": "A golf activity.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "start": {
          "description": "The start date and or time of the activity.",
          "type": "string",
          "format": "date-time"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type",
        "start"
      ],
      "discriminator": "@type"
    },
    "ClassOfService": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "ClassOfService"
      },
      "properties": {
        "count": {
          "description": "Number available for sale or that have been sold",
          "type": "integer",
          "format": "int32"
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        }
      },
      "required": [
        "code",
        "name"
      ]
    },
    "LocationPoint": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "LocationPoint"
      },
      "description": "TODO - this object needs to be reviewed and potentially reworked.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "kioskInd": {
          "type": "boolean"
        },
        "curbSideBaggageCheckInd": {
          "type": "boolean"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type",
        "code"
      ],
      "discriminator": "@type"
    },
    "ArrivalPoint": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "LocationPoint"
      },
      "description": "TODO - this object needs to be reviewed and potentially reworked.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "kioskInd": {
          "type": "boolean"
        },
        "curbSideBaggageCheckInd": {
          "type": "boolean"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type",
        "code"
      ],
      "discriminator": "@type"
    },
    "DeparturePoint": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "LocationPoint"
      },
      "description": "TODO - this object needs to be reviewed and potentially reworked.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "kioskInd": {
          "type": "boolean"
        },
        "curbSideBaggageCheckInd": {
          "type": "boolean"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type",
        "code"
      ],
      "discriminator": "@type"
    },
    "LocationPointDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "LocationPoint"
      },
      "description": "TODO - this object needs to be reviewed and potentially reworked.",
      "allOf": [
        {
          "$ref": "#/definitions/LocationPoint"
        },
        {
          "properties": {
            "openingTime": {
              "type": "string"
            },
            "closingTime": {
              "type": "string"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          },
          "required": [
            "openingTime",
            "closingTime"
          ]
        }
      ]
    },
    "ArrivalPointDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "LocationPoint"
      },
      "description": "TODO - this object needs to be reviewed and potentially reworked.",
      "allOf": [
        {
          "$ref": "#/definitions/LocationPoint"
        },
        {
          "properties": {
            "openingTime": {
              "type": "string"
            },
            "closingTime": {
              "type": "string"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          },
          "required": [
            "openingTime",
            "closingTime"
          ]
        }
      ]
    },
    "DeparturePointDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "LocationPoint"
      },
      "description": "TODO - this object needs to be reviewed and potentially reworked.",
      "allOf": [
        {
          "$ref": "#/definitions/LocationPoint"
        },
        {
          "properties": {
            "openingTime": {
              "type": "string"
            },
            "closingTime": {
              "type": "string"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          },
          "required": [
            "openingTime",
            "closingTime"
          ]
        }
      ]
    },
    "TransportNumber": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "TransportNumber"
      },
      "description": "A tiny string  \\nMinimum length of 0 and a maximum length of 32",
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 32
        },
        "carrier": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "operatingCarrier": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        }
      },
      "required": [
        "carrier"
      ]
    },
    "ProductQueries": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "ProductQueries"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "PriceModifiers": {
          "description": "Assigned Type: order-0300:PriceModifiers",
          "$ref": "#/definitions/PriceModifiers"
        },
        "LoyaltyProgram": {
          "description": "Assigned Type: ota2-0400:LoyaltyProgram",
          "$ref": "#/definitions/LoyaltyProgram"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "ProductQueriesProductQueriesTransportation": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "ProductQueries"
      },
      "allOf": [
        {
          "$ref": "#/definitions/ProductQueries"
        },
        {
          "properties": {
            "JourneyQueryProduct": {
              "description": "Assigned Type: prod-0400:Journey_Query_Product",
              "$ref": "#/definitions/JourneyQueryProduct"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "DepartureArrival": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DepartureArrival"
      },
      "description": "Describes a pickup, dropoff or intermediate stop point.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "dateTime": {
          "description": "Assigned Type: ota2-0400:DateTime",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "product",
                "value": "2016-11-28T14:14:00"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "LocationPointChoice": {
          "description": "Assigned Type: prod-0400:LocationPointChoice",
          "$ref": "#/definitions/LocationPointChoice"
        },
        "asDirectedInd": {
          "description": "If true, this location will be notified by the customer.",
          "type": "boolean"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Departure": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DepartureArrival"
      },
      "description": "Describes a pickup, dropoff or intermediate stop point.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "dateTime": {
          "description": "Assigned Type: ota2-0400:DateTime",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "product",
                "value": "2016-11-28T14:14:00"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "LocationPointChoice": {
          "description": "Assigned Type: prod-0400:LocationPointChoice",
          "$ref": "#/definitions/LocationPointChoice"
        },
        "asDirectedInd": {
          "description": "If true, this location will be notified by the customer.",
          "type": "boolean"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Arrival": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DepartureArrival"
      },
      "description": "Describes a pickup, dropoff or intermediate stop point.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "dateTime": {
          "description": "Assigned Type: ota2-0400:DateTime",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "product",
                "value": "2016-11-28T14:14:00"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "LocationPointChoice": {
          "description": "Assigned Type: prod-0400:LocationPointChoice",
          "$ref": "#/definitions/LocationPointChoice"
        },
        "asDirectedInd": {
          "description": "If true, this location will be notified by the customer.",
          "type": "boolean"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "DepartureArrivalDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DepartureArrival"
      },
      "description": "Describes a pickup, dropoff or intermediate stop point.",
      "allOf": [
        {
          "$ref": "#/definitions/DepartureArrival"
        },
        {
          "properties": {
            "openingTime": {
              "type": "string"
            },
            "closingTime": {
              "type": "string"
            },
            "TimeSpan": {
              "description": "Assigned Type: ota2-0400:TimeSpan",
              "$ref": "#/definitions/TimeSpan"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "DepartureDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DepartureArrival"
      },
      "description": "Describes a pickup, dropoff or intermediate stop point.",
      "allOf": [
        {
          "$ref": "#/definitions/DepartureArrival"
        },
        {
          "properties": {
            "openingTime": {
              "type": "string"
            },
            "closingTime": {
              "type": "string"
            },
            "TimeSpan": {
              "description": "Assigned Type: ota2-0400:TimeSpan",
              "$ref": "#/definitions/TimeSpan"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "ArrivalDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DepartureArrival"
      },
      "description": "Describes a pickup, dropoff or intermediate stop point.",
      "allOf": [
        {
          "$ref": "#/definitions/DepartureArrival"
        },
        {
          "properties": {
            "openingTime": {
              "type": "string"
            },
            "closingTime": {
              "type": "string"
            },
            "TimeSpan": {
              "description": "Assigned Type: ota2-0400:TimeSpan",
              "$ref": "#/definitions/TimeSpan"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "LocationPointChoice": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "LocationPointChoice"
      },
      "description": "Provides address details for a location. Comare with JourneyPoint",
      "properties": {
        "@type": {
          "type": "string"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        },
        "Location": {
          "description": "Assigned Type: ota2-0400:Location",
          "$ref": "#/definitions/Location"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "LocationPointChoiceAddress": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "LocationPointChoice"
      },
      "description": "Provides address details for a location. Comare with JourneyPoint",
      "allOf": [
        {
          "$ref": "#/definitions/LocationPointChoice"
        },
        {
          "properties": {
            "Notes": {
              "description": "Assigned Type: ota2-0400:Text",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
                  ]
                }
              },
              "$ref": "#/definitions/Text"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "LocationPointChoiceAirport": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "LocationPointChoice"
      },
      "description": "Provides address details for a location. Comare with JourneyPoint",
      "allOf": [
        {
          "$ref": "#/definitions/LocationPointChoice"
        },
        {
          "properties": {
            "terminal": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "product",
                    "value": "2"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "gate": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "product",
                    "value": "38B"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "country": {
              "description": "Assigned Type: ota2-0400:CountryCode_ISO3166",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "product",
                    "value": "US"
                  }
                ]
              },
              "type": "string",
              "pattern": "[a-zA-Z]{2}"
            },
            "code": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "product",
                    "value": "LAX"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "FlightInfo": {
              "description": "Assigned Type: pgt-0200:FlightInfo_Summary",
              "$ref": "#/definitions/FlightInfo"
            },
            "kioskInd": {
              "type": "boolean"
            },
            "curbSideBaggageCheckInd": {
              "type": "boolean"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          },
          "required": [
            "code"
          ]
        }
      ]
    },
    "SegmentID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Segment"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "SegmentRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Segment": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Segment"
      },
      "allOf": [
        {
          "$ref": "#/definitions/SegmentID"
        },
        {
          "properties": {
            "numberOfStops": {
              "description": "The number of intermediate stops.",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "product",
                    "value": "1"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "duration": {
              "type": "string"
            },
            "status": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "type": "string",
              "maxLength": 32
            },
            "Departure": {
              "description": "Assigned Type: prod-0400:Departure",
              "$ref": "#/definitions/Departure"
            },
            "Arrival": {
              "description": "Assigned Type: prod-0400:Arrival",
              "$ref": "#/definitions/Arrival"
            },
            "Transport": {
              "description": "Assigned Type: prod-0400:Transport",
              "$ref": "#/definitions/Transport"
            },
            "Description": {
              "description": "Assigned Type: ota2-0400:TextFree",
              "$ref": "#/definitions/TextFree"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          },
          "required": [
            "Departure",
            "Arrival"
          ]
        }
      ]
    },
    "Transport": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Transport"
      },
      "description": "Details of a method of transport. Choice facets for Air \u0026 Rail to be defined.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "TransportNumber": {
          "description": "Assigned Type: prod-0400:TransportNumber",
          "$ref": "#/definitions/TransportNumber"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "PropertyInfo": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "PropertyInfo"
      },
      "description": "Identifies a property.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Site": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "BasicPropertyInfo"
      },
      "description": "Identifies a property.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "WASJW"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "PropertyInfoDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "PropertyInfo"
      },
      "description": "Identifies a property.",
      "allOf": [
        {
          "$ref": "#/definitions/PropertyInfo"
        },
        {
          "properties": {
            "name": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "cityCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "type": "string",
              "maxLength": 32
            },
            "chainCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "type": "string",
              "maxLength": 32
            },
            "chainName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "brandCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "type": "string",
              "maxLength": 32
            },
            "brandName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "SiteDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "BasicPropertyInfo"
      },
      "description": "Identifies a property.",
      "allOf": [
        {
          "$ref": "#/definitions/BasicPropertyInfo"
        },
        {
          "properties": {
            "name": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "JW Marriott Washington DC"
                  }
                ]
              },
              "type": "string",
              "maxLength": 128
            },
            "cityCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "WAS"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "chainCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "MC"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "chainName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "Marriott"
                  }
                ]
              },
              "type": "string",
              "maxLength": 128
            },
            "brandCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "FS"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "brandName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "Full Service"
                  }
                ]
              },
              "type": "string",
              "maxLength": 128
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "GuestCount": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "GuestCount"
      },
      "description": "Identifies the number of guests for the reservation.",
      "properties": {
        "value": {
          "type": "integer",
          "format": "int32"
        },
        "ageQualifyingCode": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "age": {
          "description": "Specifies the specific age of the guest.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "RoomStayQueryProduct": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomStay"
      },
      "description": "Details on the Room Stay including Guest Counts, Time Span of this Room Stay, pointers to Res Guests, guest Memberships, Comments and Special Requests pertaining to this particular Room Stay and finally finacial information related to the Room Stay, including Guarantee, Deposit and Payment and Cancellation Penalties.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "BasicPropertyInfo": {
          "description": "Assigned Type: ph:BasicPropertyInfo",
          "$ref": "#/definitions/BasicPropertyInfo"
        },
        "BaseHospitalityFacilityQuery": {
          "description": "Assigned Type: orghs-0300:BaseHospitalityFacilityQuery",
          "$ref": "#/definitions/BaseHospitalityFacilityQuery"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FacilityID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "FacilityRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        },
        "FacilityKey": {
          "description": "Assigned Type: org-0300:FacilityKey",
          "$ref": "#/definitions/FacilityKey"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Facility": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "allOf": [
        {
          "$ref": "#/definitions/FacilityID"
        },
        {
          "properties": {
            "name": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "Location": {
              "description": "Assigned Type: ota2-0400:Location",
              "$ref": "#/definitions/Location"
            },
            "OperationSchedule": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/OperationSchedule"
              },
              "maxItems": 30
            },
            "MultimediaCollection": {
              "description": "Assigned Type: ota2-0400:MultimediaCollection",
              "$ref": "#/definitions/MultimediaCollection"
            },
            "Rating": {
              "description": "Assigned Type: ota2-0400:Rating",
              "$ref": "#/definitions/Rating"
            },
            "Telephone": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Telephone"
              },
              "maxItems": 5
            },
            "Email": {
              "description": "Assigned Type: ota2-0400:Email",
              "$ref": "#/definitions/Email"
            },
            "Description": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Text"
              },
              "maxItems": 10
            },
            "Property": {
              "description": "Assigned Type: org-0300:Property",
              "$ref": "#/definitions/PropertyID"
            },
            "SiteURL": {
              "description": "Assigned Type: ota2-0400:URL",
              "$ref": "#/definitions/URL"
            },
            "RelativePosition": {
              "description": "Assigned Type: ota2-0400:RelativePosition",
              "$ref": "#/definitions/RelativePosition"
            },
            "AccessibilityFeatures": {
              "description": "Assigned Type: ota2-0400:AccessibilityFeatures",
              "$ref": "#/definitions/AccessibilityFeatures_OTA20400"
            },
            "ExtensionPoint_Summary": {
              "$ref": "#/definitions/ExtensionPoint_Summary"
            }
          }
        }
      ]
    },
    "FacilityMeeting": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "allOf": [
        {
          "$ref": "#/definitions/Facility"
        },
        {
          "properties": {
            "MeetingCenter": {
              "description": "Assigned Type: org-0300:MeetingCenter",
              "$ref": "#/definitions/MeetingCenter"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          }
        }
      ]
    },
    "PropertyID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Property"
      },
      "description": "A property may contain one or more facilities of the same or differing types.  Example:  The property Disney Orlando has many hotels and golf courses on it.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "PropertyRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "ResortID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Property"
      },
      "description": "A property may contain one or more facilities of the same or differing types.  Example:  The property Disney Orlando has many hotels and golf courses on it.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "PropertyRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Property": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Property"
      },
      "description": "A property may contain one or more facilities of the same or differing types.  Example:  The property Disney Orlando has many hotels and golf courses on it.",
      "allOf": [
        {
          "$ref": "#/definitions/PropertyID"
        },
        {
          "properties": {
            "name": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "companyName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "Address": {
              "description": "Assigned Type: ota2-0400:Address",
              "$ref": "#/definitions/Address"
            },
            "URL": {
              "description": "The URL for the property.",
              "type": "string"
            },
            "Telephone": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Telephone"
              },
              "maxItems": 5
            },
            "Email": {
              "description": "Assigned Type: ota2-0400:Email",
              "$ref": "#/definitions/Email"
            },
            "MultimediaCollection": {
              "description": "Assigned Type: ota2-0400:MultimediaCollection",
              "$ref": "#/definitions/MultimediaCollection"
            },
            "Rating": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Rating"
              },
              "maxItems": 5
            },
            "ExtensionPoint_Summary": {
              "$ref": "#/definitions/ExtensionPoint_Summary"
            }
          },
          "required": [
            "name"
          ]
        }
      ]
    },
    "Resort": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Property"
      },
      "description": "A property may contain one or more facilities of the same or differing types.  Example:  The property Disney Orlando has many hotels and golf courses on it.",
      "allOf": [
        {
          "$ref": "#/definitions/PropertyID"
        },
        {
          "properties": {
            "name": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "companyName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "Address": {
              "description": "Assigned Type: ota2-0400:Address",
              "$ref": "#/definitions/Address"
            },
            "URL": {
              "description": "The URL for the property.",
              "type": "string"
            },
            "Telephone": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Telephone"
              },
              "maxItems": 5
            },
            "Email": {
              "description": "Assigned Type: ota2-0400:Email",
              "$ref": "#/definitions/Email"
            },
            "MultimediaCollection": {
              "description": "Assigned Type: ota2-0400:MultimediaCollection",
              "$ref": "#/definitions/MultimediaCollection"
            },
            "Rating": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Rating"
              },
              "maxItems": 5
            },
            "ExtensionPoint_Summary": {
              "$ref": "#/definitions/ExtensionPoint_Summary"
            }
          },
          "required": [
            "name"
          ]
        }
      ]
    },
    "PropertyDetail": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Property"
      },
      "description": "A property may contain one or more facilities of the same or differing types.  Example:  The property Disney Orlando has many hotels and golf courses on it.",
      "allOf": [
        {
          "$ref": "#/definitions/Property"
        },
        {
          "properties": {
            "Facility": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FacilityID"
              },
              "maxItems": 1000,
              "minItems": 1
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          },
          "required": [
            "Facility"
          ]
        }
      ]
    },
    "ResortDetail": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Property"
      },
      "description": "A property may contain one or more facilities of the same or differing types.  Example:  The property Disney Orlando has many hotels and golf courses on it.",
      "allOf": [
        {
          "$ref": "#/definitions/Property"
        },
        {
          "properties": {
            "Facility": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FacilityID"
              },
              "maxItems": 1000,
              "minItems": 1
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          },
          "required": [
            "Facility"
          ]
        }
      ]
    },
    "MeetingCenter": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "MeetingCenter"
      },
      "description": "Meeting center details for a facility.",
      "properties": {
        "meetingRoomCount": {
          "description": "Assigned Type: ota2-0400:NonNegativeInteger",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "org",
                "value": "15"
              }
            ]
          },
          "type": "integer",
          "format": "int32",
          "minimum": 0,
          "exclusiveMinimum": false
        },
        "largestSeatingCapacity": {
          "description": "The largest seating capacity available in the largest meeting room - generally this is for theatre-style room setup.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "org",
                "value": "200"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "largestRoomSpace": {
          "description": "The amount of room space for the largest unique meeting room at the facility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "org",
                "value": "2000 sq ft"
              }
            ]
          },
          "type": "string"
        },
        "unitOfMeasureCode": {
          "description": "Assigned Type: ota2-0400:OTA_Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "type": "string",
          "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
        },
        "meetingRoomCode": {
          "description": "Assigned Type: ota2-0400:OTA_Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "type": "string",
          "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
        }
      }
    },
    "BusinessService": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "BusinessService"
      },
      "description": "Name of the business service.",
      "properties": {
        "businessServiceCode": {
          "description": "Assigned Type: ota2-0400:OTA_Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "type": "string",
          "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
        }
      }
    },
    "FacilityKey": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "FacilityKey"
      },
      "description": "Allows for a facility to be identified by and Identifier element or other elements\\/attributes that are appropriate for the specific type of facility.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FacilityKeyIdentifier": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "FacilityKey"
      },
      "description": "Allows for a facility to be identified by and Identifier element or other elements\\/attributes that are appropriate for the specific type of facility.",
      "allOf": [
        {
          "$ref": "#/definitions/FacilityKey"
        },
        {
          "properties": {
            "Identifier": {
              "description": "Assigned Type: ota2-0400:Identifier",
              "$ref": "#/definitions/Identifier"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "OfferConfirmed": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Offer"
      },
      "description": "A product or products available at the given price and terms.",
      "allOf": [
        {
          "$ref": "#/definitions/Offer"
        },
        {
          "properties": {
            "description": {
              "description": "Assigned Type: ota2-0400:StringLong",
              "type": "string",
              "maxLength": 4096
            },
            "ConfirmationId": {
              "description": "Assigned Type: ota2-0400:Identifier",
              "$ref": "#/definitions/Identifier"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          }
        }
      ]
    },
    "OfferQueryOffer": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Offer"
      },
      "description": "A product or products available at the given price and terms.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "ProductQueries": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductQueries"
          },
          "maxItems": 2,
          "minItems": 1
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "ProductQueries"
      ],
      "discriminator": "@type"
    },
    "OfferID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Offer"
      },
      "description": "A product or products available at the given price and terms.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "OfferRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Offer": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Offer"
      },
      "description": "A product or products available at the given price and terms.",
      "allOf": [
        {
          "$ref": "#/definitions/OfferID"
        },
        {
          "properties": {
            "vendor": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "Order",
                    "value": "Vendor Name"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "TotalPrice": {
              "description": "Assigned Type: order-0300:TotalPrice",
              "$ref": "#/definitions/TotalPrice"
            },
            "TermsAndConditions": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TermsAndConditionsID"
              },
              "maxItems": 25
            },
            "Product": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ProductID"
              },
              "maxItems": 30
            },
            "FacilityIdentifier": {
              "description": "Assigned Type: org-0300:Facility_ID",
              "$ref": "#/definitions/FacilityID"
            },
            "taxExcludedInd": {
              "description": "By default, taxes are included.  When present and true, all taxes are excluded from the price.  Individual taxes may be excluded using the indicator on the tax object.",
              "type": "boolean"
            },
            "ExtensionPoint_Summary": {
              "$ref": "#/definitions/ExtensionPoint_Summary"
            }
          },
          "required": [
            "TotalPrice"
          ]
        }
      ]
    },
    "TermsAndConditionsID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "TermsAndConditions"
      },
      "description": "The terms and conditions related to an offer.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "TermsAndConditionsRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "TermsAndConditions": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "TermsAndConditions"
      },
      "description": "The terms and conditions related to an offer.",
      "allOf": [
        {
          "$ref": "#/definitions/TermsAndConditionsID"
        },
        {
          "properties": {
            "duration": {
              "description": "Specifies the duration of the trip.",
              "type": "integer",
              "format": "int32"
            },
            "Promotion": {
              "description": "Assigned Type: ota2-0400:Promotion",
              "$ref": "#/definitions/Promotion"
            },
            "RebateProgram": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RebateProgram"
              },
              "maxItems": 25
            },
            "Description": {
              "description": "Assigned Type: ota2-0400:Description",
              "$ref": "#/definitions/Description"
            },
            "CancelPenalty": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/CancelPenalty"
              },
              "maxItems": 10
            },
            "GuaranteePolicy": {
              "description": "Assigned Type: order-0300:GuaranteePolicy",
              "$ref": "#/definitions/GuaranteePolicy"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "TotalPrice": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "TotalPrice"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Total": {
          "description": "Assigned Type: ota2-0400:CurrencyAmount",
          "$ref": "#/definitions/CurrencyAmount"
        },
        "ProductPrice": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductPrice"
          },
          "maxItems": 99
        },
        "PriceModifiers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PriceModifiers"
          },
          "maxItems": 99
        },
        "Fee": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Fee"
          },
          "maxItems": 99
        },
        "Taxes": {
          "description": "Assigned Type: ota2-0400:Taxes",
          "$ref": "#/definitions/Taxes"
        },
        "estimateInd": {
          "description": "When true, indicates the total price is an estimate.",
          "type": "boolean"
        },
        "taxExcludedInd": {
          "description": "Taxes are included in the Total price unless this indicator is set.  Individual taxes may be excluded by indicating as such on the individual tax item.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "Total"
      ],
      "discriminator": "@type"
    },
    "GuaranteePolicy": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "GuaranteePolicy"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "retribution": {
          "description": "An enumerated type defining the type of action taken when the deadline has been exceeded. Valid values: Res Automatically Cancelled, Res No Longer Guaranteed.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: GuaranteeType_RetributionType"
              ]
            }
          },
          "$ref": "#/definitions/Retribution_Enum"
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            }
          },
          "type": "string",
          "maxLength": 32
        },
        "type": {
          "description": "An enumerated type defining the guarantee to be applied to this reservation.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: GuaranteeType_GuaranteeType"
              ]
            }
          },
          "$ref": "#/definitions/GuaranteeType_Enum"
        },
        "guaranteePolicyType": {
          "description": "GuaranteePolicyType: An enumerated type that defines the guarantee policy applied to the booking restrictions.",
          "$ref": "#/definitions/GuaranteeType_Enum"
        },
        "Deadline": {
          "description": "Assigned Type: order-0300:Deadline",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Deadline"
              ]
            }
          },
          "$ref": "#/definitions/Deadline"
        },
        "Comment": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Comment"
          },
          "maxItems": 20
        },
        "Description": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Description"
          },
          "maxItems": 9
        },
        "CurrencyCode": {
          "description": "Assigned Type: ota2-0400:CurrencyCode",
          "$ref": "#/definitions/CurrencyCode"
        },
        "GuaranteesAccepted": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GuaranteesAccepted"
          },
          "maxItems": 100
        },
        "DepositPolicy": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DepositPolicy"
          },
          "maxItems": 10
        },
        "HoldTime": {
          "description": "Assigned Type: ota2-0400:DateTimeStamp",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}time"
              ]
            }
          },
          "$ref": "#/definitions/DateTimeStamp"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "GuaranteesAccepted": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "GuaranteesAccepted"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Type": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PaymentType_Enum"
          },
          "maxItems": 50
        },
        "PaymentCardCode": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PaymentCardCode_Enum"
          },
          "maxItems": 30
        },
        "noCardHolderInfoReqInd": {
          "description": "If true, no credit card holder information is required. If false, it is not required.",
          "type": "boolean"
        },
        "nameReqInd": {
          "description": "If true, the credit card holder name is required. If false, it is not required.",
          "type": "boolean"
        },
        "addressReqInd": {
          "description": "If true, credit card holder address is required. If false, it is not required.",
          "type": "boolean"
        },
        "phoneReqInd": {
          "description": "If true, credit card holder phone number is required. If false, it is not required.",
          "type": "boolean"
        },
        "interbankNbrReqInd": {
          "description": "If true, the credit card interbank number is required. If false, it is not required.",
          "type": "boolean"
        },
        "bookingSourceAllowedInd": {
          "description": "When true, the booking source may be used to guarantee the booking.",
          "type": "boolean"
        },
        "corpDiscountNbrAllowedInd": {
          "description": "When true, the corporate discount number may be used to guarantee the booking.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "GuaranteeType_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "GuaranteeType_Enum"
      },
      "description": "An enumerated type defining the guarantee to be applied to this reservation.",
      "type": "string",
      "enum": [
        "GuaranteeRequired",
        "CC/DC/Voucher",
        "Profile",
        "NoGuaranteesAccepted",
        "GuaranteesAccepted",
        "DepositRequired",
        "GuaranteesNotRequired",
        "DepositNotRequired",
        "PrepayRequired",
        "PrepayNotRequired",
        "NoDepositsAccepted"
      ]
    },
    "Retribution_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "Retribution_Enum"
      },
      "description": "An enumerated type defining the type of action taken when the deadline has been exceeded.",
      "type": "string",
      "enum": [
        "ResAutoCancelled",
        "ResNotGuaranteed"
      ]
    },
    "RebateProgram": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RebateProgram"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "programName": {
          "description": "Assigned Type: ota2-0400:String",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string",
          "maxLength": 512
        },
        "PaymentCardSummary": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PaymentCard"
          },
          "maxItems": 9
        },
        "ProgramRestrictions": {
          "description": "Assigned Type: ota2-0400:TextFree",
          "$ref": "#/definitions/TextFree"
        },
        "participationInd": {
          "description": "When true, the supplier is participating in a rebate program, e.g. a VAT (value added tax) program.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Gratuity": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Gratuity"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "AmountOrPercent": {
          "description": "Assigned Type: ota2-0400:AmountOrPercent",
          "$ref": "#/definitions/AmountOrPercent"
        },
        "mandatoryInd": {
          "description": "When true, a gratuity is mandatory.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "DeadlineTimePeriod": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Deadline"
      },
      "description": "Allows a choice between a time period range, an absolute date or a date range for the appication of a cancellation penalty.",
      "allOf": [
        {
          "$ref": "#/definitions/Deadline"
        },
        {
          "properties": {
            "minPeriod": {
              "description": "The minimum time period.",
              "type": "integer",
              "format": "int32"
            },
            "maxPeriod": {
              "description": "The maximum time period",
              "type": "integer",
              "format": "int32"
            },
            "timePeriod": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "type": "string",
              "maxLength": 32
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "DeadlineAbsoluteDate": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Deadline"
      },
      "description": "Allows a choice between a time period range, an absolute date or a date range for the appication of a cancellation penalty.",
      "allOf": [
        {
          "$ref": "#/definitions/Deadline"
        },
        {
          "properties": {
            "absoluteDateTime": {
              "description": "Assigned Type: ota2-0400:DateTime",
              "type": "string",
              "format": "date-time"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "Deadline": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Deadline"
      },
      "description": "Allows a choice between a time period range, an absolute date or a date range for the appication of a cancellation penalty.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "deadlineType": {
          "description": "An enumerated list of deadline types e.g.Before Arrival.",
          "$ref": "#/definitions/DeadlineDropTime_Enum"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "CancelPenalty": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "CancelPenalty"
      },
      "description": "The CancelPenalty class defines the cancellation policy of the hotel facility.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "numberOfNights": {
          "description": "Used in conjunction with the basis type when Nights is selected.",
          "type": "integer",
          "format": "int32"
        },
        "BasisType": {
          "description": "Assigned Type: ota2-0300:BasisType",
          "$ref": "#/definitions/BasisType"
        },
        "Deadline": {
          "description": "Assigned Type: order-0300:Deadline",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Deadline"
              ]
            }
          },
          "$ref": "#/definitions/Deadline"
        },
        "AmountPercent": {
          "description": "Assigned Type: ota2-0400:AmountPercent",
          "$ref": "#/definitions/AmountPercent"
        },
        "Description": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Description"
          },
          "maxItems": 9
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "CancelPenaltyDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "CancelPenalty"
      },
      "description": "The CancelPenalty class defines the cancellation policy of the hotel facility.",
      "allOf": [
        {
          "$ref": "#/definitions/CancelPenalty"
        },
        {
          "properties": {
            "policyId": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
                  ]
                }
              },
              "type": "string",
              "maxLength": 32
            },
            "nonRefundableInd": {
              "description": "Indicates that any prepayment for the reservation is non refundable, therefore a 100% penalty on the prepayment is applied, irrespective of deadline.",
              "type": "boolean"
            },
            "noCancelInd": {
              "description": "Note: This will typically be set to false indicating that a reservation may be cancelled.",
              "type": "boolean"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "PriceModifiers": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "PriceModifiers"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Promotion": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Promotion"
          },
          "maxItems": 99
        },
        "RateQualifier": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RateQualifier"
          },
          "maxItems": 99
        },
        "PersonIdentifier": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PersonID"
          },
          "maxItems": 99
        },
        "ProductRef": {
          "description": "A reference to the product for which the rate modifier applies.",
          "type": "string"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "ProductPriceHospitality": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "ProductPrice"
      },
      "allOf": [
        {
          "$ref": "#/definitions/ProductPrice"
        },
        {
          "properties": {
            "RoomRate": {
              "description": "Assigned Type: ph:RoomRate",
              "$ref": "#/definitions/RoomRateID"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "ProductPrice": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "ProductPrice"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Price": {
          "description": "Assigned Type: ota2-0400:Price",
          "$ref": "#/definitions/Price"
        },
        "Taxes": {
          "description": "Assigned Type: ota2-0400:Taxes",
          "$ref": "#/definitions/Taxes"
        },
        "Fee": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Fee"
          },
          "maxItems": 99
        },
        "ProductRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        },
        "Gratuity": {
          "description": "Assigned Type: order-0300:Gratuity",
          "$ref": "#/definitions/Gratuity"
        },
        "taxExcludedInd": {
          "description": "When present and true, tax is excluded from the price.",
          "type": "boolean"
        },
        "feesIncludedInd": {
          "description": "When present and true, fees are included.",
          "type": "boolean"
        },
        "gratuityIncludedInd": {
          "description": "When present and true, the gratuity is included in the price of this product.",
          "type": "boolean"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "DepositPolicy": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DepositPolicy"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "numberOfNights": {
          "description": "The number of nights used to calculate the deposit required.",
          "type": "integer",
          "format": "int32"
        },
        "BasisType": {
          "description": "Assigned Type: ota2-0300:BasisType",
          "$ref": "#/definitions/BasisType"
        },
        "AmountPercent": {
          "description": "Assigned Type: ota2-0400:AmountPercent",
          "$ref": "#/definitions/AmountPercent"
        },
        "Deadline": {
          "description": "Assigned Type: order-0300:Deadline",
          "$ref": "#/definitions/Deadline"
        },
        "Description": {
          "description": "Assigned Type: ota2-0400:Description",
          "$ref": "#/definitions/Description"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "HotelDetails": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "HotelDetails"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "supplierIntegrationLevel": {
          "description": "Assigned Type: ota2-0400:NonNegativeInteger",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "orghs",
                "value": "1"
              }
            ]
          },
          "type": "integer",
          "format": "int32",
          "minimum": 0,
          "exclusiveMinimum": false
        },
        "maxGroupRoomQuantity": {
          "description": "Assigned Type: ota2-0400:NonNegativeInteger",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "integer",
          "format": "int32",
          "minimum": 0,
          "exclusiveMinimum": false
        },
        "currencyCode": {
          "description": "Assigned Type: ota2-0400:CurrencyCode_ISO4217",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}AlphaLength3"
              ]
            },
            "examples": [
              {
                "context": "orghs",
                "value": "usd"
              }
            ]
          },
          "type": "string",
          "pattern": "[a-zA-Z]{3}"
        },
        "hotelCodeContext": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "orghs",
                "value": "Sabre"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "tTICode": {
          "description": "Note:   This code is maintained by the Travel Technology Initiative (TTI) and provides a unique way to identify a property across a multiplicity of channels, service providers, tour companies, representation companies and third parties involved in the booking, administration and fulfillment of travel within the hospitality industry. For more information: http:\\/\\/www.tti.org\\/tticodes.html.",
          "type": "integer",
          "format": "int32"
        },
        "Recreation": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Recreation"
          }
        },
        "BusinessService": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BusinessService"
          }
        },
        "Policy": {
          "description": "Assigned Type: orghs-0300:HotelPolicy",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Policy"
              ]
            }
          },
          "$ref": "#/definitions/HotelPolicy"
        },
        "MeetingCenter": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MeetingCenter"
          }
        },
        "Amenity": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Amenity"
          }
        },
        "Ancillary": {
          "description": "Assigned Type: ota2-0400:Ancillary_Summary",
          "$ref": "#/definitions/Ancillary"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "HotelPolicy": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "HotelPolicy"
      },
      "properties": {
        "checkInTime": {
          "description": "The checkin time required by this hotel for a room stay.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}time"
              ]
            },
            "equivalents": [
              {
                "context": "orghs",
                "value": ""
              }
            ],
            "examples": [
              {
                "context": "orghs",
                "value": "16:00:00"
              }
            ]
          },
          "type": "string"
        },
        "checkOutTime": {
          "description": "The checkout time required by this hotel for a room stay.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}time"
              ]
            },
            "examples": [
              {
                "context": "orghs",
                "value": "12:00:00"
              }
            ]
          },
          "type": "string"
        }
      }
    },
    "SecurityFeatures": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "SecurityFeatures"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "SecurityFeature": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SecurityFeature_Enum"
          },
          "maxItems": 100
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FeaturesAccessibility": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Features"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Features"
        },
        {
          "properties": {
            "AccessibilityFeatures": {
              "description": "Assigned Type: orghs-0300:AccessibilityFeatures",
              "$ref": "#/definitions/AccessibilityFeatures_ORGHS0300"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "FeaturesSecurity": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Features"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Features"
        },
        {
          "properties": {
            "SecurityFeatures": {
              "description": "Assigned Type: orghs-0300:SecurityFeatures_Summary",
              "$ref": "#/definitions/SecurityFeatures"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "AccessibilityFeatures_ORGHS0300": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "AccessibilityFeatures"
      },
      "description": "Describes accessibility featrues.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "AccessibilityFeatures": {
          "description": "Assigned Type: ota2-0300:DisabilityFeature_Enum",
          "$ref": "#/definitions/DisabilityFeature_Enum"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "AccessibilityFeaturesDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "AccessibilityFeatures"
      },
      "description": "Describes accessibility featrues.",
      "allOf": [
        {
          "$ref": "#/definitions/AccessibilityFeatures_OTA20400"
        },
        {
          "properties": {
            "Description": {
              "description": "Assigned Type: ota2-0400:Text",
              "$ref": "#/definitions/Text"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "DetailedHotelSearchCriteria": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DetailedHotelSearchCriteria"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "hotelCodeContext": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to32"
              ]
            },
            "examples": [
              {
                "context": "orghs",
                "value": "Sabre"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "tTIcode": {
          "description": "Note:   This code is maintained by the Travel Technology Initiative (TTI) and provides a unique way to identify a property across a multiplicity of channels, service providers, tour companies, representation companies and third parties involved in the booking, administration and fulfillment of travel within the hospitality industry. For more information: http:\\/\\/www.tti.org\\/tticodes.html",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
              ]
            }
          },
          "type": "integer",
          "format": "int32"
        },
        "Features": {
          "description": "Assigned Type: ota2-0400:Features",
          "$ref": "#/definitions/Features"
        },
        "BedType": {
          "description": "Assigned Type: ota2-0300:BedType_Enum",
          "$ref": "#/definitions/BedType_Enum"
        },
        "HotelAmenity": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Code"
          },
          "maxItems": 100
        },
        "RoomAmenities": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Code"
          },
          "maxItems": 100
        },
        "Rating": {
          "description": "The minimum hotel rating value of the hotels to be returned (e.g. only return hotels with a 3.5 rating or higher).",
          "type": "number",
          "format": "float",
          "maximum": 5,
          "exclusiveMaximum": false,
          "minimum": 0,
          "exclusiveMinimum": false
        },
        "petsAllowedInd": {
          "description": "When true, pets are allowed at the facility.",
          "type": "boolean"
        },
        "smokingRoomsInd": {
          "description": "When true, this hotel facility offers smoking rooms.",
          "type": "boolean"
        },
        "aDACompliantInd": {
          "description": "When true, this hotel facility is ADA compliant.",
          "type": "boolean"
        },
        "exactMatchInd": {
          "description": "When true, only properties\\/rate plans that exactly match the search criteria should be returned.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FacilityHotel": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "allOf": [
        {
          "$ref": "#/definitions/Facility"
        },
        {
          "properties": {
            "brandName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "chainName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "type": "string",
              "maxLength": 128
            },
            "Features": {
              "description": "Assigned Type: ota2-0400:Features",
              "$ref": "#/definitions/Features"
            },
            "SegmentCategory": {
              "description": "Assigned Type: ota2-0300:SegmentCategory_Enum",
              "$ref": "#/definitions/SegmentCategory_Enum"
            },
            "HotelDetails": {
              "description": "Assigned Type: orghs-0300:HotelDetails",
              "$ref": "#/definitions/HotelDetails"
            },
            "RateRange": {
              "description": "Assigned Type: ota2-0400:RateRange",
              "$ref": "#/definitions/RateRange"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          }
        }
      ]
    },
    "FacilityQueryHotel": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "HotelName": {
          "description": "A name or partial name of hotel used in searching for a hotel facility.",
          "type": "string",
          "maxLength": 128
        },
        "BrandCode": {
          "description": "A code that identifies the brand or flag of a hotel, often used for independently-owned or franchised properties who are known by a specific brand.",
          "type": "string",
          "maxLength": 128
        },
        "BrandName": {
          "description": "The name of a brand of hotels (e.g., Courtyard, Hampton Inn).",
          "type": "string",
          "maxLength": 128
        },
        "ChainCode": {
          "description": "The code that identifies a hotel chain or management group. The hotel chain code is decided between vendors. This attribute is optional if the hotel is an independent property that can be identified by the HotelCode attribute.",
          "type": "string",
          "maxLength": 128
        },
        "ChainName": {
          "description": "The name of the hotel chain (e.g., Hilton, Marriott, Hyatt, Starwood).",
          "type": "string",
          "maxLength": 128
        },
        "Radius": {
          "description": "Assigned Type: ota2-0400:Radius",
          "$ref": "#/definitions/Radius"
        },
        "ReferencePoint": {
          "description": "Assigned Type: ota2-0400:ReferencePoint",
          "$ref": "#/definitions/ReferencePoint"
        },
        "DetailedHotelSearchCriteria": {
          "description": "Assigned Type: orghs-0300:DetailedHotelSearchCriteria",
          "$ref": "#/definitions/DetailedHotelSearchCriteria"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FacilityQueryHotelAvail": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "BaseHospitalityFacilityQuery": {
          "description": "Assigned Type: orghs-0300:BaseHospitalityFacilityQuery",
          "$ref": "#/definitions/BaseHospitalityFacilityQuery"
        },
        "PropertyInfo": {
          "description": "Assigned Type: prod-0400:PropertyInfo",
          "$ref": "#/definitions/PropertyInfo"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FacilityQueryHotelAvailRetrieve": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "FacilityIdentifier": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FacilityID"
          },
          "maxItems": 100,
          "minItems": 1
        },
        "BaseHospitalityFacilityQuery": {
          "description": "Assigned Type: orghs-0300:BaseHospitalityFacilityQuery",
          "$ref": "#/definitions/BaseHospitalityFacilityQuery"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "FacilityIdentifier"
      ],
      "discriminator": "@type"
    },
    "FacilityKeyHotel": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "FacilityKey"
      },
      "description": "Allows for a facility to be identified by and Identifier element or other elements\\/attributes that are appropriate for the specific type of facility.",
      "allOf": [
        {
          "$ref": "#/definitions/FacilityKey"
        },
        {
          "properties": {
            "FacilityCode": {
              "description": "A code that identifies the facility.",
              "type": "string",
              "maxLength": 128
            },
            "ChainCode": {
              "description": "A code that identifes the chain for which the facility belongs.",
              "type": "string",
              "maxLength": 128
            },
            "BrandCode": {
              "description": "A code that identifes the brand for which the facility belongs.",
              "type": "string",
              "maxLength": 128
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "BaseHospitalityFacilityQuery": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "BaseHospitalityFacilityQuery"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "numberOfRooms": {
          "description": "1The number of rooms being queried for.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "orghs",
                "value": "1"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "DateTimeSpan": {
          "description": "Assigned Type: ota2-0400:TimeSpan",
          "$ref": "#/definitions/TimeSpan"
        },
        "GuestCount": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GuestCount"
          },
          "maxItems": 99
        },
        "RateRange": {
          "description": "Assigned Type: ota2-0400:RateRange",
          "$ref": "#/definitions/RateRange"
        },
        "DetailedHotelSearchCriteria": {
          "description": "Assigned Type: orghs-0300:DetailedHotelSearchCriteria",
          "$ref": "#/definitions/DetailedHotelSearchCriteria"
        },
        "RoomTypeCode": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Code"
          },
          "maxItems": 100
        },
        "RatePlanCode": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RatePlanCode"
          },
          "maxItems": 100
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "DateTimeSpan"
      ],
      "discriminator": "@type"
    },
    "Recreation": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Recreation"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "recreationDescription": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        },
        "Code": {
          "description": "Assigned Type: ota2-0300:RecreationService_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/RecreationService_Enum"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "NameType": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "NameType"
      },
      "description": "OTA Code list: Name Type\\tNAM\\t\\n\\t1\\tFormer\\n\\t2\\tNickname\\n\\t3\\tAlternate\\n\\t4\\tMaiden",
      "type": "string",
      "enum": [
        "Alternate",
        "Former",
        "Maiden",
        "Nickname"
      ]
    },
    "OptInStatus_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "OptInStatus_Enum"
      },
      "type": "string",
      "enum": [
        "OptedIn",
        "OptedOut",
        "Unknown"
      ]
    },
    "TextFormatType": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "TextFormatType"
      },
      "type": "string",
      "enum": [
        "PlainText",
        "HTML"
      ]
    },
    "YesNoInherit_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "YesNoInherit_Enum"
      },
      "type": "string",
      "enum": [
        "Yes",
        "No",
        "Inherit"
      ]
    },
    "AddressBldgRoom": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "AddressBldgRoom"
      },
      "description": "A string with a minimum length of 0 and a maximum length of 512.",
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 512
        },
        "buldingInd": {
          "description": "When true, the information is a building name.",
          "type": "boolean"
        }
      }
    },
    "AddressStreetNumber": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "AddressStreetNumber"
      },
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: StreetNmbrType"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 128
        },
        "streetNmbrSuffix": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to8"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "StreetNmbrSuffix"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "B"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "streetDirection": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to8"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "StreetDirection"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "NNW"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "ruralRouteNmbr": {
          "description": "Assigned Type: ota2-0400:RuralRouteNumber",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}NumericStringLength1to5"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "RuralRouteNmbr"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "88"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9]{1,5}"
        },
        "pO_Box": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "98567499"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        }
      }
    },
    "AmountPercent": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "AmountPercent"
      },
      "properties": {
        "amount": {
          "description": "Specifies the amount.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "5000"
              }
            ]
          },
          "type": "number",
          "format": "float"
        },
        "percent": {
          "description": "Assigned Type: ota2-0400:Percent",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "5"
              }
            ]
          },
          "type": "number",
          "format": "float",
          "maximum": 100.0,
          "exclusiveMaximum": false,
          "minimum": 0.0,
          "exclusiveMinimum": false
        },
        "currencyCode": {
          "description": "Assigned Type: ota2-0400:CurrencyCode_ISO4217",
          "type": "string",
          "pattern": "[a-zA-Z]{3}"
        },
        "decimalPlaces": {
          "description": "Assigned Type: ota2-0400:String",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "2"
              }
            ]
          },
          "type": "string",
          "maxLength": 512
        }
      }
    },
    "CompanyName": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "CompanyName"
      },
      "description": "Identifies a company by name.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength0to128"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 512
        },
        "division": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Division"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Travel Division"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "department": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Department"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Adventure department"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "shortName": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CompanyShortName"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Adventure Inc"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "code": {
          "description": "Assigned Type: ota2-0400:Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Code"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "AI"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "codeContext": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "description": {
          "description": "Assigned Type: ota2-0400:String",
          "type": "string",
          "maxLength": 512
        }
      }
    },
    "Country": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Country"
      },
      "description": "ISO 3166 code for a country.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}ISO3166"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "pattern": "[a-zA-Z]{2}"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength0to64"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "Ireland"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        }
      }
    },
    "CurrencyCode": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "CurrencyCode"
      },
      "description": "An ISO 4217 (3) alpha character code that specifies a monetary unit.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}AlphaLength3"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "pattern": "[a-zA-Z]{3}"
        },
        "decimalPlaces": {
          "description": "The ISO 4217 standard \\\"minor unit\\\" is typically used when the amount provided includes the minor unit of currency without a decimal point (e.g., USD 8500 needs DecimalPlaces\u003d\\\"2\\\" to represent $85).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "DecimalPlaces"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "2"
              }
            ]
          },
          "type": "string"
        }
      }
    },
    "CurrencyAmount": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "CurrencyAmount"
      },
      "description": "A monetary amount.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Money"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "number",
          "format": "float"
        },
        "currencyCode": {
          "description": "Assigned Type: ota2-0400:CurrencyCode_ISO4217",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}AlphaLength3"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CurrencyCode"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "USD"
              }
            ]
          },
          "type": "string",
          "pattern": "[a-zA-Z]{3}"
        },
        "minorUnit": {
          "description": "Assigned Type: ota2-0400:NonNegativeInteger",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "DecimalPlaces"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "2"
              }
            ]
          },
          "type": "integer",
          "format": "int32",
          "minimum": 0,
          "exclusiveMinimum": false
        }
      }
    },
    "DateTimeStamp": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "DateTimeStamp"
      },
      "description": "Time stamp of the creation.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}dateTime"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "format": "date-time"
        },
        "create": {
          "description": "Time stamp of the creation.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}dateTime"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CreateDateTime"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "creatorID": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CreatorID"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "c123456789"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "lastModify": {
          "description": "Time stamp of last modification.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}dateTime"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "LastModifyDateTime"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "lastModifierID": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "LastModifierID"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "m987654321"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "purge": {
          "description": "Date an item will be purged from a database (e.g., from a live database to an archive).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}date"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "PurgeDate"
              }
            ]
          },
          "type": "string",
          "format": "date"
        }
      }
    },
    "DateEffectiveExpire": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "DateEffectiveExpire"
      },
      "description": "Used to identify the effective date and\\/or expiration date.",
      "properties": {
        "effective": {
          "description": "Indicates the starting date.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}date"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "EffectiveDate"
              }
            ]
          },
          "type": "string",
          "format": "date"
        },
        "expire": {
          "description": "Indicates the ending date.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}date"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ExpireDate"
              }
            ]
          },
          "type": "string",
          "format": "date"
        },
        "expireDateExclusiveInd": {
          "description": "When true, indicates that the ExpireDate is the first day after the applicable period (e.g. when expire date is Oct 15  the last date of the period is Oct 14).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}boolean"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ExpireDateExclusiveInd"
              }
            ]
          },
          "type": "boolean"
        }
      }
    },
    "Identifier": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Identifier"
      },
      "description": "Identifier provides the ability to create a globally unique identifier.   This could be GUID a UUID or any other string that an organization that distinctly identifies the specific object.\\n\\nIdeally, for the identifier to be globally unique it must have a system provided identifier and the system must be identified using a global naming authority. System identification uses the domain naming system (DNS) to assure they are globally unique and should be an URL. The system provided ID will typically be a primary or surrogate key in a database.\\n\\nThe URL, system and company attributes can be omitted only when the system context can be implied by a parent or ancestor element.",
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 128
        },
        "url": {
          "description": "Uri of the creating system. The URI should be an URL and be globally unique. Should only be omitted when the context is clearly implied for the containing document.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Identifier provides the ability to create a globally unique identifier. For the identifier to be globally unique it must have a system provided identifier and the system must be identified using a global naming authority. System identification uses the domain naming system (DNS) to assure they are globally unique and should be an URL. The system provided ID will typically be a primary or surrogate key in a database."
              ]
            }
          },
          "type": "string"
        },
        "system": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "sysABC3344"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "organization": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "Acme"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        }
      }
    },
    "PersonName": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "PersonName"
      },
      "description": "This provides name information for a person.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "Prefix": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          },
          "maxItems": 3
        },
        "Given": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 128
          },
          "maxItems": 5
        },
        "Middle": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 128
          },
          "maxItems": 5
        },
        "Surname": {
          "description": "Family name, last name. \\nNote: Simple form of person name should be used for the full name.\\nMay also be used for full name if the sending system does not have the ability to separate a full name into its parts, e.g. the surname element may be used to pass the full name.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "Smith"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type",
        "Surname"
      ],
      "discriminator": "@type"
    },
    "RelatedTraveler_Simple_Person_Name": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "PersonName"
      },
      "description": "This provides name information for a person.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "Prefix": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          },
          "maxItems": 3
        },
        "Given": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 128
          },
          "maxItems": 5
        },
        "Middle": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 128
          },
          "maxItems": 5
        },
        "Surname": {
          "description": "Family name, last name. \\nNote: Simple form of person name should be used for the full name.\\nMay also be used for full name if the sending system does not have the ability to separate a full name into its parts, e.g. the surname element may be used to pass the full name.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "Smith"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type",
        "Surname"
      ],
      "discriminator": "@type"
    },
    "PersonNameDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "PersonName"
      },
      "description": "This provides name information for a person.",
      "allOf": [
        {
          "$ref": "#/definitions/PersonName"
        },
        {
          "properties": {
            "type": {
              "description": "Type of name of the individual, such as former, nickname, alternate or alias name. Refer to OpenTravel Code List Name Type (NAM).",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "NameType"
                  }
                ]
              },
              "$ref": "#/definitions/NameType"
            },
            "language": {
              "description": "The language the name is represented in, e.g. an Eastern name versus a Western name.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}language"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Language"
                  }
                ],
                "examples": [
                  {
                    "context": "Common",
                    "value": "en"
                  }
                ]
              },
              "type": "string"
            },
            "SurnamePrefix": {
              "description": "The surname prefix, e.g \\\"van der\\\", \\\"von\\\", \\\"de\\\".",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "SurnamePrefix"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "Suffix": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 32
              },
              "maxItems": 3
            },
            "Title": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 32
              },
              "maxItems": 3
            },
            "PersonDocument": {
              "description": "Assigned Type: ota2-0400:PersonDocument",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Document"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Document"
                  }
                ]
              },
              "$ref": "#/definitions/PersonDocument"
            },
            "Privacy": {
              "description": "Assigned Type: ota2-0400:Privacy",
              "$ref": "#/definitions/Privacy"
            },
            "defaultInd": {
              "description": "If true, this is the default or primary name within a collection of names.",
              "type": "boolean"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "RelatedTraveler_Simple_Person_NameDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "PersonName"
      },
      "description": "This provides name information for a person.",
      "allOf": [
        {
          "$ref": "#/definitions/PersonName"
        },
        {
          "properties": {
            "type": {
              "description": "Type of name of the individual, such as former, nickname, alternate or alias name. Refer to OpenTravel Code List Name Type (NAM).",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "NameType"
                  }
                ]
              },
              "$ref": "#/definitions/NameType"
            },
            "language": {
              "description": "The language the name is represented in, e.g. an Eastern name versus a Western name.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}language"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Language"
                  }
                ],
                "examples": [
                  {
                    "context": "Common",
                    "value": "en"
                  }
                ]
              },
              "type": "string"
            },
            "SurnamePrefix": {
              "description": "The surname prefix, e.g \\\"van der\\\", \\\"von\\\", \\\"de\\\".",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "SurnamePrefix"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "Suffix": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 32
              },
              "maxItems": 3
            },
            "Title": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 32
              },
              "maxItems": 3
            },
            "PersonDocument": {
              "description": "Assigned Type: ota2-0400:PersonDocument",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Document"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Document"
                  }
                ]
              },
              "$ref": "#/definitions/PersonDocument"
            },
            "Privacy": {
              "description": "Assigned Type: ota2-0400:Privacy",
              "$ref": "#/definitions/Privacy"
            },
            "defaultInd": {
              "description": "If true, this is the default or primary name within a collection of names.",
              "type": "boolean"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "RoomPrice": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "RoomPrice"
      },
      "description": "Specifies price after all applicable taxes of a product such as the rate for a room or fare for a flight.",
      "properties": {
        "value": {
          "type": "number",
          "format": "float"
        },
        "amountBeforeTax": {
          "description": "The price before taxes are applied.",
          "type": "number",
          "format": "float"
        },
        "currencyCode": {
          "description": "Assigned Type: ota2-0400:CurrencyCode_ISO4217",
          "type": "string",
          "pattern": "[a-zA-Z]{3}"
        }
      }
    },
    "Privacy": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Privacy"
      },
      "description": "Allows for control of the sharing of data between parties.",
      "properties": {
        "shareMarketInd": {
          "description": "Permission for sharing data for marketing purposes.",
          "$ref": "#/definitions/YesNoInherit_Enum"
        },
        "shareSyncInd": {
          "description": "Permission for sharing data for synchronization of information held by other travel service providers.",
          "$ref": "#/definitions/YesNoInherit_Enum"
        },
        "optInStatus": {
          "description": "If present and set to opt out, a customer has explicitly opted out of marketing communication. When set to opt out it overrides the ShareMarketInd.",
          "$ref": "#/definitions/OptInStatus_Enum"
        },
        "optInDate": {
          "description": "The date and time of opt in.",
          "type": "string",
          "format": "date-time"
        },
        "optOutDate": {
          "description": "The date and time of opt out.",
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "StateProv": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "StateProv"
      },
      "description": "The standard code or abbreviation for the state, province, or region.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StateProvCodeType"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 8,
          "minLength": 2
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength0to64"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "Texas"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        }
      }
    },
    "Telephone": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Telephone"
      },
      "description": "Information about a telephone number, including the actual number and its usage.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "countryAccessCode": {
          "description": "Assigned Type: ota2-0400:TelephoneCountryAccessCode",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}NumericStringLength1to3"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CountryAccessCode"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "01"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9]{1,3}"
        },
        "areaCityCode": {
          "description": "Assigned Type: ota2-0400:TelephoneAreaCityCode",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}NumericStringLength1to8"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "AreaCityCode"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "202"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9]{1,8}"
        },
        "phoneNumber": {
          "description": "Assigned Type: ota2-0400:TelephoneNumber",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "PhoneNumber"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "5555555"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9]{7,20}"
        },
        "extension": {
          "description": "Assigned Type: ota2-0400:TelephoneExtension",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}NumericStringLength1to5"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Extension"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "237"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9]{1,5}"
        },
        "id": {
          "description": "Used elsewhere in the message to reference a specific telephone number (including faxes).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}RPH_Type"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "RPH"
              }
            ]
          },
          "type": "string"
        },
        "role": {
          "$ref": "#/definitions/Enum_TelephoneRole"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type",
        "phoneNumber"
      ],
      "discriminator": "@type"
    },
    "TelephoneDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Telephone"
      },
      "description": "Information about a telephone number, including the actual number and its usage.",
      "allOf": [
        {
          "$ref": "#/definitions/Telephone"
        },
        {
          "properties": {
            "pIN": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to8"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "PIN"
                  }
                ],
                "examples": [
                  {
                    "context": "Common",
                    "value": "1234"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "remark": {
              "description": "Assigned Type: ota2-0400:StringText",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to128"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Remark"
                  }
                ],
                "examples": [
                  {
                    "context": "Common",
                    "value": "Don\u0027t call after 10:00PM"
                  }
                ]
              },
              "type": "string",
              "maxLength": 4096
            },
            "Privacy": {
              "description": "Assigned Type: ota2-0400:Privacy",
              "$ref": "#/definitions/Privacy"
            },
            "PhoneLocationType": {
              "description": "Assigned Type: ota2-0300:PhoneLocation_Enum",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "PhoneLocationType"
                  }
                ]
              },
              "$ref": "#/definitions/PhoneLocation_Enum"
            },
            "PhoneTechType": {
              "description": "Assigned Type: ota2-0300:PhoneTechType_Enum",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "PhoneTechType"
                  }
                ]
              },
              "$ref": "#/definitions/PhoneTechType_Enum"
            },
            "PhoneUseType": {
              "description": "Assigned Type: ota2-0300:PhoneUseType_Enum",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "PhoneUseType"
                  }
                ]
              },
              "$ref": "#/definitions/PhoneUseType_Enum"
            },
            "defaultInd": {
              "description": "When true, indicates a default value should be used.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}boolean"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "DefaultInd"
                  }
                ]
              },
              "type": "boolean"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "Enum_TelephoneRole": {
      "properties": {
        "value": {
          "$ref": "#/definitions/Enum_TelephoneRole_Open"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "Enum_TelephoneRole_Base": {
      "type": "string",
      "enum": [
        "Home",
        "Office",
        "Mobile",
        "Other"
      ]
    },
    "Enum_TelephoneRole_Open": {
      "type": "string",
      "enum": [
        "Home",
        "Office",
        "Mobile",
        "Other",
        "Other_"
      ]
    },
    "TextFree": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "TextFree"
      },
      "description": "Textual information to provide descriptions and\\/or additional information.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 4096
        },
        "language": {
          "description": "Language of the text.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: LanguageGroup"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "en"
              }
            ]
          },
          "type": "string"
        }
      }
    },
    "Text": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Text"
      },
      "description": "Provides text and indicates whether it is formatted or not.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 4096
        },
        "language": {
          "description": "The language in which the text is provided.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: LanguageGroup"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "en"
              }
            ]
          },
          "type": "string"
        },
        "textFormat": {
          "description": "Indicates the format of text used in the description e.g. unformatted  or html.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: FormattedTextTextType_TextFormat"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "TextFormat"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Sample Formatted text"
              }
            ]
          },
          "$ref": "#/definitions/TextFormatType"
        }
      }
    },
    "TextParagraph": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "TextParagraph"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Name"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "paragraph name"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "number": {
          "description": "The sequence number for the paragraph.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ParagraphNumber"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "Text": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Text"
          },
          "maxItems": 1000
        },
        "Image": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ImageID"
          },
          "maxItems": 1000
        },
        "URL": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 1000
        },
        "ParagraphListItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ParagraphListItem"
          },
          "maxItems": 1000
        },
        "DateTimeStamp": {
          "description": "Assigned Type: ota2-0400:DateTimeStamp",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: DateTimeStampGroup"
              ]
            }
          },
          "$ref": "#/definitions/DateTimeStamp"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Comment": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "TextParagraph"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Name"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "paragraph name"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "number": {
          "description": "The sequence number for the paragraph.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ParagraphNumber"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "Text": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Text"
          },
          "maxItems": 1000
        },
        "Image": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ImageID"
          },
          "maxItems": 1000
        },
        "URL": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 1000
        },
        "ParagraphListItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ParagraphListItem"
          },
          "maxItems": 1000
        },
        "DateTimeStamp": {
          "description": "Assigned Type: ota2-0400:DateTimeStamp",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: DateTimeStampGroup"
              ]
            }
          },
          "$ref": "#/definitions/DateTimeStamp"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Description": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "TextParagraph"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Name"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "paragraph name"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "number": {
          "description": "The sequence number for the paragraph.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ParagraphNumber"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "Text": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Text"
          },
          "maxItems": 1000
        },
        "Image": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ImageID"
          },
          "maxItems": 1000
        },
        "URL": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 1000
        },
        "ParagraphListItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ParagraphListItem"
          },
          "maxItems": 1000
        },
        "DateTimeStamp": {
          "description": "Assigned Type: ota2-0400:DateTimeStamp",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: DateTimeStampGroup"
              ]
            }
          },
          "$ref": "#/definitions/DateTimeStamp"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "TimeSpan": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "TimeSpan"
      },
      "description": "Specifies the arrival date and departure date which covers the whole Reservation.",
      "properties": {
        "start": {
          "description": "Assigned Type: ota2-0400:DateTime",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "2016-08-22T19:32:52Z"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "end": {
          "description": "Assigned Type: ota2-0400:DateTime",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": "2016-08-28T04:32:52Z"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "start",
        "end"
      ]
    },
    "URL": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "URL"
      },
      "description": "Web site address, in IETF specified format.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}anyURI"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string"
        },
        "type": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Type"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "defaultInd": {
          "description": "Indicates whether or not this is the default URL.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: DefaultIndGroup"
              ]
            }
          },
          "type": "boolean"
        }
      }
    },
    "ParagraphListItem": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "ParagraphListItem"
      },
      "properties": {
        "listItem": {
          "description": "The item or sequence number.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}integer"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ListItem"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "text2": {
          "description": "Assigned Type: ota2-0400:Text",
          "type": "string",
          "maxLength": 4096
        },
        "language": {
          "description": "The language in which the text is provided.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: LanguageGroup"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "en"
              }
            ]
          },
          "type": "string"
        },
        "textFormat": {
          "description": "Indicates the format of text used in the description e.g. unformatted  or html.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: FormattedTextTextType_TextFormat"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "TextFormat"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Sample Formatted text"
              }
            ]
          },
          "$ref": "#/definitions/TextFormatType"
        }
      }
    },
    "DateTimeSpanWindows": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DateTimeSpanWindows"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "TimeSpan": {
          "description": "Assigned Type: ota2-0400:TimeSpan",
          "$ref": "#/definitions/TimeSpan"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "StayRestrictions": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DateTimeSpanWindows"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "TimeSpan": {
          "description": "Assigned Type: ota2-0400:TimeSpan",
          "$ref": "#/definitions/TimeSpan"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "DateTimeSpanWindowsDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DateTimeSpanWindows"
      },
      "allOf": [
        {
          "$ref": "#/definitions/DateTimeSpanWindows"
        },
        {
          "properties": {
            "StartWindow": {
              "description": "Assigned Type: ota2-0400:TimeSpan",
              "$ref": "#/definitions/TimeSpan"
            },
            "EndWindow": {
              "description": "Assigned Type: ota2-0400:TimeSpan",
              "$ref": "#/definitions/TimeSpan"
            },
            "Duration": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100
            },
            "DurationUnit": {
              "description": "Assigned Type: ota2-0300:DurationUnit_Enum",
              "$ref": "#/definitions/DurationUnit_Enum"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "StayRestrictionsDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "DateTimeSpanWindows"
      },
      "allOf": [
        {
          "$ref": "#/definitions/DateTimeSpanWindows"
        },
        {
          "properties": {
            "StartWindow": {
              "description": "Assigned Type: ota2-0400:TimeSpan",
              "$ref": "#/definitions/TimeSpan"
            },
            "EndWindow": {
              "description": "Assigned Type: ota2-0400:TimeSpan",
              "$ref": "#/definitions/TimeSpan"
            },
            "Duration": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 100
            },
            "DurationUnit": {
              "description": "Assigned Type: ota2-0300:DurationUnit_Enum",
              "$ref": "#/definitions/DurationUnit_Enum"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "Code": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Code"
      },
      "description": "Any code used to specify an item, for example, type of traveler, service code, room amenity, etc.  May be used to reference the OpenTravel RMA Codelist.",
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 32
        },
        "codeContext": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "description": {
          "description": "Assigned Type: ota2-0400:String",
          "type": "string",
          "maxLength": 512
        }
      }
    },
    "PersonDocument": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "PersonDocument"
      },
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32",
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
          ]
        }
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "DocType": {
          "description": "Assigned Type: ota2-0300:DocumentType_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "DocType"
              }
            ]
          },
          "$ref": "#/definitions/DocumentType_Enum"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "PayloadStdAttributes": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "PayloadStdAttributes"
      },
      "description": "The standard attributes that appear on the root element for all OpenTravel messages.",
      "properties": {
        "echoToken": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to128"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "EchoToken"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "timeStamp": {
          "description": "YYYY-MM-DDThh:mm:ssZ with time values using the 24 hour clock:\\n20 November 2003, 1:59:38 pm UTC becomes 2003-11-20T13:59:38Z",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}dateTime"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "TimeStamp"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "target": {
          "description": "Test or Production target system indicator.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: OTA_PayloadStdAttributes_Target"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Target"
              }
            ]
          },
          "$ref": "#/definitions/TargetEnvironment_Enum"
        },
        "targetName": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "TargetName"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "version": {
          "description": "The OpenTravel message version indicated by a decimal value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}decimal"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Version"
              }
            ]
          },
          "type": "number",
          "format": "float"
        },
        "transactionIdentifier": {
          "description": "Unique identifier to relate all messages within a transaction (e.g. this would be sent in all request and response messages that are part of an on-going transaction).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "TransactionIdentifier"
              }
            ]
          },
          "type": "string"
        },
        "sequenceNmbr": {
          "description": "Implementer: Message resynchronization typically is required if a system has been off-line and needs to retrieve messages that were missed.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "SequenceNmbr"
              }
            ]
          },
          "type": "string"
        },
        "transactionStatusCode": {
          "description": "This indicates where this message falls within a sequence of messages.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: OTA_PayloadStdAttributes_TransactionStatusCode"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "TransactionStatusCode"
              }
            ]
          },
          "$ref": "#/definitions/TransactionStatusCode_Enum"
        },
        "correlationID": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CorrelationID"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "primaryLangID": {
          "description": "ISO 639 (3) character language codes: http:\\/\\/en.wikipedia.org\\/wiki\\/Lists_of_ISO_639_codes",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}language"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "PrimaryLangID"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "en"
              }
            ]
          },
          "type": "string"
        },
        "altLangID": {
          "description": "ISO 639 (3) character language codes: http:\\/\\/en.wikipedia.org\\/wiki\\/Lists_of_ISO_639_codes",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}language"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "AltLangID"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "es"
              }
            ]
          },
          "type": "string"
        },
        "retransmissionIndicatorInd": {
          "description": "Implementer: It is recommended that this attribute is used (i.e., set to TRUE) only when a message is retransmitted.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}boolean"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "RetransmissionIndicator"
              }
            ]
          },
          "type": "boolean"
        }
      },
      "required": [
        "version"
      ]
    },
    "TargetEnvironment_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "TargetEnvironment_Enum"
      },
      "type": "string",
      "enum": [
        "Test",
        "Production"
      ]
    },
    "TransactionStatusCode_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "TransactionStatusCode_Enum"
      },
      "type": "string",
      "enum": [
        "Start",
        "End",
        "Rollback",
        "InSeries",
        "Continuation",
        "Subsequent"
      ]
    },
    "ErrorWarning": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "ErrorWarning"
      },
      "description": "The error in textual format.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 512
        },
        "language": {
          "description": "Assigned Type: ota2-0400:LanguageCode",
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/ErrorWarningType_Enum_Base"
        },
        "typeExtension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        },
        "shortText": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        },
        "code": {
          "description": "Assigned Type: ota2-0400:OTA_Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Code"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
        },
        "docURL": {
          "description": "If present, this URL refers to an online description of the error that occurred.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}anyURI"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "DocURL"
              }
            ]
          },
          "type": "string"
        },
        "tag": {
          "description": "Assigned Type: ota2-0400:String",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Tag"
              }
            ]
          },
          "type": "string",
          "maxLength": 512
        },
        "recordID": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "RecordID"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "nodeList": {
          "description": "Assigned Type: ota2-0400:String",
          "type": "string",
          "maxLength": 512
        },
        "status": {
          "$ref": "#/definitions/Status_Enum_Base"
        },
        "statusExtension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "POS": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "POS"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Source": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Source"
          },
          "maxItems": 10,
          "minItems": 1
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "Source"
      ],
      "discriminator": "@type"
    },
    "Geolocation": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Geolocation"
      },
      "description": "TODO-(use enums and other for lat,long??  Format for the lat and long, is there a XML format)Used to specify the geographic coordinates of a location.",
      "properties": {
        "latitude": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Latitude"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "longitude": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Longitude"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "altitude": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Altitude"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "altitudeUnitOfMeasure_Enum": {
          "description": "Provides the unit of measure for the altitude (e.g., feet, meters, miles, kilometers). Refer to OpenTravel Code List Unit of Measure Code (UOM).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "AltitudeUnitOfMeasureCode"
              }
            ]
          },
          "$ref": "#/definitions/UnitOfMeasure_Enum"
        },
        "mapURL": {
          "description": "The URL of a map image.",
          "type": "string"
        },
        "formatURL": {
          "description": "The URL to the format for the latitude and longitude for this location.",
          "type": "string"
        }
      }
    },
    "RequestorID": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RequestorID"
      },
      "description": "An identifier of the entity making the request (e.g. ATA\\/IATA\\/ID number, Electronic Reservation Service Provider (ERSP), Association of British Travel Agents.(ABTA)).",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: UniqueID_Type"
          ]
        }
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RequestorIDDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RequestorID"
      },
      "description": "An identifier of the entity making the request (e.g. ATA\\/IATA\\/ID number, Electronic Reservation Service Provider (ERSP), Association of British Travel Agents.(ABTA)).",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: UniqueID_Type"
          ]
        }
      },
      "allOf": [
        {
          "$ref": "#/definitions/RequestorID"
        },
        {
          "properties": {
            "messagePassword": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "MessagePassword"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "personName": {
              "description": "Assigned Type: ota2-0400:PersonName",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Name"
                  }
                ]
              },
              "type": "string",
              "maxLength": 512
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "Source": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Source"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "agentSine": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "AgentSine"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "pseudoCityCode": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "PseudoCityCode"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "iSOCountry": {
          "description": "Assigned Type: ota2-0400:CountryCode_ISO3166",
          "x-otm-annotations": {
            "documentation": {
              "references": [
                "http:\\/\\/simple.wikipedia.org\\/wiki\\/ISO_3166-1_alpha-3"
              ],
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}ISO3166"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ISOCountry"
              }
            ]
          },
          "type": "string",
          "pattern": "[a-zA-Z]{2}"
        },
        "iSOCurrency": {
          "description": "Assigned Type: ota2-0400:CurrencyCode_ISO4217",
          "x-otm-annotations": {
            "documentation": {
              "references": [
                "http:\\/\\/www.iso.org\\/iso\\/support\\/currency_codes_list-1.htm"
              ],
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}AlphaLength3"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ISOCurrency"
              }
            ]
          },
          "type": "string",
          "pattern": "[a-zA-Z]{3}"
        },
        "agentDutyCode": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "AgentDutyCode"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "airlineVendorID": {
          "description": "Assigned Type: ota2-0400:AirlineCode_IATA",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}UpperCaseAlphaNumericLength2to3"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "AirlineVendorID"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "B6"
              }
            ]
          },
          "type": "string",
          "pattern": "([a-zA-Z0-9]{2})?"
        },
        "airportCode": {
          "description": "Assigned Type: ota2-0400:AirportCode_IATA",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}UpperCaseAlphaNumericLength3to5"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "AirportCode"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "IAD"
              }
            ]
          },
          "type": "string",
          "pattern": "([A-Z]{3})?"
        },
        "firstDepartPoint": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength3"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "FirstDepartPoint"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "eRSP_UserID": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ERSP_UserID"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "terminalID": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "TerminalID"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "RequestorID": {
          "description": "Assigned Type: ota2-0400:RequestorID",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}RequestorID"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "RequestorID"
              }
            ]
          },
          "$ref": "#/definitions/RequestorID"
        },
        "Position": {
          "description": "Assigned Type: ota2-0400:Geolocation",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Position"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Position"
              }
            ]
          },
          "$ref": "#/definitions/Geolocation"
        },
        "BookingChannel": {
          "description": "Assigned Type: ota2-0400:BookingChannel",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}BookingChannel"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "BookingChannel"
              }
            ]
          },
          "$ref": "#/definitions/BookingChannel"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "BookingChannel": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "BookingChannel"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "CompanyName": {
          "description": "Assigned Type: ota2-0400:CompanyName",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}CompanyNameType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CompanyName"
              }
            ]
          },
          "$ref": "#/definitions/CompanyName"
        },
        "Type": {
          "description": "Assigned Type: ota2-0300:BookingChannel_Enum",
          "$ref": "#/definitions/BookingChannel_Enum"
        },
        "primaryInd": {
          "description": "Indicates whether the enumerated booking channel is the primary means of connectivity used by the source.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Result": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Result"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ErrorWarning"
          },
          "maxItems": 50
        },
        "Warnings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ErrorWarning"
          },
          "maxItems": 50
        },
        "Status": {
          "description": "Assigned Type: ota2-0300:Status_Enum",
          "$ref": "#/definitions/Status_Enum"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "PersonID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Person"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}RPH_Type"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "RPH"
              }
            ]
          },
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "OtherID": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Identifier"
          },
          "maxItems": 5
        },
        "PersonRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type",
        "Identifier"
      ],
      "discriminator": "@type"
    },
    "Person": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Person"
      },
      "allOf": [
        {
          "$ref": "#/definitions/PersonID"
        },
        {
          "properties": {
            "gender": {
              "description": "The gender of the person.",
              "$ref": "#/definitions/Gender_Enum"
            },
            "maritalStatus_Enum": {
              "description": "Specifies the marital status of the person.",
              "$ref": "#/definitions/MaritalStatus_Enum"
            },
            "birthDate": {
              "description": "The birth date of the person.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "AttributeGroup: BirthDateGroup"
                  ]
                }
              },
              "type": "string",
              "format": "date"
            },
            "PersonName": {
              "description": "Assigned Type: ota2-0400:PersonName",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}PersonNameType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "PersonName"
                  }
                ]
              },
              "$ref": "#/definitions/PersonName"
            },
            "Address": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Address"
              },
              "maxItems": 5
            },
            "Telephone": {
              "description": "Assigned Type: ota2-0400:Telephone",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Example value: p \u003d 555-555-5555"
                  ]
                },
                "examples": [
                  {
                    "context": "Common",
                    "value": "555-555-5555"
                  }
                ]
              },
              "$ref": "#/definitions/Telephone"
            },
            "Email": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Email"
              },
              "maxItems": 5
            },
            "Privacy": {
              "description": "Assigned Type: ota2-0400:Privacy",
              "$ref": "#/definitions/Privacy"
            },
            "Comments": {
              "description": "Assigned Type: ota2-0400:TextFree",
              "$ref": "#/definitions/TextFree"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          },
          "required": [
            "PersonName"
          ]
        }
      ]
    },
    "Address": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Address"
      },
      "description": "Provides address information. Unformatted addresses are captured using the simple facet.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "AddressLine": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 128
          },
          "maxItems": 4
        },
        "BldgRoom": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AddressBldgRoom"
          },
          "maxItems": 2
        },
        "Number": {
          "description": "Assigned Type: ota2-0400:AddressStreetNumber",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StreetNmbr"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "StreetNmbr"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "111"
              }
            ]
          },
          "$ref": "#/definitions/AddressStreetNumber"
        },
        "Street": {
          "description": "May contain the street number when the Street number element is missing.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to255"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "AddressLine"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Travers Street"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "City": {
          "description": "City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CityName"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Dublin"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "County": {
          "description": "County or Region Name (e.g., Fairfax).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "County"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Fairfax"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "StateProv": {
          "description": "Assigned Type: ota2-0400:StateProv",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StateProvType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "StateProv"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Texas"
              }
            ]
          },
          "$ref": "#/definitions/StateProv"
        },
        "Country": {
          "description": "Assigned Type: ota2-0400:Country",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}CountryNameType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CountryName"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "IE"
              }
            ]
          },
          "$ref": "#/definitions/Country"
        },
        "PostalCode": {
          "description": "Post Office Code number.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "PostalCode"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "32165-9999"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "role": {
          "$ref": "#/definitions/Enum_AddressRole"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "AddressDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Address"
      },
      "description": "Provides address information. Unformatted addresses are captured using the simple facet.",
      "allOf": [
        {
          "$ref": "#/definitions/Address"
        },
        {
          "properties": {
            "language": {
              "description": "Example: en",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}language"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Language"
                  }
                ],
                "examples": [
                  {
                    "context": "Common",
                    "value": "en"
                  }
                ]
              },
              "type": "string"
            },
            "Remark": {
              "description": "A remark associated with this address.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to128"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Remark"
                  }
                ],
                "examples": [
                  {
                    "context": "Common",
                    "value": "This address should be used for all official correspondences."
                  }
                ]
              },
              "type": "string",
              "maxLength": 4096
            },
            "Privacy": {
              "description": "Assigned Type: ota2-0400:Privacy",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "AttributeGroup: PrivacyGroup"
                  ]
                }
              },
              "$ref": "#/definitions/Privacy"
            },
            "Type": {
              "description": "Assigned Type: ota2-0300:CommunicationLocation_Enum",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Type"
                  }
                ],
                "examples": [
                  {
                    "context": "Common",
                    "value": "CLT"
                  }
                ]
              },
              "$ref": "#/definitions/CommunicationLocation_Enum"
            },
            "Use": {
              "description": "Assigned Type: ota2-0300:AddressUse_Enum",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "Common",
                    "value": "AUT"
                  }
                ]
              },
              "$ref": "#/definitions/AddressUse_Enum"
            },
            "validInd": {
              "description": "If true, this is a valid and complete mailing address that has been verified through an address verification service or previously mailed materials have not been returned.",
              "type": "boolean"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "Enum_AddressRole": {
      "properties": {
        "value": {
          "$ref": "#/definitions/Enum_AddressRole_Open"
        },
        "extension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "Enum_AddressRole_Base": {
      "type": "string",
      "enum": [
        "Home",
        "Business",
        "Destination",
        "Other"
      ]
    },
    "Enum_AddressRole_Open": {
      "type": "string",
      "enum": [
        "Home",
        "Business",
        "Destination",
        "Other",
        "Other_"
      ]
    },
    "CodeExternal": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "CodeExternal"
      },
      "description": "Code with additional information describing the code authority.",
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 128
        },
        "description": {
          "description": "Description of who manages this set of codes.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Description"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Visa"
              }
            ]
          },
          "type": "string"
        },
        "name": {
          "description": "This may be a source authority\\/ owner name, ID or code.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "SourceName"
              }
            ]
          },
          "type": "string"
        },
        "uRL": {
          "description": "Implementer: This is A URL to the code source authority\\/ owner.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}anyURI"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "SourceURL"
              }
            ]
          },
          "type": "string"
        },
        "id": {
          "description": "Implementer: This is used for a database or key ID for the code item (if it is different from the @CodeExtension) in relationship to the obsolete code indicator.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "UniqueID"
              }
            ]
          },
          "type": "string"
        }
      }
    },
    "ContactPerson": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "ContactPerson"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "contactType": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "relation": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "Person": {
          "description": "Assigned Type: ota2-0400:Person",
          "$ref": "#/definitions/PersonID"
        },
        "CommunicationMethodCode": {
          "description": "Assigned Type: ota2-0300:DistributionType_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/DistributionType_Enum"
        },
        "DocumentDistribMethodCode": {
          "description": "Assigned Type: ota2-0300:DistributionType_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/DistributionType_Enum"
        },
        "emergencyFlagInd": {
          "description": "[LegacyDefaultValue: null]",
          "type": "boolean"
        },
        "defaultInd": {
          "description": "Indicates that the receiving system should assume the default value if the user specifies no overriding value or action.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: DefaultIndGroup"
              ]
            }
          },
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Location": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Location"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Address": {
          "description": "Assigned Type: ota2-0400:Address",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}AddressInfoType"
              ]
            }
          },
          "$ref": "#/definitions/Address"
        },
        "Position": {
          "description": "Assigned Type: ota2-0400:Geolocation",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Position"
              ]
            }
          },
          "$ref": "#/definitions/Geolocation"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "Address"
      ],
      "discriminator": "@type"
    },
    "IndexPointCode_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "IndexPointCode_Enum"
      },
      "description": "Indicates the type of location being referenced (e.g., Airport, Hotel).",
      "type": "string",
      "enum": [
        "Cross street",
        "Intersection",
        "Highway",
        "Highway exit",
        "City",
        "Airport",
        "Rail station",
        "Subway station",
        "Geo location",
        "Bus/coach station",
        "Hotel",
        "Nearest major city",
        "Surrounding city",
        "Heliport",
        "Regional express train station",
        "Attraction",
        "Business location",
        "Car rental location",
        "Convention center",
        "Educational",
        "Event",
        "Ground transport",
        "Military bases",
        "Park/recreational area",
        "Port",
        "Resort/ski area",
        "Shopping center",
        "Sports",
        "Transportation points",
        "Neighbouring state",
        "Metro area",
        "District",
        "Local landmark"
      ]
    },
    "Promotion": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Promotion"
      },
      "description": "Description of the promotion.",
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 128
        },
        "promotionVendorCode": {
          "description": "Assigned Type: ota2-0400:ListOfTinyStrings",
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          }
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        }
      }
    },
    "Email": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Email"
      },
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to128",
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to128"
          ]
        }
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "remark": {
          "description": "Assigned Type: ota2-0400:StringText",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to128"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Remark"
              }
            ]
          },
          "type": "string",
          "maxLength": 4096
        },
        "textFormat": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EmailType_TextFormat"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "TextFormat"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "Address": {
          "description": "The email address.  IETF RFC 2821",
          "type": "string",
          "maxLength": 512
        },
        "Type": {
          "description": "Assigned Type: ota2-0300:EmailAddressType_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "EmailType"
              }
            ]
          },
          "$ref": "#/definitions/EmailAddressType_Enum"
        },
        "Privacy": {
          "description": "Assigned Type: ota2-0400:Privacy",
          "$ref": "#/definitions/Privacy"
        },
        "validInd": {
          "description": "If true, this is a valid email address that has been system verified via a successful email transmission.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}boolean"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ValidInd"
              }
            ]
          },
          "type": "boolean"
        },
        "defaultInd": {
          "description": "If true, this identifies this is the default email address.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: DefaultIndGroup"
              ]
            }
          },
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "Address"
      ],
      "discriminator": "@type"
    },
    "MultimediaCollection": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "MultimediaCollection"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "lastUpdated": {
          "description": "The date and time when the collection of multimedia information was last updated.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}dateTime"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "LastUpdated"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "Multimedia": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Multimedia"
          },
          "minItems": 1
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "Multimedia"
      ],
      "discriminator": "@type"
    },
    "VideoCategoryID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "VideoCategory"
      },
      "description": "Each video item represents a specific category.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "VideoCategoryRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "VideoCategory": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "VideoCategory"
      },
      "description": "Each video item represents a specific category.",
      "allOf": [
        {
          "$ref": "#/definitions/VideoCategoryID"
        },
        {
          "properties": {
            "category": {
              "description": "Assigned Type: ota2-0400:OTA_Code",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Category"
                  }
                ]
              },
              "type": "string",
              "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
            },
            "language": {
              "description": "The language associated with the caption for the category.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}language"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Language"
                  }
                ],
                "examples": [
                  {
                    "context": "Common",
                    "value": "en"
                  }
                ]
              },
              "type": "string"
            },
            "caption": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to128"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Caption"
                  }
                ]
              },
              "type": "string",
              "maxLength": 128
            },
            "Video": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/VideoID"
              }
            },
            "removalInd": {
              "description": "If true, this item is obsolete and should be removed from the receiving system.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "AttributeGroup: RemovalGroup"
                  ]
                }
              },
              "type": "boolean"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "MultimediaDescription": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "MultimediaDescription"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "title": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "language": {
          "description": "The language in which the content is provided.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}language"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "en"
              }
            ]
          },
          "type": "string"
        },
        "caption": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to128",
                "Example value: ca1 \u003d The Empire State Building at sunset.",
                "Example value: tns \u003d The Empire State Building at sunset."
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Caption"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "The Empire State Building at sunset."
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "FormattedTextSubSection": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FormattedTextSubSection"
          },
          "maxItems": 99,
          "minItems": 1
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "FormattedTextSubSection"
      ],
      "discriminator": "@type"
    },
    "MultimediaDetails": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "MultimediaDetails"
      },
      "description": "Warning:  To be redesigned in the next release. The title of the multimedia object.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 128
        },
        "author": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Author"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "copyrightNotice": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CopyrightNotice"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "copyrightOwner": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CopyrightOwner"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "copyrightStart": {
          "description": "Assigned Type: ota2-0400:DateTime",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}DateOrDateTimeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CopyrightStart"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "copyrightEnd": {
          "description": "Assigned Type: ota2-0400:DateTime",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}DateOrDateTimeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "CopyrightEnd"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "effectiveStart": {
          "description": "Assigned Type: ota2-0400:DateTime",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}DateOrDateTimeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "EffectiveStart"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "effectiveEnd": {
          "description": "Assigned Type: ota2-0400:DateTime",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}DateOrDateTimeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "EffectiveEnd"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "applicableStart": {
          "description": "Start month and day or date for which the multimedia content is relevent (e.g. the start of a season or the start of an event). When a year is not used (i.e. only the month and day) it signifies a recurring event.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}DateOrMonthDay"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ApplicableStart"
              }
            ]
          },
          "type": "string",
          "format": "date"
        },
        "applicableEnd": {
          "description": "End month and day or date for which the multimedia content is relevent (e.g. the end of a season or the start of an event). When a year is not used (i.e. only the month and day) it signifies a recurring event.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}DateOrMonthDay"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ApplicableEnd"
              }
            ]
          },
          "type": "string",
          "format": "date"
        }
      }
    },
    "VideoID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Video"
      },
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: VideoItemType"
          ]
        }
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "VideoRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Video": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Video"
      },
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: VideoItemType"
          ]
        }
      },
      "allOf": [
        {
          "$ref": "#/definitions/VideoID"
        },
        {
          "properties": {
            "unitOfMeasureCode": {
              "description": "Assigned Type: ota2-0400:OTA_Code",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "UnitOfMeasureCode"
                  }
                ]
              },
              "type": "string",
              "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
            },
            "width": {
              "description": "The width of the video item (unit specified by unit of measure).",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Width"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "height": {
              "description": "The height of the video item (unit specified by unit of measure).",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Height"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "bitRate": {
              "description": "The bit rate of the video item.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "BitRate"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "length": {
              "description": "The length of the video item (unit specified by unit of measure).",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Length"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "version": {
              "description": "The version of the video item.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Version"
                  }
                ]
              },
              "type": "string"
            },
            "format": {
              "description": "Assigned Type: ota2-0400:OTA_Code",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "Format"
                  }
                ]
              },
              "type": "string",
              "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
            },
            "fileSize": {
              "description": "The size of the multimedia file in bytes.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "FileSize"
                  }
                ]
              },
              "type": "integer",
              "format": "int32"
            },
            "fileName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "FileName"
                  }
                ]
              },
              "type": "string",
              "maxLength": 128
            },
            "streamingSource": {
              "description": "Example: YouTube",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "StreamingSource"
                  }
                ]
              },
              "type": "string"
            },
            "URL": {
              "description": "URL of the multimedia item for a specific format.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}anyURI"
                  ]
                },
                "equivalents": [
                  {
                    "context": "Common",
                    "value": "URL"
                  }
                ]
              },
              "type": "string"
            },
            "Details": {
              "description": "Assigned Type: ota2-0400:MultimediaDetails",
              "$ref": "#/definitions/MultimediaDetails"
            },
            "MultimediaDescription": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/MultimediaDescription"
              }
            },
            "DateTimeStamp": {
              "description": "Assigned Type: ota2-0400:DateTimeStamp",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "AttributeGroup: DateTimeStampGroup"
                  ]
                }
              },
              "$ref": "#/definitions/DateTimeStamp"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "Rating": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Rating"
      },
      "description": "The actual award or rating received by the facility.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string"
        },
        "provider": {
          "description": "The name of the award or ratings provider.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Provider"
              }
            ]
          },
          "type": "string"
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        }
      }
    },
    "ProcessingInfo": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "ProcessingInfo"
      },
      "description": "Transaction processing directives, including display currency overrides. If no display currency information is provided, the display and pricing currency will default to the value in POS\\/Source\\/@ISOCurrency.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "(Developer Notes) An agreement should be in place with your trading partners that specifies what information is summary versus detail."
          ]
        }
      },
      "properties": {
        "displayCurrency": {
          "description": "Assigned Type: ota2-0400:CurrencyCode_ISO4217",
          "x-otm-annotations": {
            "documentation": {
              "references": [
                "(Reference): http:\\/\\/www.opentraveldevelopersnetwork.com\\/Supported_ISO_Standards.php"
              ],
              "more-info": [
                "(More Info): http:\\/\\/www.opentraveldevelopersnetwork.com\\/2012A_SchemaDoc\\/DisplayCurrency"
              ]
            }
          },
          "type": "string",
          "pattern": "[a-zA-Z]{3}"
        },
        "positiveInteger": {
          "description": "The maximum quantity of search results in the response.",
          "type": "integer",
          "format": "int32"
        },
        "summaryResultsInd": {
          "description": "If true, summary information is requested in the search results.",
          "type": "boolean"
        }
      }
    },
    "OperationSchedule": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "OperationSchedule"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "daysOfWeek": {
          "description": "The day(s) of week to which the operation time applies.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: DOW_PatternGroup"
              ]
            }
          },
          "$ref": "#/definitions/DayOfOperation"
        },
        "additionalOperationInfoCode": {
          "description": "Assigned Type: ota2-0400:OTA_Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "type": "string",
          "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
        },
        "frequency": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "text": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength0to64"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "DateTimeSpanWindows": {
          "description": "Assigned Type: ota2-0400:DateTimeSpanWindows",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: DateTimeSpanGroup"
              ]
            }
          },
          "$ref": "#/definitions/DateTimeSpanWindows"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RateRange": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "RateRange"
      },
      "description": "A range of monetary values within which the cost of the available products are requested.",
      "properties": {
        "minRate": {
          "description": "Assigned Type: ota2-0400:Money",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}Money"
              ]
            }
          },
          "type": "number",
          "format": "float"
        },
        "maxRate": {
          "description": "Assigned Type: ota2-0400:Money",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}Money"
              ]
            }
          },
          "type": "number",
          "format": "float"
        },
        "fixedRate": {
          "description": "Assigned Type: ota2-0400:Money",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}Money"
              ]
            }
          },
          "type": "number",
          "format": "float"
        },
        "rateTimeUnit": {
          "description": "Used to specify the period of time to which the rates apply.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}TimeUnitType"
              ]
            }
          },
          "$ref": "#/definitions/TimeUnit_Enum"
        },
        "currencyCode": {
          "description": "Assigned Type: ota2-0400:CurrencyCode_ISO4217",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}AlphaLength3"
              ]
            }
          },
          "type": "string",
          "pattern": "[a-zA-Z]{3}"
        }
      }
    },
    "Radius": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Radius"
      },
      "description": "The radius distance.",
      "properties": {
        "value": {
          "type": "integer",
          "format": "int32"
        },
        "unitOfMeasure": {
          "description": "The unit of measure for the radius value.",
          "$ref": "#/definitions/UnitOfMeasure_Enum"
        }
      }
    },
    "LocationCode": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "LocationCode"
      },
      "description": "Location code is city, stateProvence, or country code",
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 32
        },
        "city": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to8"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "Lancaster"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "stateProvince": {
          "description": "Assigned Type: ota2-0400:StateProvCode",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to8"
              ]
            }
          },
          "type": "string",
          "maxLength": 8,
          "minLength": 2
        },
        "country": {
          "description": "Assigned Type: ota2-0400:CountryCode_ISO3166",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}ISO3166"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "US"
              }
            ]
          },
          "type": "string",
          "pattern": "[a-zA-Z]{2}"
        },
        "codeContext": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "type": "string",
          "maxLength": 32
        }
      }
    },
    "ImageID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Image"
      },
      "description": "Warning:  This will be redesigned in the next release.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: VideoItemType"
          ]
        }
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "ImageRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Image": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Image"
      },
      "description": "Warning:  This will be redesigned in the next release.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: VideoItemType"
          ]
        }
      },
      "allOf": [
        {
          "$ref": "#/definitions/ImageID"
        },
        {
          "properties": {
            "version": {
              "description": "The version of the video item.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
                  ]
                }
              },
              "type": "string"
            },
            "format": {
              "description": "Assigned Type: ota2-0400:OTA_Code",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
                  ]
                }
              },
              "type": "string",
              "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
            },
            "dimensionCategory": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16",
                    "Example value: ca1 \u003d 100x100",
                    "Example value: tns \u003d 100x100"
                  ]
                }
              },
              "type": "string",
              "maxLength": 32
            },
            "sort": {
              "description": "Example: 1",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger",
                    "Example value: ca1 \u003d !",
                    "Example value: tns \u003d !"
                  ]
                }
              },
              "type": "integer",
              "format": "int32"
            },
            "resolution": {
              "description": "Example: 600",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger",
                    "Example value: ca1 \u003d 600",
                    "Example value: tns \u003d 600"
                  ]
                }
              },
              "type": "integer",
              "format": "int32"
            },
            "colorSpace": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
                  ]
                }
              },
              "type": "string",
              "maxLength": 128
            },
            "URL": {
              "description": "URL of the multimedia item for a specific format.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}anyURI"
                  ]
                }
              },
              "type": "string"
            },
            "Details": {
              "description": "Assigned Type: ota2-0400:MultimediaDetails",
              "$ref": "#/definitions/MultimediaDetails"
            },
            "MultimediaDescription": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/MultimediaDescription"
              }
            },
            "DateTimeStamp": {
              "description": "Assigned Type: ota2-0400:DateTimeStamp",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "AttributeGroup: DateTimeStampGroup"
                  ]
                }
              },
              "$ref": "#/definitions/DateTimeStamp"
            },
            "Email": {
              "description": "Assigned Type: ota2-0400:Email",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string",
                    "Example value: ca1 \u003d John@company.com",
                    "Example value: tns \u003d John@company.com"
                  ]
                }
              },
              "$ref": "#/definitions/Email"
            },
            "Dimensions": {
              "description": "Assigned Type: ota2-0400:Dimensions",
              "$ref": "#/definitions/Dimensions"
            },
            "File": {
              "description": "Assigned Type: ota2-0400:File",
              "$ref": "#/definitions/File"
            },
            "Geolocation": {
              "description": "Assigned Type: ota2-0400:Geolocation",
              "$ref": "#/definitions/Geolocation"
            },
            "originalIndicatorInd": {
              "description": "When true, the image is the original file and format. When false, the image is not the original file and format.",
              "type": "boolean"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "RelativePosition": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RelativePosition"
      },
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: TransportationsType",
            "Extension: TransportationsType"
          ]
        }
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "direction": {
          "description": "Defines the cardinal direction (e.g., north, south, southwest).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "distance": {
          "description": "Defines the distance between two points.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "unitOfMeasureCode": {
          "description": "The unit of measure in a code format. Refer to OpenTravel Code List Unit of Measure Code (UOM).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/UnitOfMeasure_Enum"
        },
        "indexPointCode": {
          "description": "This is the object referred to by the relative position (e.g. cross street, airport). Refer to OpenTravel Code List Index Point Code (IPC).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/IndexPointCode_Enum"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength0to64"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "toFrom": {
          "description": "Used to indicate whether the context is to a facility or from a facility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: RelativePositionType_ToFrom"
              ]
            }
          },
          "$ref": "#/definitions/ToFrom_Enum"
        },
        "positionAccuracy": {
          "description": "Indicates the accuracy of the property\u0027s geo-coding, since the property\u0027s longitude and latitude may not always be exact. Refer to OpenTravel Code List Position Accuracy Code (PAC).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/PositionAccuracy_Enum"
        },
        "Transportations": {
          "description": "Assigned Type: ota2-0400:Transportations",
          "$ref": "#/definitions/Transportations"
        },
        "Description": {
          "description": "Assigned Type: ota2-0400:Description",
          "$ref": "#/definitions/Description"
        },
        "nearestInd": {
          "description": "The indicator for whether this location is nearest.",
          "type": "boolean"
        },
        "primaryInd": {
          "description": "Indicates whether the reference point is considered the main reference point for the specific type of IndexPointCode (e.g., in Dallas, where IndexPointCode\u003dairport Dallas\\/Fort Worth airport would be the primary airport even if another airport such as Love Field is closer).",
          "type": "boolean"
        },
        "approximateDistanceInd": {
          "description": "When true, the distance information is approximate.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Directions": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RelativePosition"
      },
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: TransportationsType",
            "Extension: TransportationsType"
          ]
        }
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "direction": {
          "description": "Defines the cardinal direction (e.g., north, south, southwest).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "distance": {
          "description": "Defines the distance between two points.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "unitOfMeasureCode": {
          "description": "The unit of measure in a code format. Refer to OpenTravel Code List Unit of Measure Code (UOM).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/UnitOfMeasure_Enum"
        },
        "indexPointCode": {
          "description": "This is the object referred to by the relative position (e.g. cross street, airport). Refer to OpenTravel Code List Index Point Code (IPC).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/IndexPointCode_Enum"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength0to64"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "toFrom": {
          "description": "Used to indicate whether the context is to a facility or from a facility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: RelativePositionType_ToFrom"
              ]
            }
          },
          "$ref": "#/definitions/ToFrom_Enum"
        },
        "positionAccuracy": {
          "description": "Indicates the accuracy of the property\u0027s geo-coding, since the property\u0027s longitude and latitude may not always be exact. Refer to OpenTravel Code List Position Accuracy Code (PAC).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/PositionAccuracy_Enum"
        },
        "Transportations": {
          "description": "Assigned Type: ota2-0400:Transportations",
          "$ref": "#/definitions/Transportations"
        },
        "Description": {
          "description": "Assigned Type: ota2-0400:Description",
          "$ref": "#/definitions/Description"
        },
        "nearestInd": {
          "description": "The indicator for whether this location is nearest.",
          "type": "boolean"
        },
        "primaryInd": {
          "description": "Indicates whether the reference point is considered the main reference point for the specific type of IndexPointCode (e.g., in Dallas, where IndexPointCode\u003dairport Dallas\\/Fort Worth airport would be the primary airport even if another airport such as Love Field is closer).",
          "type": "boolean"
        },
        "approximateDistanceInd": {
          "description": "When true, the distance information is approximate.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "TransportationID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Transportation"
      },
      "description": "Detailed transportation information.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "TransportationRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Transportation": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Transportation"
      },
      "description": "Detailed transportation information.",
      "allOf": [
        {
          "$ref": "#/definitions/TransportationID"
        },
        {
          "properties": {
            "notificationRequired": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
                  ]
                }
              },
              "type": "string",
              "maxLength": 128
            },
            "description": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength0to64"
                  ]
                }
              },
              "type": "string",
              "maxLength": 128
            },
            "typicalTravelTime": {
              "description": "The normal (average) travel time required to get to or from the location, measured in minutes.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
                  ]
                }
              },
              "type": "string"
            },
            "Type": {
              "description": "Assigned Type: ota2-0300:Transportation_Enum",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                }
              },
              "$ref": "#/definitions/Transportation_Enum"
            },
            "MultimediaCollection": {
              "description": "Assigned Type: ota2-0400:MultimediaCollection",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}MultimediaDescriptionsType"
                  ]
                }
              },
              "$ref": "#/definitions/MultimediaCollection"
            },
            "OperationSchedule": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/OperationSchedule"
              },
              "maxItems": 30
            },
            "Description": {
              "description": "Descriptive text that describes the transportation.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
                  ]
                }
              },
              "type": "string",
              "maxLength": 4096
            },
            "ChargeUnit": {
              "description": "Assigned Type: ota2-0300:ChargeUnit_Enum",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
                  ]
                }
              },
              "$ref": "#/definitions/ChargeUnit_Enum"
            },
            "CurrencyAmount": {
              "description": "Assigned Type: ota2-0400:CurrencyAmount",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "AttributeGroup: CurrencyAmountGroup"
                  ]
                }
              },
              "$ref": "#/definitions/CurrencyAmount"
            },
            "Address": {
              "description": "Assigned Type: ota2-0400:Address",
              "$ref": "#/definitions/Address"
            },
            "LocationCode": {
              "description": "Assigned Type: ota2-0400:LocationCode",
              "$ref": "#/definitions/LocationCode"
            },
            "includedInd": {
              "description": "When true there is no additional charge for transportation.",
              "type": "boolean"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "Transportations": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Transportations"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Transportation": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransportationID"
          }
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "ArrivalTransport": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Transportations"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Transportation": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransportationID"
          }
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "DepartureTransport": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Transportations"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Transportation": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransportationID"
          }
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "TextCategory": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "TextCategory"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "category": {
          "description": "Assigned Type: ota2-0400:OTA_Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Category"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
        },
        "caption": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to128"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Caption"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "Text": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Text"
          }
        },
        "removalInd": {
          "description": "If true, this item is obsolete and should be removed from the receiving system.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: RemovalGroup"
              ]
            }
          },
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FormattedTextSubSection": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "FormattedTextSubSection"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "subTitle": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "subCode": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to8"
              ]
            }
          },
          "type": "string",
          "maxLength": 32
        },
        "subSectionNumber": {
          "description": "This attribute may be used when there is a need to number all of the sub-sections of information that is to be presented.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Numeric1to999"
              ]
            }
          },
          "type": "integer",
          "format": "int32"
        },
        "TextParagraph": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TextParagraph"
          },
          "maxItems": 99,
          "minItems": 1
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "TextParagraph"
      ],
      "discriminator": "@type"
    },
    "RateQualifier": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "RateQualifier"
      },
      "description": "Name of the rate qualifier",
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 128
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: RateQualifierCoreGroup"
              ]
            }
          },
          "type": "string",
          "maxLength": 32
        },
        "rateAuthorizationCode": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            }
          },
          "type": "string",
          "maxLength": 32
        },
        "rateID": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            }
          },
          "type": "string",
          "maxLength": 32
        },
        "ratePeriod": {
          "description": "The RatePeriod attribute defines the type of rate that may be applied. For example, typically car rental rates differ based upon the duration of the rental, and the actual rate is then expressed in terms of the period of the rental.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: RateQualifierCoreGroup_RatePeriod"
              ]
            }
          },
          "$ref": "#/definitions/RatePeriod_Enum"
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringLong",
          "type": "string",
          "maxLength": 4096
        }
      }
    },
    "LoyaltyProgram": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "LoyaltyProgram"
      },
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength0to32",
            "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength0to32"
          ]
        }
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "id": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        },
        "loyaltyLevel": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "LoyaltyLevel"
              }
            ],
            "examples": [
              {
                "context": "Common",
                "value": "Platinum"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "ProgramCode": {
          "description": "Assigned Type: ota2-0400:Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "ProgramCode"
              }
            ]
          },
          "$ref": "#/definitions/Code"
        },
        "TravelSector": {
          "description": "Assigned Type: ota2-0300:TravelSector_Enum",
          "$ref": "#/definitions/TravelSector_Enum"
        },
        "primaryInd": {
          "description": "When true, indicates this is the primary loyalty program and when absent or false, indicates this is not the primary loyalty program.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Features": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Features"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "quantity": {
          "description": "Assigned Type: ota2-0400:NonNegativeInteger",
          "type": "integer",
          "format": "int32",
          "minimum": 0,
          "exclusiveMinimum": false
        },
        "Description": {
          "description": "Assigned Type: ota2-0400:Description",
          "$ref": "#/definitions/Description"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FeaturesOther": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Features"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Features"
        },
        {
          "properties": {
            "Code": {
              "description": "Assigned Type: ota2-0400:Code",
              "$ref": "#/definitions/Code"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "Amount": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Amount"
      },
      "description": "Price of an item and information on how this price was calculated, for example, a daily rate multiplied by the number of players, a percentage, etc.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "unitPrice": {
          "description": "Assigned Type: ota2-0400:Money",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Money"
              ]
            }
          },
          "type": "number",
          "format": "float"
        },
        "unitName": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            }
          },
          "type": "string",
          "maxLength": 32
        },
        "quantity": {
          "description": "Assigned Type: ota2-0400:NonNegativeInteger",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Numeric1to99"
              ]
            }
          },
          "type": "integer",
          "format": "int32",
          "minimum": 0,
          "exclusiveMinimum": false
        },
        "percentage": {
          "description": "Assigned Type: ota2-0400:Percent",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Percentage"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "10"
              }
            ]
          },
          "type": "number",
          "format": "float",
          "maximum": 100.0,
          "exclusiveMaximum": false,
          "minimum": 0.0,
          "exclusiveMinimum": false
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        },
        "Total": {
          "description": "Assigned Type: ota2-0400:CurrencyAmount",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Money"
              ]
            }
          },
          "$ref": "#/definitions/CurrencyAmount"
        },
        "ChargeUnit": {
          "description": "Assigned Type: ota2-0300:ChargeUnit_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: TeeTimeType_Applicability"
              ]
            }
          },
          "$ref": "#/definitions/ChargeUnit_Enum"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Price": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Amount"
      },
      "description": "Price of an item and information on how this price was calculated, for example, a daily rate multiplied by the number of players, a percentage, etc.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "unitPrice": {
          "description": "Assigned Type: ota2-0400:Money",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Money"
              ]
            }
          },
          "type": "number",
          "format": "float"
        },
        "unitName": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to32"
              ]
            }
          },
          "type": "string",
          "maxLength": 32
        },
        "quantity": {
          "description": "Assigned Type: ota2-0400:NonNegativeInteger",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Numeric1to99"
              ]
            }
          },
          "type": "integer",
          "format": "int32",
          "minimum": 0,
          "exclusiveMinimum": false
        },
        "percentage": {
          "description": "Assigned Type: ota2-0400:Percent",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Percentage"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "10"
              }
            ]
          },
          "type": "number",
          "format": "float",
          "maximum": 100.0,
          "exclusiveMaximum": false,
          "minimum": 0.0,
          "exclusiveMinimum": false
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        },
        "Total": {
          "description": "Assigned Type: ota2-0400:CurrencyAmount",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Money"
              ]
            }
          },
          "$ref": "#/definitions/CurrencyAmount"
        },
        "ChargeUnit": {
          "description": "Assigned Type: ota2-0300:ChargeUnit_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: TeeTimeType_Applicability"
              ]
            }
          },
          "$ref": "#/definitions/ChargeUnit_Enum"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "AmountDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Amount"
      },
      "description": "Price of an item and information on how this price was calculated, for example, a daily rate multiplied by the number of players, a percentage, etc.",
      "allOf": [
        {
          "$ref": "#/definitions/Amount"
        },
        {
          "properties": {
            "maxQuantity": {
              "description": "Assigned Type: ota2-0400:NonNegativeInteger",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Numeric1to999"
                  ]
                }
              },
              "type": "integer",
              "format": "int32",
              "minimum": 0,
              "exclusiveMinimum": false
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "PriceDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Amount"
      },
      "description": "Price of an item and information on how this price was calculated, for example, a daily rate multiplied by the number of players, a percentage, etc.",
      "allOf": [
        {
          "$ref": "#/definitions/Amount"
        },
        {
          "properties": {
            "maxQuantity": {
              "description": "Assigned Type: ota2-0400:NonNegativeInteger",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Numeric1to999"
                  ]
                }
              },
              "type": "integer",
              "format": "int32",
              "minimum": 0,
              "exclusiveMinimum": false
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "Ancillary": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Ancillary"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:String",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string",
          "maxLength": 512
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        },
        "PricingType": {
          "description": "Assigned Type: ota2-0300:ChargeUnit_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: GolfAmenityType_PricingType"
              ]
            }
          },
          "$ref": "#/definitions/ChargeUnit_Enum"
        },
        "Code": {
          "description": "Assigned Type: ota2-0400:Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "$ref": "#/definitions/Code"
        },
        "includedInd": {
          "description": "If TRUE, this is included with the purchase.",
          "type": "boolean"
        },
        "orderableInd": {
          "description": "If TRUE, this ancillary may be ordered.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Amenity": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Amenity"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:String",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string",
          "maxLength": 512
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        },
        "Code": {
          "description": "Assigned Type: ota2-0400:Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "$ref": "#/definitions/Code"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "AmountOrPercent": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "AmountOrPercent"
      },
      "description": "Allows for either an amount or a percent to be expressed.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "AmountOrPercentAmount": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "AmountOrPercent"
      },
      "description": "Allows for either an amount or a percent to be expressed.",
      "allOf": [
        {
          "$ref": "#/definitions/AmountOrPercent"
        },
        {
          "properties": {
            "CurrencyAmount": {
              "description": "Assigned Type: ota2-0400:CurrencyAmount",
              "$ref": "#/definitions/CurrencyAmount"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "AmountOrPercentPercent": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "AmountOrPercent"
      },
      "description": "Allows for either an amount or a percent to be expressed.",
      "allOf": [
        {
          "$ref": "#/definitions/AmountOrPercent"
        },
        {
          "properties": {
            "Percent": {
              "description": "A percentage.",
              "type": "number",
              "format": "float",
              "maximum": 100.0,
              "exclusiveMaximum": false,
              "minimum": 0.0,
              "exclusiveMinimum": false
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "ReferencePoint": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "ReferencePoint"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "name": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "type": "string",
          "maxLength": 128
        },
        "Code": {
          "description": "Assigned Type: ota2-0400:Code",
          "$ref": "#/definitions/Code"
        },
        "Type": {
          "description": "Assigned Type: ota2-0300:ReferencePoint_Enum",
          "$ref": "#/definitions/ReferencePoint_Enum"
        },
        "Location": {
          "description": "Assigned Type: ota2-0400:Location",
          "$ref": "#/definitions/Location"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Dimensions": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "Dimensions"
      },
      "description": "Defines the dimensions of an object.",
      "properties": {
        "unitOfMeasureCode": {
          "description": "Assigned Type: ota2-0400:OTA_Code",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "type": "string",
          "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
        },
        "width": {
          "description": "The width of the image item (unit specified by unit of measure).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
              ]
            }
          },
          "type": "integer",
          "format": "int32"
        },
        "height": {
          "description": "The height of the image item (unit specified by unit of measure).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
              ]
            }
          },
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "File": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "File"
      },
      "description": "Properties of a file.",
      "properties": {
        "name": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "size": {
          "description": "The size of the multimedia file in bytes.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
              ]
            }
          },
          "type": "integer",
          "format": "int32"
        },
        "originalName": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64",
                "Example value: ca1 \u003d 394820",
                "Example value: tns \u003d 394820"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        }
      }
    },
    "Multimedia": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Multimedia"
      },
      "description": "Describes multimedia item(s).",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "lastUpdated": {
          "description": "The date and time when the multimedia information was last updated.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}dateTime"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "LastUpdated"
              }
            ]
          },
          "type": "string",
          "format": "date-time"
        },
        "version": {
          "description": "The version of the content, typically in the form of \\\"1\\\" or \\\"2.3.\\\"",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "Version"
              }
            ]
          },
          "type": "string"
        },
        "language": {
          "description": "The language associated with the caption for the category.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}language"
              ]
            },
            "examples": [
              {
                "context": "Common",
                "value": "en"
              }
            ]
          },
          "type": "string"
        },
        "caption": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to128"
              ]
            }
          },
          "type": "string",
          "maxLength": 128
        },
        "Category": {
          "description": "Assigned Type: ota2-0300:PictureCategory_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/PictureCategory_Enum"
        },
        "AdditionalDetailType": {
          "description": "Assigned Type: ota2-0300:AdditionalDetailType_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "AdditionalDetailCode"
              }
            ]
          },
          "$ref": "#/definitions/AdditionalDetailType_Enum"
        },
        "InfoType": {
          "description": "Assigned Type: ota2-0300:InformationType_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            },
            "equivalents": [
              {
                "context": "Common",
                "value": "InfoCode"
              }
            ]
          },
          "$ref": "#/definitions/InformationType_Enum"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "MultimediaText": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Multimedia"
      },
      "description": "Describes multimedia item(s).",
      "allOf": [
        {
          "$ref": "#/definitions/Multimedia"
        },
        {
          "properties": {
            "TextCategory": {
              "description": "Assigned Type: ota2-0400:TextCategory",
              "$ref": "#/definitions/TextCategory"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "MultimediaVideo": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Multimedia"
      },
      "description": "Describes multimedia item(s).",
      "allOf": [
        {
          "$ref": "#/definitions/Multimedia"
        },
        {
          "properties": {
            "VideoCategory": {
              "description": "Assigned Type: ota2-0400:VideoCategory",
              "$ref": "#/definitions/VideoCategoryID"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "Fee": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Fee"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Price": {
          "description": "Assigned Type: ota2-0400:Price",
          "$ref": "#/definitions/Price"
        },
        "FeeType": {
          "description": "Assigned Type: ota2-0300:FeeType_Enum",
          "$ref": "#/definitions/FeeType_Enum"
        },
        "Description": {
          "description": "Assigned Type: ota2-0400:Description",
          "$ref": "#/definitions/Description"
        },
        "FeeDetail": {
          "description": "Assigned Type: ota2-0400:FeeDetail",
          "$ref": "#/definitions/FeeDetail"
        },
        "taxExcludedInd": {
          "description": "When true, tax is excluded from the price.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Tax": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Tax"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "sequenceNbr": {
          "description": "Assigned Type: ota2-0400:String",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Changed type from {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}nonNegativeInteger.",
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string",
          "maxLength": 512
        },
        "AmountSummary": {
          "description": "Assigned Type: ota2-0400:Amount_Summary",
          "$ref": "#/definitions/Amount"
        },
        "EffectiveExpire": {
          "description": "Assigned Type: ota2-0400:DateEffectiveExpire",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: EffectiveExpireOptionalDateGroup"
              ]
            }
          },
          "$ref": "#/definitions/DateEffectiveExpire"
        },
        "TaxType_Enum": {
          "description": "Assigned Type: ota2-0300:TaxType_Enum",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "Common",
                "value": ""
              }
            ]
          },
          "$ref": "#/definitions/TaxType_Enum"
        },
        "taxExcludedInd": {
          "description": "When present and true, this tax is excluded.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "Taxes": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Taxes"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Total": {
          "description": "Assigned Type: ota2-0400:CurrencyAmount",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: CurrencyAmountGroup"
              ]
            }
          },
          "$ref": "#/definitions/CurrencyAmount"
        },
        "Tax": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Tax"
          },
          "maxItems": 99
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type",
        "Total"
      ],
      "discriminator": "@type"
    },
    "Fees": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Fees"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Fee": {
          "description": "Assigned Type: ota2-0400:Fee",
          "$ref": "#/definitions/Fee"
        },
        "Total": {
          "description": "Assigned Type: ota2-0400:CurrencyAmount",
          "$ref": "#/definitions/CurrencyAmount"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "AccessibilityFeatures_OTA20400": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "AccessibilityFeatures"
      },
      "description": "Describes accessibility featrues.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "AccessibilityFeatures": {
          "description": "Assigned Type: ota2-0300:DisabilityFeature_Enum",
          "$ref": "#/definitions/DisabilityFeature_Enum"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "BasePayload": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "BasePayload"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "PayloadStdAttributes": {
          "description": "Assigned Type: ota2-0400:PayloadStdAttributes",
          "$ref": "#/definitions/PayloadStdAttributes"
        },
        "POS": {
          "description": "Assigned Type: ota2-0400:POS",
          "$ref": "#/definitions/POS"
        },
        "ProcessingInfo": {
          "description": "Assigned Type: ota2-0400:ProcessingInfo",
          "$ref": "#/definitions/ProcessingInfo"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "ReferenceList": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "ReferenceList"
      },
      "description": "A list of objects that are referenced within another object.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "ReferenceListProduct": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "ReferenceList"
      },
      "description": "A list of objects that are referenced within another object.",
      "allOf": [
        {
          "$ref": "#/definitions/ReferenceList"
        },
        {
          "properties": {
            "Product": {
              "description": "Assigned Type: prod-0400:Product",
              "$ref": "#/definitions/ProductID"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "FeeDetail": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "FeeDetail"
      },
      "description": "Specifics around the fee such as who it applies to or how it is applied.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "ExtensionPoint_Shared": {
          "$ref": "#/definitions/ExtensionPoint_Shared"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FeeDetailAdditionalPerson": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "FeeDetail"
      },
      "description": "Specifics around the fee such as who it applies to or how it is applied.",
      "allOf": [
        {
          "$ref": "#/definitions/FeeDetail"
        },
        {
          "properties": {
            "minAge": {
              "description": "The min age for which this fee applies.",
              "type": "integer",
              "format": "int32"
            },
            "maxAge": {
              "description": "The max age for which the fee applies.",
              "type": "integer",
              "format": "int32"
            },
            "maxNumberAdditional": {
              "description": "The maximum number of additional people allowed.",
              "type": "integer",
              "format": "int32"
            },
            "feeAppliesAfter": {
              "description": "The number of people included in the price, before additional person charges apply.  The additonal person fee is applied after this number of people.  (E.G If feeAppliesAfter is 2 then the additional person fee begins with the 3 person.)",
              "type": "integer",
              "format": "int32"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "EncryptionToken": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "EncryptionToken"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "encryptionKey": {
          "description": "This contains a key required to retrieve the full payment instrument details compliant with PCI DSS standards.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "KHC32198gt4"
              }
            ]
          },
          "type": "string"
        },
        "encryptionKeyMethod": {
          "description": "This contains a reference to the key generation method being used - this is NOT the key value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "RotatingKeyEnvironment_DailyKey"
              }
            ]
          },
          "type": "string"
        },
        "encryptionMethod": {
          "description": "When using the OpenTravel Encryption element, it is RECOMMENDED that all trading partners be informed of all encryption methods being used in advance of implementation to ensure message processing compatibility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Triple DES"
              }
            ]
          },
          "type": "string"
        },
        "encryptedValue": {
          "description": "The value in an encrypted format.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "5dfc52b51bd35553df8592078de921bc"
              }
            ]
          },
          "type": "string"
        },
        "mask": {
          "description": "Assigned Type: ota2-0400:EncryptionTokenTypeMask",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Mask"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "xxxxxxxxxxxx9922"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "token": {
          "description": "Assigned Type: fin-0300:EncryptionTokenType_Token",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Token"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "AEGHV234AUD54367"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "tokenProviderID": {
          "description": "This contains a provider ID if multiple providers are used for secure information exchange.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Shift4 (payment)"
              }
            ]
          },
          "type": "string"
        },
        "authenticationMethod": {
          "description": "Specifies the method that was used to authenticate the card.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_AuthenticationMethod"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Check digit"
              }
            ]
          },
          "$ref": "#/definitions/AuthenticationMethod_Enum"
        },
        "PlainText": {
          "description": "Non-secure (plain text) value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "Warning": {
          "description": "Assigned Type: ota2-0400:ErrorWarning",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}WarningType"
              ]
            }
          },
          "$ref": "#/definitions/ErrorWarning"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "BankAcctNumber": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "EncryptionToken"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "encryptionKey": {
          "description": "This contains a key required to retrieve the full payment instrument details compliant with PCI DSS standards.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "KHC32198gt4"
              }
            ]
          },
          "type": "string"
        },
        "encryptionKeyMethod": {
          "description": "This contains a reference to the key generation method being used - this is NOT the key value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "RotatingKeyEnvironment_DailyKey"
              }
            ]
          },
          "type": "string"
        },
        "encryptionMethod": {
          "description": "When using the OpenTravel Encryption element, it is RECOMMENDED that all trading partners be informed of all encryption methods being used in advance of implementation to ensure message processing compatibility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Triple DES"
              }
            ]
          },
          "type": "string"
        },
        "encryptedValue": {
          "description": "The value in an encrypted format.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "5dfc52b51bd35553df8592078de921bc"
              }
            ]
          },
          "type": "string"
        },
        "mask": {
          "description": "Assigned Type: ota2-0400:EncryptionTokenTypeMask",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Mask"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "xxxxxxxxxxxx9922"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "token": {
          "description": "Assigned Type: fin-0300:EncryptionTokenType_Token",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Token"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "AEGHV234AUD54367"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "tokenProviderID": {
          "description": "This contains a provider ID if multiple providers are used for secure information exchange.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Shift4 (payment)"
              }
            ]
          },
          "type": "string"
        },
        "authenticationMethod": {
          "description": "Specifies the method that was used to authenticate the card.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_AuthenticationMethod"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Check digit"
              }
            ]
          },
          "$ref": "#/definitions/AuthenticationMethod_Enum"
        },
        "PlainText": {
          "description": "Non-secure (plain text) value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "Warning": {
          "description": "Assigned Type: ota2-0400:ErrorWarning",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}WarningType"
              ]
            }
          },
          "$ref": "#/definitions/ErrorWarning"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "BankID": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "EncryptionToken"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "encryptionKey": {
          "description": "This contains a key required to retrieve the full payment instrument details compliant with PCI DSS standards.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "KHC32198gt4"
              }
            ]
          },
          "type": "string"
        },
        "encryptionKeyMethod": {
          "description": "This contains a reference to the key generation method being used - this is NOT the key value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "RotatingKeyEnvironment_DailyKey"
              }
            ]
          },
          "type": "string"
        },
        "encryptionMethod": {
          "description": "When using the OpenTravel Encryption element, it is RECOMMENDED that all trading partners be informed of all encryption methods being used in advance of implementation to ensure message processing compatibility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Triple DES"
              }
            ]
          },
          "type": "string"
        },
        "encryptedValue": {
          "description": "The value in an encrypted format.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "5dfc52b51bd35553df8592078de921bc"
              }
            ]
          },
          "type": "string"
        },
        "mask": {
          "description": "Assigned Type: ota2-0400:EncryptionTokenTypeMask",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Mask"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "xxxxxxxxxxxx9922"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "token": {
          "description": "Assigned Type: fin-0300:EncryptionTokenType_Token",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Token"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "AEGHV234AUD54367"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "tokenProviderID": {
          "description": "This contains a provider ID if multiple providers are used for secure information exchange.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Shift4 (payment)"
              }
            ]
          },
          "type": "string"
        },
        "authenticationMethod": {
          "description": "Specifies the method that was used to authenticate the card.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_AuthenticationMethod"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Check digit"
              }
            ]
          },
          "$ref": "#/definitions/AuthenticationMethod_Enum"
        },
        "PlainText": {
          "description": "Non-secure (plain text) value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "Warning": {
          "description": "Assigned Type: ota2-0400:ErrorWarning",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}WarningType"
              ]
            }
          },
          "$ref": "#/definitions/ErrorWarning"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "CardNumber": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "EncryptionToken"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "encryptionKey": {
          "description": "This contains a key required to retrieve the full payment instrument details compliant with PCI DSS standards.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "KHC32198gt4"
              }
            ]
          },
          "type": "string"
        },
        "encryptionKeyMethod": {
          "description": "This contains a reference to the key generation method being used - this is NOT the key value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "RotatingKeyEnvironment_DailyKey"
              }
            ]
          },
          "type": "string"
        },
        "encryptionMethod": {
          "description": "When using the OpenTravel Encryption element, it is RECOMMENDED that all trading partners be informed of all encryption methods being used in advance of implementation to ensure message processing compatibility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Triple DES"
              }
            ]
          },
          "type": "string"
        },
        "encryptedValue": {
          "description": "The value in an encrypted format.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "5dfc52b51bd35553df8592078de921bc"
              }
            ]
          },
          "type": "string"
        },
        "mask": {
          "description": "Assigned Type: ota2-0400:EncryptionTokenTypeMask",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Mask"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "xxxxxxxxxxxx9922"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "token": {
          "description": "Assigned Type: fin-0300:EncryptionTokenType_Token",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Token"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "AEGHV234AUD54367"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "tokenProviderID": {
          "description": "This contains a provider ID if multiple providers are used for secure information exchange.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Shift4 (payment)"
              }
            ]
          },
          "type": "string"
        },
        "authenticationMethod": {
          "description": "Specifies the method that was used to authenticate the card.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_AuthenticationMethod"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Check digit"
              }
            ]
          },
          "$ref": "#/definitions/AuthenticationMethod_Enum"
        },
        "PlainText": {
          "description": "Non-secure (plain text) value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "Warning": {
          "description": "Assigned Type: ota2-0400:ErrorWarning",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}WarningType"
              ]
            }
          },
          "$ref": "#/definitions/ErrorWarning"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "SeriesCode": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "EncryptionToken"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "encryptionKey": {
          "description": "This contains a key required to retrieve the full payment instrument details compliant with PCI DSS standards.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "KHC32198gt4"
              }
            ]
          },
          "type": "string"
        },
        "encryptionKeyMethod": {
          "description": "This contains a reference to the key generation method being used - this is NOT the key value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "RotatingKeyEnvironment_DailyKey"
              }
            ]
          },
          "type": "string"
        },
        "encryptionMethod": {
          "description": "When using the OpenTravel Encryption element, it is RECOMMENDED that all trading partners be informed of all encryption methods being used in advance of implementation to ensure message processing compatibility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Triple DES"
              }
            ]
          },
          "type": "string"
        },
        "encryptedValue": {
          "description": "The value in an encrypted format.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "5dfc52b51bd35553df8592078de921bc"
              }
            ]
          },
          "type": "string"
        },
        "mask": {
          "description": "Assigned Type: ota2-0400:EncryptionTokenTypeMask",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Mask"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "xxxxxxxxxxxx9922"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "token": {
          "description": "Assigned Type: fin-0300:EncryptionTokenType_Token",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Token"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "AEGHV234AUD54367"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "tokenProviderID": {
          "description": "This contains a provider ID if multiple providers are used for secure information exchange.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Shift4 (payment)"
              }
            ]
          },
          "type": "string"
        },
        "authenticationMethod": {
          "description": "Specifies the method that was used to authenticate the card.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_AuthenticationMethod"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Check digit"
              }
            ]
          },
          "$ref": "#/definitions/AuthenticationMethod_Enum"
        },
        "PlainText": {
          "description": "Non-secure (plain text) value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "Warning": {
          "description": "Assigned Type: ota2-0400:ErrorWarning",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}WarningType"
              ]
            }
          },
          "$ref": "#/definitions/ErrorWarning"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "MagneticStripe": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "EncryptionToken"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "encryptionKey": {
          "description": "This contains a key required to retrieve the full payment instrument details compliant with PCI DSS standards.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "KHC32198gt4"
              }
            ]
          },
          "type": "string"
        },
        "encryptionKeyMethod": {
          "description": "This contains a reference to the key generation method being used - this is NOT the key value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "RotatingKeyEnvironment_DailyKey"
              }
            ]
          },
          "type": "string"
        },
        "encryptionMethod": {
          "description": "When using the OpenTravel Encryption element, it is RECOMMENDED that all trading partners be informed of all encryption methods being used in advance of implementation to ensure message processing compatibility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Triple DES"
              }
            ]
          },
          "type": "string"
        },
        "encryptedValue": {
          "description": "The value in an encrypted format.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "5dfc52b51bd35553df8592078de921bc"
              }
            ]
          },
          "type": "string"
        },
        "mask": {
          "description": "Assigned Type: ota2-0400:EncryptionTokenTypeMask",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Mask"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "xxxxxxxxxxxx9922"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "token": {
          "description": "Assigned Type: fin-0300:EncryptionTokenType_Token",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Token"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "AEGHV234AUD54367"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "tokenProviderID": {
          "description": "This contains a provider ID if multiple providers are used for secure information exchange.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Shift4 (payment)"
              }
            ]
          },
          "type": "string"
        },
        "authenticationMethod": {
          "description": "Specifies the method that was used to authenticate the card.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_AuthenticationMethod"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Check digit"
              }
            ]
          },
          "$ref": "#/definitions/AuthenticationMethod_Enum"
        },
        "PlainText": {
          "description": "Non-secure (plain text) value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "Warning": {
          "description": "Assigned Type: ota2-0400:ErrorWarning",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}WarningType"
              ]
            }
          },
          "$ref": "#/definitions/ErrorWarning"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "AuthenticationVerification": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "EncryptionToken"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "encryptionKey": {
          "description": "This contains a key required to retrieve the full payment instrument details compliant with PCI DSS standards.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "KHC32198gt4"
              }
            ]
          },
          "type": "string"
        },
        "encryptionKeyMethod": {
          "description": "This contains a reference to the key generation method being used - this is NOT the key value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "RotatingKeyEnvironment_DailyKey"
              }
            ]
          },
          "type": "string"
        },
        "encryptionMethod": {
          "description": "When using the OpenTravel Encryption element, it is RECOMMENDED that all trading partners be informed of all encryption methods being used in advance of implementation to ensure message processing compatibility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Triple DES"
              }
            ]
          },
          "type": "string"
        },
        "encryptedValue": {
          "description": "The value in an encrypted format.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "5dfc52b51bd35553df8592078de921bc"
              }
            ]
          },
          "type": "string"
        },
        "mask": {
          "description": "Assigned Type: ota2-0400:EncryptionTokenTypeMask",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Mask"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "xxxxxxxxxxxx9922"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "token": {
          "description": "Assigned Type: fin-0300:EncryptionTokenType_Token",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Token"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "AEGHV234AUD54367"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "tokenProviderID": {
          "description": "This contains a provider ID if multiple providers are used for secure information exchange.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Shift4 (payment)"
              }
            ]
          },
          "type": "string"
        },
        "authenticationMethod": {
          "description": "Specifies the method that was used to authenticate the card.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_AuthenticationMethod"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Check digit"
              }
            ]
          },
          "$ref": "#/definitions/AuthenticationMethod_Enum"
        },
        "PlainText": {
          "description": "Non-secure (plain text) value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "Warning": {
          "description": "Assigned Type: ota2-0400:ErrorWarning",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}WarningType"
              ]
            }
          },
          "$ref": "#/definitions/ErrorWarning"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "TransactionPassword": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "EncryptionToken"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "encryptionKey": {
          "description": "This contains a key required to retrieve the full payment instrument details compliant with PCI DSS standards.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "KHC32198gt4"
              }
            ]
          },
          "type": "string"
        },
        "encryptionKeyMethod": {
          "description": "This contains a reference to the key generation method being used - this is NOT the key value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "RotatingKeyEnvironment_DailyKey"
              }
            ]
          },
          "type": "string"
        },
        "encryptionMethod": {
          "description": "When using the OpenTravel Encryption element, it is RECOMMENDED that all trading partners be informed of all encryption methods being used in advance of implementation to ensure message processing compatibility.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Triple DES"
              }
            ]
          },
          "type": "string"
        },
        "encryptedValue": {
          "description": "The value in an encrypted format.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "5dfc52b51bd35553df8592078de921bc"
              }
            ]
          },
          "type": "string"
        },
        "mask": {
          "description": "Assigned Type: ota2-0400:EncryptionTokenTypeMask",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Mask"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "xxxxxxxxxxxx9922"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "token": {
          "description": "Assigned Type: fin-0300:EncryptionTokenType_Token",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_Token"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "AEGHV234AUD54367"
              }
            ]
          },
          "type": "string",
          "pattern": "[0-9a-zA-Z]{1,32}"
        },
        "tokenProviderID": {
          "description": "This contains a provider ID if multiple providers are used for secure information exchange.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Shift4 (payment)"
              }
            ]
          },
          "type": "string"
        },
        "authenticationMethod": {
          "description": "Specifies the method that was used to authenticate the card.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: EncryptionTokenType_AuthenticationMethod"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "Check digit"
              }
            ]
          },
          "$ref": "#/definitions/AuthenticationMethod_Enum"
        },
        "PlainText": {
          "description": "Non-secure (plain text) value.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
              ]
            }
          },
          "type": "string"
        },
        "Warning": {
          "description": "Assigned Type: ota2-0400:ErrorWarning",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}WarningType"
              ]
            }
          },
          "$ref": "#/definitions/ErrorWarning"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "PaymentCard": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "PaymentCard"
      },
      "description": "Specifies the details of the debit or credit card.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "id": {
          "description": "XML ID only for use within the document.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}RPH_Type"
              ]
            },
            "equivalents": [
              {
                "context": "fin",
                "value": "RPH"
              }
            ]
          },
          "type": "string"
        },
        "effectiveDate": {
          "description": "Assigned Type: ota2-0400:DateMMYY",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: PaymentCardDateGroup"
              ]
            },
            "examples": [
              {
                "context": "fin",
                "value": "0116"
              }
            ]
          },
          "type": "string",
          "pattern": "(0[1-9]|1[0-2])[0-9][0-9]"
        },
        "expireDate": {
          "description": "Assigned Type: ota2-0400:DateMMYY",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "fin",
                "value": "0117"
              }
            ]
          },
          "type": "string",
          "pattern": "(0[1-9]|1[0-2])[0-9][0-9]"
        },
        "Privacy": {
          "description": "Assigned Type: ota2-0400:Privacy",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: PrivacyGroup"
              ]
            }
          },
          "$ref": "#/definitions/Privacy"
        },
        "CardCode": {
          "description": "Card code association such as VI for Visa, MC for Mastercard or AX for American Express, etc.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}PaymentCardCodeType"
              ]
            },
            "equivalents": [
              {
                "context": "fin",
                "value": "CardCode"
              }
            ]
          },
          "type": "string",
          "maxLength": 32,
          "pattern": "([a-zA-Z]{2})?"
        },
        "CardType": {
          "description": "Assigned Type: fin-0300:PaymentCardType_Issuer",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Issuer"
              ]
            },
            "equivalents": [
              {
                "context": "fin",
                "value": "Issuer"
              }
            ]
          },
          "$ref": "#/definitions/PaymentCardType_Issuer"
        },
        "Issuer": {
          "description": "Assigned Type: ota2-0400:CodeExternal",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}List_PaymentCardIssuer"
              ]
            },
            "equivalents": [
              {
                "context": "fin",
                "value": "CardType"
              }
            ]
          },
          "$ref": "#/definitions/CodeExternal"
        },
        "CardHolderName": {
          "description": "Card holder name.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "fin",
                "value": "CardHolderName"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "CardNumber": {
          "description": "Assigned Type: fin-0300:CardNumber",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}EncryptionTokenType"
              ]
            },
            "equivalents": [
              {
                "context": "fin",
                "value": "CardNumber"
              }
            ]
          },
          "$ref": "#/definitions/CardNumber"
        },
        "AuthenticationVerification": {
          "description": "Assigned Type: fin-0300:AuthenticationVerification",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}EncryptionTokenType"
              ]
            },
            "equivalents": [
              {
                "context": "fin",
                "value": "SeriesCode"
              }
            ]
          },
          "$ref": "#/definitions/AuthenticationVerification"
        },
        "MagneticStripe": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MagneticStripe"
          },
          "maxItems": 3
        },
        "SeriesCode": {
          "description": "Assigned Type: fin-0300:SeriesCode",
          "$ref": "#/definitions/SeriesCode"
        },
        "secureInd": {
          "description": "If true, all or a portion of this data is secure, via tokenization, encryption and\\/or masking.",
          "type": "boolean"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "PaymentCardType_Issuer": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "PaymentCardType_Issuer"
      },
      "description": "Code of the payment card issuer.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Extension: List_PaymentCardIssuer"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 128
        },
        "issuerCode": {
          "$ref": "#/definitions/PaymentCardIssuer_Enum_Base"
        },
        "issuerCodeExtension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        }
      }
    },
    "AuthenticationMethod_Enum": {
      "x-otm-entity": {
        "EntityType": "EnumerationClosed",
        "EntityName": "AuthenticationMethod_Enum"
      },
      "type": "string",
      "enum": [
        "SecurityCode",
        "MagneticStripe"
      ]
    },
    "RoomStayID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomStay"
      },
      "description": "Details on the Room Stay including Guest Counts, Time Span of this Room Stay, pointers to Res Guests, guest Memberships, Comments and Special Requests pertaining to this particular Room Stay and finally finacial information related to the Room Stay, including Guarantee, Deposit and Payment and Cancellation Penalties.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "RoomStayRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RoomStay": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomStay"
      },
      "description": "Details on the Room Stay including Guest Counts, Time Span of this Room Stay, pointers to Res Guests, guest Memberships, Comments and Special Requests pertaining to this particular Room Stay and finally finacial information related to the Room Stay, including Guarantee, Deposit and Payment and Cancellation Penalties.",
      "allOf": [
        {
          "$ref": "#/definitions/RoomStayID"
        },
        {
          "properties": {
            "invBlockCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "xyzzy"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "RoomType": {
              "description": "Assigned Type: ph:RoomType",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}RoomTypes"
                  ]
                }
              },
              "$ref": "#/definitions/RoomTypeID"
            },
            "RatePlan": {
              "description": "Assigned Type: ph:RatePlan",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}RatePlans"
                  ]
                }
              },
              "$ref": "#/definitions/RatePlan"
            },
            "DateTimeSpanWindows": {
              "description": "Assigned Type: ota2-0400:DateTimeSpanWindows",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}DateTimeSpanType"
                  ]
                }
              },
              "$ref": "#/definitions/DateTimeSpanWindows"
            },
            "SpecialRequest": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SpecialRequest"
              },
              "maxItems": 50
            },
            "FacilityRef": {
              "description": "The hotel facility object for the room stay.  May include the hotel facility object or a reference to the hotel facility object.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}BasicPropertyInfo"
                  ]
                }
              },
              "type": "string"
            },
            "ExtensionPoint_Summary": {
              "$ref": "#/definitions/ExtensionPoint_Summary"
            }
          },
          "required": [
            "RoomType",
            "RatePlan",
            "DateTimeSpanWindows"
          ]
        }
      ]
    },
    "RoomStayDetail": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomStay"
      },
      "description": "Details on the Room Stay including Guest Counts, Time Span of this Room Stay, pointers to Res Guests, guest Memberships, Comments and Special Requests pertaining to this particular Room Stay and finally finacial information related to the Room Stay, including Guarantee, Deposit and Payment and Cancellation Penalties.",
      "allOf": [
        {
          "$ref": "#/definitions/RoomStay"
        },
        {
          "properties": {
            "language": {
              "description": "Language of the response for the RoomStay (property). Note that the requested language may not be available for all properties and so the language of the response for each property may vary.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}language"
                  ]
                },
                "examples": [
                  {
                    "context": "ph",
                    "value": "en"
                  }
                ]
              },
              "type": "string"
            },
            "Comment": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Comment"
              },
              "maxItems": 10
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "RoomStayQueryCandidate": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomStay"
      },
      "description": "Details on the Room Stay including Guest Counts, Time Span of this Room Stay, pointers to Res Guests, guest Memberships, Comments and Special Requests pertaining to this particular Room Stay and finally finacial information related to the Room Stay, including Guarantee, Deposit and Payment and Cancellation Penalties.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "ArrivalDepartureDates": {
          "description": "Assigned Type: ota2-0400:DateEffectiveExpire",
          "$ref": "#/definitions/DateEffectiveExpire"
        },
        "BasicPropertyInfo": {
          "description": "Assigned Type: ph:BasicPropertyInfo",
          "$ref": "#/definitions/BasicPropertyInfo"
        },
        "RoomType": {
          "description": "Assigned Type: ph:RoomType",
          "$ref": "#/definitions/RoomTypeID"
        },
        "GuestCount": {
          "description": "Assigned Type: prod-0400:GuestCount",
          "$ref": "#/definitions/GuestCount"
        },
        "RoomRateQueryRange": {
          "description": "Assigned Type: ph:RoomRate_Query_Range",
          "$ref": "#/definitions/RoomRateQueryRange"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RoomTypeID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomType"
      },
      "description": "Provides details regarding rooms, usually guest rooms.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RoomType": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomType"
      },
      "description": "Provides details regarding rooms, usually guest rooms.",
      "allOf": [
        {
          "$ref": "#/definitions/RoomTypeID"
        },
        {
          "properties": {
            "RoomCharacteristics": {
              "description": "Assigned Type: ph:RoomCharacteristics",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "AttributeGroup: RoomGroup"
                  ]
                }
              },
              "$ref": "#/definitions/RoomCharacteristics"
            },
            "Description": {
              "description": "Assigned Type: ota2-0400:Description",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}ParagraphType"
                  ]
                }
              },
              "$ref": "#/definitions/Description"
            },
            "Amenity": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Amenity"
              },
              "maxItems": 1000
            },
            "RoomOccupancy": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RoomOccupancy"
              },
              "maxItems": 10
            },
            "Code": {
              "description": "Assigned Type: ota2-0400:Code",
              "$ref": "#/definitions/Code"
            },
            "Tier": {
              "description": "TODO:  Create enumerated list.  Indicates the category of the room. Typical values would be Moderate, Standard, or Deluxe. Refer to OpenTravel Code List Segment Category Code (SEG).",
              "type": "string",
              "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "RatePlan": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RatePlan"
      },
      "description": "Information significant to defining a rate plan.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "ratePlanID": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "RatePlanID"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": "AAAB"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "ratePlanName": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "RatePlanName"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": "AAA with Breakfast"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "Description": {
          "description": "Assigned Type: ota2-0400:Description",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}ParagraphType"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": ""
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": ""
              }
            ]
          },
          "$ref": "#/definitions/Description"
        },
        "RatePlanInclusions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RatePlanInclusions"
          },
          "maxItems": 50
        },
        "RatePlanCode": {
          "description": "Assigned Type: ph:RatePlanCode",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to16"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "RatePlanCode"
              }
            ]
          },
          "$ref": "#/definitions/RatePlanCode"
        },
        "RatePlanType": {
          "description": "Assigned Type: ota2-0300:RatePlanType_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "RatePlanType"
              }
            ]
          },
          "$ref": "#/definitions/RatePlanType_Enum"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RatePlanDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RatePlan"
      },
      "description": "Information significant to defining a rate plan.",
      "allOf": [
        {
          "$ref": "#/definitions/RatePlan"
        },
        {
          "properties": {
            "Commission": {
              "description": "Assigned Type: ph:Commission",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}CommissionType"
                  ]
                },
                "equivalents": [
                  {
                    "context": "ph",
                    "value": "Commission"
                  }
                ]
              },
              "$ref": "#/definitions/Commission"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "RoomOccupancy": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RoomOccupancy"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "minOccupancy": {
          "description": "Assigned Type: ota2-0400:NonNegativeInteger",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "1"
              }
            ]
          },
          "type": "integer",
          "format": "int32",
          "minimum": 0,
          "exclusiveMinimum": false
        },
        "maxOccupancy": {
          "description": "Assigned Type: ota2-0400:NonNegativeInteger",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "4"
              }
            ]
          },
          "type": "integer",
          "format": "int32",
          "minimum": 0,
          "exclusiveMinimum": false
        },
        "AgeQualifying": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AgeQualifyingCode_Enum"
          },
          "maxItems": 20
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "SpecialRequest": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "SpecialRequest"
      },
      "description": "This identifies a special request for this reservation and is typically hotel-specific.",
      "properties": {
        "numberOfUnits": {
          "description": "Allows you to pass the number of units that the special request is for (e.g., if 4 rooms are booked you may want 3 with double\\/double beds and 1 with a king).",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}integer"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "NumberOfUnits"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": "1"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "RatePlanInclusions": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RatePlanInclusions"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "Description": {
          "description": "Assigned Type: ota2-0400:Description",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}ParagraphType"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "RatePlanInclusionDesciption"
              }
            ]
          },
          "$ref": "#/definitions/Description"
        },
        "taxInclusiveInd": {
          "description": "Indicates that tax is included in the rate.",
          "type": "boolean"
        },
        "serviceFeeInclusiveInd": {
          "description": "Indicates that service fees are included in the rate.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RatePlanCode": {
      "x-otm-entity": {
        "EntityType": "ValueWithAttributes",
        "EntityName": "RatePlanCode"
      },
      "description": "A string value may be used to request a particular code or an ID if the guest qualifies for a specific rate, such as AARP, AAA, a corporate rate, etc., or to specify a negotiated code as a result of a negotiated rate.",
      "x-otm-annotations": {
        "documentation": {
          "implementers": [
            "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
          ]
        }
      },
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 128
        },
        "ratePlanType": {
          "$ref": "#/definitions/RatePlanType_Enum_Base"
        },
        "ratePlanTypeExtension": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1
        },
        "ratePlanID": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "RatePlanID"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": "12345678"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "ratePlanCategory": {
          "description": "Assigned Type: ota2-0400:StringShort",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to64"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "RatePlanCategory"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": "POD"
              }
            ]
          },
          "type": "string",
          "maxLength": 128
        },
        "promotionCode": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "L9Z"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "promotionVendorCode": {
          "description": "Assigned Type: ota2-0400:ListOfTinyStrings",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "WT1"
              }
            ]
          },
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32
          }
        },
        "ratePlanQualifierInd": {
          "description": "The Rate Plan Qualifier is used to control the sort order of RatePlans. Those Rate Plans that are not qualified will appear first, those that are qualified will appear last.",
          "type": "boolean"
        }
      }
    },
    "Commission": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "Commission"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "percent": {
          "description": "Assigned Type: ota2-0400:Percent",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Percentage"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "Percent"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": "10"
              }
            ]
          },
          "type": "number",
          "format": "float",
          "maximum": 100.0,
          "exclusiveMaximum": false,
          "minimum": 0.0,
          "exclusiveMinimum": false
        },
        "reasonCode": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to8"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "ReasonCode"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": "No Show"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "maxCommissionUnitApplies": {
          "description": "Maximum number of units for which the commission will be applied. This may be used in conjunction with the frequency attribute.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}positiveInteger"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "MaxCommissionUnitApplies"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": "5"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "capAmount": {
          "description": "Assigned Type: ota2-0400:Money",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}Money"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "CapAmount"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": "100.00"
              }
            ]
          },
          "type": "number",
          "format": "float"
        },
        "CurrencyCode": {
          "description": "Indicates the currency to be applied to the amounts located in the child elements.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: CurrencyCodeGroup"
              ]
            },
            "examples": [
              {
                "context": "ph",
                "value": "USD"
              }
            ]
          },
          "type": "string",
          "pattern": "[a-zA-Z]{3}"
        },
        "Frequency": {
          "description": "Assigned Type: ota2-0300:ChargeUnit_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}OTA_CodeType"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "Frequency"
              }
            ],
            "examples": [
              {
                "context": "ph",
                "value": ""
              }
            ]
          },
          "$ref": "#/definitions/ChargeUnit_Enum"
        },
        "PersonIdentifier": {
          "description": "Assigned Type: ota2-0400:Person_ID",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}UniqueID_Type"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "UniqueID"
              }
            ]
          },
          "$ref": "#/definitions/PersonID"
        },
        "CommissionableAmount": {
          "description": "Assigned Type: ph:CommissionableAmount",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}CommissionableAmount"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "CommissionableAmount"
              }
            ]
          },
          "$ref": "#/definitions/CommissionableAmount"
        },
        "PrepaidAmount": {
          "description": "Assigned Type: ota2-0400:CurrencyAmount",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}PrepaidAmount"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "PrepaidAmount"
              }
            ]
          },
          "$ref": "#/definitions/CurrencyAmount"
        },
        "FlatCommission": {
          "description": "Assigned Type: ota2-0400:CurrencyAmount",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}FlatCommission"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "FlatCommission"
              }
            ]
          },
          "$ref": "#/definitions/CurrencyAmount"
        },
        "PayableAmount": {
          "description": "Assigned Type: ota2-0400:CurrencyAmount",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}CommissionPayableAmount"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "CommissionPayableAmount"
              }
            ]
          },
          "$ref": "#/definitions/CurrencyAmount"
        },
        "Comment": {
          "description": "Assigned Type: ota2-0400:Comment",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}ParagraphType"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "Comment"
              }
            ]
          },
          "$ref": "#/definitions/Comment"
        },
        "StatusType": {
          "description": "Assigned Type: ota2-0300:Status_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "LocalAnonymousType: CommissionType_StatusType"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "StatusType"
              }
            ]
          },
          "$ref": "#/definitions/Status_Enum"
        },
        "BillToID": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/chameleon.anonymous\\/ns}StringLength1to8"
              ]
            },
            "equivalents": [
              {
                "context": "ph",
                "value": "BillToID"
              }
            ]
          },
          "$ref": "#/definitions/Identifier"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "CommissionableAmount": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "CommissionableAmount"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "CurrencyAmount": {
          "description": "Assigned Type: ota2-0400:CurrencyAmount",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "AttributeGroup: CurrencyAmountGroup"
              ]
            }
          },
          "$ref": "#/definitions/CurrencyAmount"
        },
        "ttaxInclusiveInd": {
          "description": "When true, indicates that the commission is calculated using the rate including tax. When false, indicates that the commission is calculated using the net rate.",
          "type": "boolean"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RoomCharacteristics": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RoomCharacteristics"
      },
      "description": "Used to define a room (eg. its location, configuration, view).  These are items that are part of the room and cannot easily be removed.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "LocationCode": {
          "description": "Assigned Type: ota2-0300:RoomLocation_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/RoomLocation_Enum"
        },
        "AccessibilityFeature": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AccessibilityFeature"
          },
          "maxItems": 100
        },
        "SecurityFeature": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SecurityFeature"
          },
          "maxItems": 100
        },
        "BedTypeCode": {
          "description": "Assigned Type: ota2-0300:BedType_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}ListOfOTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/BedType_Enum"
        },
        "Category": {
          "description": "Assigned Type: ota2-0300:SegmentCategory_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/SegmentCategory_Enum"
        },
        "ClassificationCode": {
          "description": "Assigned Type: ota2-0300:GuestRoomInfo",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/GuestRoomInfo"
        },
        "ViewCode": {
          "description": "Assigned Type: ota2-0300:RoomViewType_Enum",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
              ]
            }
          },
          "$ref": "#/definitions/RoomViewType_Enum"
        },
        "nonSmokingInd": {
          "description": "Non-smoking indicator.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}boolean"
              ]
            }
          },
          "type": "boolean"
        },
        "compositeInd": {
          "description": "Indicates that the room (suite) is a composite of smaller units.",
          "x-otm-annotations": {
            "documentation": {
              "implementers": [
                "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}boolean"
              ]
            }
          },
          "type": "boolean"
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RoomCharacteristicsDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "RoomCharacteristics"
      },
      "description": "Used to define a room (eg. its location, configuration, view).  These are items that are part of the room and cannot easily be removed.",
      "allOf": [
        {
          "$ref": "#/definitions/RoomCharacteristics"
        },
        {
          "properties": {
            "gender": {
              "description": "Used to request or specify a gender assignment for a room. Note: Typically used by Hosteliers.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "LocalAnonymousType: RoomGroup_RoomGender"
                  ]
                }
              },
              "$ref": "#/definitions/Gender_Enum"
            },
            "invBlockCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to32"
                  ]
                }
              },
              "type": "string",
              "maxLength": 32
            },
            "architectureCode": {
              "description": "Assigned Type: ota2-0400:OTA_Code",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}OTA_CodeType"
                  ]
                }
              },
              "type": "string",
              "pattern": "[0-9A-Z]{1,4}(\\.[A-Z]{3}(\\.X){0,1}){0,1}"
            },
            "floor": {
              "description": "Floor on which the room is located.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}Numeric1to999"
                  ]
                }
              },
              "type": "integer",
              "format": "int32"
            },
            "typeCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}StringLength1to16"
                  ]
                }
              },
              "type": "string",
              "maxLength": 32
            },
            "sizeMeasurement": {
              "description": "Textual description of room dimensions.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}string"
                  ]
                }
              },
              "type": "string"
            },
            "sharedRoomInd": {
              "description": "If TRUE, the room requires or has sharing available. Note: Typically used by Hosteliers.",
              "x-otm-annotations": {
                "documentation": {
                  "implementers": [
                    "Assigned XSD Type: {http:\\/\\/www.w3.org\\/2001\\/XMLSchema}boolean"
                  ]
                }
              },
              "type": "boolean"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "AccessibilityFeature": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "AccessibilityFeature"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "quantity": {
          "description": "The quantity of this feature in the room.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "2"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringLong",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "Door locks at wheelchair height."
              }
            ]
          },
          "type": "string",
          "maxLength": 4096
        },
        "DisabilityFeature_Enum": {
          "description": "Assigned Type: ota2-0300:DisabilityFeature_Enum",
          "$ref": "#/definitions/DisabilityFeature_Enum"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "SecurityFeature": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "SecurityFeature"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "quantity": {
          "description": "The quantity of this feature in the room.",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "1"
              }
            ]
          },
          "type": "integer",
          "format": "int32"
        },
        "description": {
          "description": "Assigned Type: ota2-0400:StringLong",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "Smoke alarm in room."
              }
            ]
          },
          "type": "string",
          "maxLength": 4096
        },
        "SecurityFeature": {
          "description": "Assigned Type: ota2-0300:SecurityFeature_Enum",
          "$ref": "#/definitions/SecurityFeature_Enum"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "ProductHospitality": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "RoomStay": {
              "description": "Assigned Type: ph:RoomStay",
              "$ref": "#/definitions/RoomStayID"
            },
            "GuestCount": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/GuestCount"
              },
              "maxItems": 99
            },
            "DateTimeSpanWindows": {
              "description": "Assigned Type: ota2-0400:DateTimeSpanWindows",
              "$ref": "#/definitions/DateTimeSpanWindows"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          },
          "required": [
            "RoomStay"
          ]
        }
      ]
    },
    "AssociatedProductHospitality": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Product"
      },
      "allOf": [
        {
          "$ref": "#/definitions/Product"
        },
        {
          "properties": {
            "RoomStay": {
              "description": "Assigned Type: ph:RoomStay",
              "$ref": "#/definitions/RoomStayID"
            },
            "GuestCount": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/GuestCount"
              },
              "maxItems": 99
            },
            "DateTimeSpanWindows": {
              "description": "Assigned Type: ota2-0400:DateTimeSpanWindows",
              "$ref": "#/definitions/DateTimeSpanWindows"
            },
            "ExtensionPoint_Custom": {
              "$ref": "#/definitions/ExtensionPoint_Custom"
            }
          },
          "required": [
            "RoomStay"
          ]
        }
      ]
    },
    "ActivityHotel": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "Activity"
      },
      "description": "A golf activity.",
      "allOf": [
        {
          "$ref": "#/definitions/Activity"
        },
        {
          "properties": {
            "TODO": {
              "description": "TODO Place holder for a hospitality activity object.",
              "type": "string"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "ProductQueriesHospitality": {
      "x-otm-entity": {
        "EntityType": "ChoiceObject",
        "EntityName": "ProductQueries"
      },
      "allOf": [
        {
          "$ref": "#/definitions/ProductQueries"
        },
        {
          "properties": {
            "RoomStayQueryProduct": {
              "description": "Assigned Type: prod-0400:RoomStay_Query_Product",
              "$ref": "#/definitions/RoomStayQueryProduct"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          }
        }
      ]
    },
    "HospitalityOffersID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "HospitalityOffers"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "HospitalityOffersRef": {
          "description": "Refers to the obj ID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "HospitalityOffers": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "HospitalityOffers"
      },
      "allOf": [
        {
          "$ref": "#/definitions/HospitalityOffersID"
        },
        {
          "properties": {
            "FacilityIdentifier": {
              "description": "Assigned Type: org-0300:Facility_ID",
              "$ref": "#/definitions/FacilityID"
            },
            "Offer": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/OfferID"
              }
            },
            "ReferenceListProduct": {
              "description": "Assigned Type: ota2-0400:ReferenceList_Product",
              "$ref": "#/definitions/ReferenceListProduct"
            },
            "ExtensionPoint": {
              "$ref": "#/definitions/ExtensionPoint"
            }
          },
          "required": [
            "FacilityIdentifier"
          ]
        }
      ]
    },
    "RoomRateID": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomRate"
      },
      "description": "Specifies the details of a room rate.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "objID": {
          "description": "A unique identifier within this document for this object.",
          "type": "string"
        },
        "Identifier": {
          "description": "Assigned Type: ota2-0400:Identifier",
          "$ref": "#/definitions/Identifier"
        },
        "RoomRateRef": {
          "description": "Refers to the objID on an object defined elsewhere in the current document.",
          "type": "string"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "RoomRate": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomRate"
      },
      "description": "Specifies the details of a room rate.",
      "allOf": [
        {
          "$ref": "#/definitions/RoomRateID"
        },
        {
          "properties": {
            "effectiveDate": {
              "description": "Specifies the starting date for this room rate.",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "2017-08-22"
                  }
                ]
              },
              "type": "string",
              "format": "date"
            },
            "expireDate": {
              "description": "Specifies the end date for this room rate.",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "2018-08-22"
                  }
                ]
              },
              "type": "string",
              "format": "date"
            },
            "bookingCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "A1KRACKB"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "Rate": {
              "description": "Assigned Type: ota2-0400:RoomPrice",
              "$ref": "#/definitions/RoomPrice"
            },
            "expireDateExclusiveInd": {
              "description": "When true, the ExpireDate is the first day after the applicable period (e.g. when expire date is Oct 15  the last date of the period is Oct 14).",
              "type": "boolean"
            },
            "ExtensionPoint_Summary": {
              "$ref": "#/definitions/ExtensionPoint_Summary"
            }
          },
          "required": [
            "effectiveDate"
          ]
        }
      ]
    },
    "RoomRateDetail": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomRate"
      },
      "description": "Specifies the details of a room rate.",
      "allOf": [
        {
          "$ref": "#/definitions/RoomRate"
        },
        {
          "properties": {
            "source": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "Promotion"
                  }
                ]
              },
              "type": "string",
              "maxLength": 128
            },
            "Taxes": {
              "description": "Assigned Type: ota2-0400:Taxes",
              "$ref": "#/definitions/Taxes"
            },
            "Fees": {
              "description": "Assigned Type: ota2-0400:Fees",
              "$ref": "#/definitions/Fees"
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "RoomRateQueryRange": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "RoomRate"
      },
      "description": "Specifies the details of a room rate.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "StartRate": {
          "description": "Assigned Type: ota2-0400:RoomPrice",
          "$ref": "#/definitions/RoomPrice"
        },
        "EndRate": {
          "description": "Assigned Type: ota2-0400:RoomPrice",
          "$ref": "#/definitions/RoomPrice"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "BasicPropertyInfo": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "BasicPropertyInfo"
      },
      "description": "Identifies a property.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "code": {
          "description": "Assigned Type: ota2-0400:StringTiny",
          "x-otm-annotations": {
            "examples": [
              {
                "context": "ph",
                "value": "WASJW"
              }
            ]
          },
          "type": "string",
          "maxLength": 32
        },
        "ExtensionPoint_Summary": {
          "$ref": "#/definitions/ExtensionPoint_Summary"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "BasicPropertyInfoDetail": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "BasicPropertyInfo"
      },
      "description": "Identifies a property.",
      "allOf": [
        {
          "$ref": "#/definitions/BasicPropertyInfo"
        },
        {
          "properties": {
            "name": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "JW Marriott Washington DC"
                  }
                ]
              },
              "type": "string",
              "maxLength": 128
            },
            "cityCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "WAS"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "chainCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "MC"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "chainName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "Marriott"
                  }
                ]
              },
              "type": "string",
              "maxLength": 128
            },
            "brandCode": {
              "description": "Assigned Type: ota2-0400:StringTiny",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "FS"
                  }
                ]
              },
              "type": "string",
              "maxLength": 32
            },
            "brandName": {
              "description": "Assigned Type: ota2-0400:StringShort",
              "x-otm-annotations": {
                "examples": [
                  {
                    "context": "ph",
                    "value": "Full Service"
                  }
                ]
              },
              "type": "string",
              "maxLength": 128
            },
            "ExtensionPoint_Detail": {
              "$ref": "#/definitions/ExtensionPoint_Detail"
            }
          }
        }
      ]
    },
    "FacilityQueryFacilitySearch": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "BasePayload": {
          "description": "Assigned Type: ota2-0400:BasePayload",
          "$ref": "#/definitions/BasePayload"
        },
        "FacilityQueryHotel": {
          "description": "Assigned Type: orghs-0300:Facility_Query_Hotel",
          "$ref": "#/definitions/FacilityQueryHotel"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FacilityQueryRetrieveHospitalityAvailability": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "BasePayload": {
          "description": "Assigned Type: ota2-0400:BasePayload",
          "$ref": "#/definitions/BasePayload"
        },
        "FacilityQueryHotelAvailRetrieve": {
          "description": "Assigned Type: orghs-0300:Facility_Query_HotelAvailRetrieve",
          "$ref": "#/definitions/FacilityQueryHotelAvailRetrieve"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "FacilityQueryFindHospitalityAvailability": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "Facility"
      },
      "description": "Describes a facility (e.g. Hotel Facility,Conference Facility, Golf Facility).  A facility must have a single address and a single geolocation.",
      "properties": {
        "@type": {
          "type": "string"
        },
        "BasePayload": {
          "description": "Assigned Type: ota2-0400:BasePayload",
          "$ref": "#/definitions/BasePayload"
        },
        "FacilityQueryHotelAvail": {
          "description": "Assigned Type: orghs-0300:Facility_Query_HotelAvail",
          "$ref": "#/definitions/FacilityQueryHotelAvail"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "MultiPropertyHospitalityOffers": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "BaseResponse"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "HospitalityOffers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/HospitalityOffersID"
          }
        },
        "PayloadStdAttributes": {
          "description": "Assigned Type: ota2-0400:PayloadStdAttributes",
          "$ref": "#/definitions/PayloadStdAttributes"
        },
        "Result": {
          "description": "Assigned Type: ota2-0400:Result",
          "$ref": "#/definitions/Result"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "SinglePropertyHospitalityOffers": {
      "x-otm-entity": {
        "EntityType": "CoreObject",
        "EntityName": "BaseResponse"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "HospitalityOffers": {
          "description": "Assigned Type: ph:HospitalityOffers",
          "$ref": "#/definitions/HospitalityOffersID"
        },
        "PayloadStdAttributes": {
          "description": "Assigned Type: ota2-0400:PayloadStdAttributes",
          "$ref": "#/definitions/PayloadStdAttributes"
        },
        "Result": {
          "description": "Assigned Type: ota2-0400:Result",
          "$ref": "#/definitions/Result"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "HospitalityOffersQueryFindHospitalityOffers": {
      "x-otm-entity": {
        "EntityType": "BusinessObject",
        "EntityName": "HospitalityOffers"
      },
      "properties": {
        "@type": {
          "type": "string"
        },
        "BasePayload": {
          "description": "Assigned Type: ota2-0400:BasePayload",
          "$ref": "#/definitions/BasePayload"
        },
        "ProductQueriesHospitality": {
          "description": "Assigned Type: ph:ProductQueries_Hospitality",
          "$ref": "#/definitions/ProductQueriesHospitality"
        },
        "ExtensionPoint": {
          "$ref": "#/definitions/ExtensionPoint"
        }
      },
      "required": [
        "@type"
      ],
      "discriminator": "@type"
    },
    "ExtensionPoint": {},
    "ExtensionPoint_Summary": {},
    "ExtensionPoint_Detail": {},
    "ExtensionPoint_Custom": {},
    "ExtensionPoint_Query": {},
    "ExtensionPoint_Update": {},
    "ExtensionPoint_Shared": {},
    "ExtensionPoint_Choice": {}
  }
}