{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "OTA_SimpleTypes",
    "x-otm-library": {
        "ProjectName": "project.otp",
        "LibraryName": "OTA_SimpleTypes",
        "LibraryVersion": "0.0.0",
        "LibraryStatus": "FINAL",
        "SourceFile": "/OTA_SimpleTypes_0_0_0.otm",
        "CompilerVersion": "4.0-SNAPSHOT",
        "CompileDate": "2016-05-18T16:11:08.392-0400"
    },
    "definitions": {
        "String_AlphaNumeric": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "String_AlphaNumeric"
            },
            "description": "Alpha Numeric string with no whitespace\nMinimum length of 0 and a maximum length of 4096",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "Abc123"
                    }
                ]
            },
            "type": "string",
            "maxLength": 4096,
            "pattern": "([0-9a-zA-Z]+)?"
        },
        "String_Long": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "String_Long"
            },
            "description": "A long string  \nMinimum length of 0 and a maximum length of 4096",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "I am a long string."
                    }
                ]
            },
            "type": "string",
            "maxLength": 4096
        },
        "String": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "String"
            },
            "description": "A string with a minimum length of 0 and a maximum length of 512.",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "I am a medium string."
                    }
                ]
            },
            "type": "string",
            "maxLength": 512
        },
        "String_Short": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "String_Short"
            },
            "description": "A short string  \nMinimum length of 0 and a maximum length of 128",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "I am a short string."
                    }
                ]
            },
            "type": "string",
            "maxLength": 128
        },
        "String_Tiny": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "String_Tiny"
            },
            "description": "A tiny string  \nMinimum length of 0 and a maximum length of 32",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "I am a tiny string."
                    }
                ]
            },
            "type": "string",
            "maxLength": 32
        },
        "String_Character_One": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "String_Character_One"
            },
            "description": "Single  character string\nMinimum length of 0 and a maximum length of 1",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "A"
                    }
                ]
            },
            "type": "string",
            "maxLength": 1
        },
        "String_UpperCaseAlpha": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "String_UpperCaseAlpha"
            },
            "description": "Upper Case Alpha string with no whitespace \nMinimum length of 0 and maximum length of 4096",
            "x-otm-annotations": {
                "documentation": {
                    "implementers": [
                        "Assigned XSD Type:\n\t\t\t\t{http://services.sabre.com/STL/v01}UpperCaseString"
                    ]
                },
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "ADCDEF"
                    }
                ]
            },
            "type": "string",
            "maxLength": 4096,
            "pattern": "([A-Z]+)?"
        },
        "String_UpperCaseAlphaNumeric": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "String_UpperCaseAlphaNumeric"
            },
            "description": "Upper Case Alpha Numeric string with no whitespace\nMinimum length of 0 and maximum length of 4096",
            "x-otm-annotations": {
                "documentation": {
                    "implementers": [
                        "Assigned XSD Type:\n\t\t\t\t{http://services.sabre.com/STL/v01}UpperCaseString"
                    ]
                },
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "STRING123"
                    }
                ]
            },
            "type": "string",
            "maxLength": 4096,
            "pattern": "([A-Z0-9]+)?"
        },
        "String_Text": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "String_Text"
            },
            "description": "A string intended for free text \nMinimum length of 0 and maximum length of 4096",
            "type": "string",
            "maxLength": 4096
        },
        "Code_Airline_IATA": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Airline_IATA"
            },
            "description": "IATA defined 2 character airline designator codes, (IATA Airline Coding Directory, Section 3)\nThis type will not support  IATA 3 char airline designator codes. There are no IATA 3 char airline codes assigned at this time.",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "LH"
                    }
                ]
            },
            "type": "string",
            "pattern": "([a-zA-Z0-9]{2})?"
        },
        "Code_Airline_ICAO": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Airline_ICAO"
            },
            "description": "ICAO defined 3 Letter Airline Code \n(defined by ICAO 8585)",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "UAL"
                    }
                ]
            },
            "type": "string",
            "pattern": "([a-zA-Z]{3})?"
        },
        "Code_Airport_IATA": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Airport_IATA"
            },
            "description": "IATA defined 3 char airport code or location identifier",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "LGA"
                    }
                ]
            },
            "type": "string",
            "pattern": "([A-Z]{3})?"
        },
        "Code_Airport_ICAO": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Airport_ICAO"
            },
            "description": "ICAO defined 4 char airport or location code as per ICAO doc 7910",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "KDFW"
                    }
                ]
            },
            "type": "string",
            "pattern": "([A-Z0-9]{4})?"
        },
        "Code_Agency_IATA_Number": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Agency_IATA_Number"
            },
            "description": "IATA agency number - An 8-digit numerical code that uniquely identifies travel agencies and other entities engaged in the sale of travel",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "77123456"
                    }
                ]
            },
            "type": "string",
            "pattern": "([0-9]{8})?"
        },
        "Code_Country": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Country"
            },
            "description": "ISO 2 char country code  - Preferred country code is the 2 character country code as defined in ISO 3166-1",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "US"
                    }
                ]
            },
            "type": "string",
            "pattern": "([a-zA-Z]{2})?"
        },
        "Code_Country_ISO_3": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Country_ISO_3"
            },
            "description": "ISO 3 char country code as defined in ISO 3166-1 standard",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "USA"
                    }
                ]
            },
            "type": "string",
            "pattern": "([a-zA-Z]{3})?"
        },
        "FlightNumber_Suffix": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "FlightNumber_Suffix"
            },
            "description": "Single upper case letter used to distinguish multiple flights of the same number originating on the same date.",
            "x-otm-annotations": {
                "documentation": {
                    "implementers": [
                        "Assigned XSD Type:\n\t\t\t\t{http://www.w3.org/2001/XMLSchema}string"
                    ]
                },
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "A"
                    }
                ]
            },
            "allOf": [
                {
                    "$ref": "#/definitions/String_Character_One"
                },
                {
                    "maxLength": 1,
                    "pattern": "([A-Z])?"
                }
            ]
        },
        "DateTime": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "DateTime"
            },
            "description": "XSD DateTime allows either a time-zone specification or allows the time-zone to be omitted. \nWhen omitted, times are \"local\". XSD DateTime with either a \"Z\" or a \"+/-hh:mm\" value are UTC. Time is the time \"in the indicated time zone\". When a element or attribute has xsd:dateTime type, the data in a message can be either local or UTC and software can easily determine which it is.",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "2010-12-31T11:55:00Z"
                    }
                ]
            },
            "type": "string",
            "format": "date-time"
        },
        "DateTime_WithTimeZone": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "DateTime_WithTimeZone"
            },
            "description": "ISO date time type with restriction to assure time has the UTC offset or Z for Zulu. Example: 2010-12-31T11:55:00+06:00  or 2010-12-31T11:55:00Z",
            "x-otm-annotations": {
                "documentation": {
                    "implementers": [
                        "Assigned XSD Type:\n\t\t\t\t{http://www.w3.org/2001/XMLSchema}dateTime"
                    ]
                },
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "2010-12-31T11:55:00+06:00"
                    }
                ]
            },
            "type": "string",
            "format": "date-time",
            "pattern": ".+(Z|[+\\-]\\d{2}:\\d{2})"
        },
        "Code_Language": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Language"
            },
            "description": "Preferred language code is the 2 character ISO 639-1 defined Language code - common usage",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "en"
                    }
                ]
            },
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "pattern": "([a-zA-Z]{2})?"
        },
        "Code_Language_ISO_3": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Language_ISO_3"
            },
            "description": "ISO 3 char  language code defined in  ISO639-2",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "eng"
                    }
                ]
            },
            "type": "string"
        },
        "DateTime_Local": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "DateTime_Local"
            },
            "description": "ISO date time type without UTC offset or Z for Zulu restriction indicating it is representing Local Time\nExample: 2010-12-31T11:55:00",
            "x-otm-annotations": {
                "documentation": {
                    "implementers": [
                        "Assigned XSD Type:\n\t\t\t\t{http://www.w3.org/2001/XMLSchema}dateTime"
                    ]
                },
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "2010-12-31T11:55:00"
                    }
                ]
            },
            "type": "string",
            "format": "date-time",
            "pattern": ".+T[^Z+\\-]+"
        },
        "Code_Currency": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Currency"
            },
            "description": "Currency code - Preferred currencty code is a 3 char currency code as defined in ISO 4127",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "USD"
                    }
                ]
            },
            "type": "string",
            "pattern": "([a-zA-Z]{3})?"
        },
        "Code_Railway_Station_IATA": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Railway_Station_IATA"
            },
            "description": "IATA codes for railway stations begin with Q, X or Z, except when the station shares the code with an airport.\n\nRailway stations are typically used in air-rail alliances or code sharing agreements (commonly known as \"Rail Fly\"). Commonly used in Europe",
            "type": "string",
            "pattern": "([A-Z]{3})?"
        },
        "Enum_DayOfWeek": {
            "x-otm-entity": {
                "EntityType": "EnumerationClosed",
                "EntityName": "Enum_DayOfWeek"
            },
            "description": "Day of the Week types.",
            "type": "string",
            "enum": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday",
                "Saturday",
                "Sunday"
            ]
        },
        "Enum_MonthOfYear": {
            "x-otm-entity": {
                "EntityType": "EnumerationClosed",
                "EntityName": "Enum_MonthOfYear"
            },
            "description": "Month of year types",
            "type": "string",
            "enum": [
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December"
            ]
        },
        "FlightNumber_With_Suffix": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "FlightNumber_With_Suffix"
            },
            "description": "a 1-4 numeric flight number with an alpha suffix",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "1234S"
                    }
                ]
            },
            "type": "string",
            "pattern": "([0-9]{1,4}[A-Z]{1})?"
        },
        "Code_Agency_IATA": {
            "x-otm-entity": {
                "EntityType": "Simple",
                "EntityName": "Code_Agency_IATA"
            },
            "description": "IATA  defined 2 or 3 char code for an agency or airline acting as an agency",
            "x-otm-annotations": {
                "examples": [
                    {
                        "context": "OTA2",
                        "value": "AA"
                    }
                ]
            },
            "type": "string",
            "pattern": "([0-9a-zA-Z]{1,3})?"
        }
    },
    "properties": {
        "String_AlphaNumeric": {
            "$ref": "#/definitions/String_AlphaNumeric"
        },
        "String_Long": {
            "$ref": "#/definitions/String_Long"
        },
        "String": {
            "$ref": "#/definitions/String"
        },
        "String_Short": {
            "$ref": "#/definitions/String_Short"
        },
        "String_Tiny": {
            "$ref": "#/definitions/String_Tiny"
        },
        "String_Character_One": {
            "$ref": "#/definitions/String_Character_One"
        },
        "String_UpperCaseAlpha": {
            "$ref": "#/definitions/String_UpperCaseAlpha"
        },
        "String_UpperCaseAlphaNumeric": {
            "$ref": "#/definitions/String_UpperCaseAlphaNumeric"
        },
        "String_Text": {
            "$ref": "#/definitions/String_Text"
        },
        "Code_Airline_IATA": {
            "$ref": "#/definitions/Code_Airline_IATA"
        },
        "Code_Airline_ICAO": {
            "$ref": "#/definitions/Code_Airline_ICAO"
        },
        "Code_Airport_IATA": {
            "$ref": "#/definitions/Code_Airport_IATA"
        },
        "Code_Airport_ICAO": {
            "$ref": "#/definitions/Code_Airport_ICAO"
        },
        "Code_Agency_IATA_Number": {
            "$ref": "#/definitions/Code_Agency_IATA_Number"
        },
        "Code_Country": {
            "$ref": "#/definitions/Code_Country"
        },
        "Code_Country_ISO_3": {
            "$ref": "#/definitions/Code_Country_ISO_3"
        },
        "FlightNumber_Suffix": {
            "$ref": "#/definitions/FlightNumber_Suffix"
        },
        "DateTime": {
            "$ref": "#/definitions/DateTime"
        },
        "DateTime_WithTimeZone": {
            "$ref": "#/definitions/DateTime_WithTimeZone"
        },
        "Code_Language": {
            "$ref": "#/definitions/Code_Language"
        },
        "Code_Language_ISO_3": {
            "$ref": "#/definitions/Code_Language_ISO_3"
        },
        "DateTime_Local": {
            "$ref": "#/definitions/DateTime_Local"
        },
        "Code_Currency": {
            "$ref": "#/definitions/Code_Currency"
        },
        "Code_Railway_Station_IATA": {
            "$ref": "#/definitions/Code_Railway_Station_IATA"
        },
        "Enum_DayOfWeek": {
            "$ref": "#/definitions/Enum_DayOfWeek"
        },
        "Enum_MonthOfYear": {
            "$ref": "#/definitions/Enum_MonthOfYear"
        },
        "FlightNumber_With_Suffix": {
            "$ref": "#/definitions/FlightNumber_With_Suffix"
        },
        "Code_Agency_IATA": {
            "$ref": "#/definitions/Code_Agency_IATA"
        }
    },
    "required": [
        "String_AlphaNumeric",
        "String_Long",
        "String",
        "String_Short",
        "String_Tiny",
        "String_Character_One",
        "String_UpperCaseAlpha",
        "String_UpperCaseAlphaNumeric",
        "String_Text",
        "Code_Airline_IATA",
        "Code_Airline_ICAO",
        "Code_Airport_IATA",
        "Code_Airport_ICAO",
        "Code_Agency_IATA_Number",
        "Code_Country",
        "Code_Country_ISO_3",
        "FlightNumber_Suffix",
        "DateTime",
        "DateTime_WithTimeZone",
        "Code_Language",
        "Code_Language_ISO_3",
        "DateTime_Local",
        "Code_Currency",
        "Code_Railway_Station_IATA",
        "Enum_DayOfWeek",
        "Enum_MonthOfYear",
        "FlightNumber_With_Suffix",
        "Code_Agency_IATA"
    ]
}