<?xml version='1.0' encoding='UTF-8'?><!-- Published by JAX-WS RI (http://jax-ws.java.net). RI's version is Metro/2.4.3.payara-p6 (FISH-5811-df8dba8; 2021-12-02T15:42:59+0000) JAXWS-RI/2.3.2.payara-p4 JAXWS-API/2.3.2 JAXB-RI/2.3.2 JAXB-API/2.3.2 git-revision#unknown. --><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fo="http://www.airservicesaustralia.com/flight-object" targetNamespace="http://www.airservicesaustralia.com/flight-object" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="flight-object" type="fo:FlightObject">
		<xs:annotation>
			<xs:documentation>Top level element for a flight entity.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="flight-object-list">
		<xs:annotation>
			<xs:documentation>Top level element for a list of flight entities.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="fo:flight-object" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="flight-summary" type="fo:FlightSummary">
		<xs:annotation>
			<xs:documentation>Top level element for a flight summary.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="flight-summary-list">
		<xs:annotation>
			<xs:documentation>Top level element for a list of flight summaries.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="fo:flight-summary" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="flight-position" type="fo:FlightPosition">
		<xs:annotation>
			<xs:documentation>Top level element for a flight position.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="flight-position-list">
		<xs:annotation>
			<xs:documentation>Top level element for a list of flight positions.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="fo:flight-position" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="flight-object-template" type="fo:FlightObjectTemplate">
		<xs:annotation>
			<xs:documentation>Top level element for a flight object template.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="sit-rep" type="fo:SitRep">
		<xs:annotation>
			<xs:documentation>Top level element for a situation report.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="FlightObject">
		<xs:annotation>
			<xs:documentation>An object that captures all information of interest on a flight.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="id" type="fo:FlightObjectId">
				<xs:annotation>
					<xs:documentation>A key value that uniquely identifies the flight object. It is set on creation and does not change subsequently. The value is a function of the ACID, ADEP, ADES and departure date/time from the original source of the flight data.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="oetd" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Estimated time of departure from original flight source. Never changes once set.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="timestamp" type="xs:dateTime">
				<xs:annotation>
					<xs:documentation>Defines the time the flight object was last updated (except for a position report which is recorded in the situation element).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="airline" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The airline responsible for the flight.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:attribute name="major" type="fo:AirlineId">
						<xs:annotation>
							<xs:documentation>The operator (airline) that submitted the flight via a schedule.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="operator" type="fo:AirlineId">
						<xs:annotation>
							<xs:documentation>The operator (airline) of the flight.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="flight-id" type="xs:string">
						<xs:annotation>
							<xs:documentation>An operator assigned flight id (the operator and id are unique).</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<xs:element name="acid" type="fo:AircraftId">
				<xs:annotation>
					<xs:documentation>Aircraft id/callsign - ICAO field 7a.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="flight-num" type="fo:FlightNumber" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The flight number. Often, but not always, the same as the aircraft id.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ssr-code" type="fo:SSRCode" minOccurs="0">
				<xs:annotation>
					<xs:documentation>SSR code - ICAO field 7b.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="flight-rules" type="fo:FlightRules" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Flight rules - ICAO field 8a.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="type-of-flight" type="fo:TypeOfFlight" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Type of flight - ICAO field 8b.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="priority" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Priority of flight.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="[A-Z]"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="nav-com-equipment" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Navigation/communication equipment - ICAO field 10a.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="[A-Z]+"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ssr-equipment" minOccurs="0">
				<xs:annotation>
					<xs:documentation>SSR equipment - ICAO field 10b.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="[NACXPIS]D?"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="num-aircraft" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Number of aircraft (formation) - ICAO field 9a.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:unsignedShort">
						<xs:minInclusive value="1"/>
						<xs:maxInclusive value="10"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="atyp" type="fo:AircraftType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Aircraft type - ICAO field 9b.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="wtc" type="fo:WTC" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Wake turbulence category - ICAO field 9c.
The non-ICAO value J is included because some airlines specify J for their A380 fleet in flight plans.
                    </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep" type="fo:ICAOLocationId">
				<xs:annotation>
					<xs:documentation>ICAO code of departure airport.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep-pos" type="fo:LatLong" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Geographic location of departure airport.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="td" type="fo:EventTimes" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Departure time events.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep-terminal" type="fo:TerminalId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Departure terminal.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep-gate" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Departure gate.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="[A-Z0-9]{1,10}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="adep-rwy" type="fo:RunwayId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Departure runway.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="sid" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Standard instrument departure.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="[A-Z0-9]{5}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="adep-fix" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Fix for departure.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="fo:WaypointId">
							<xs:attribute name="to" type="xs:dateTime">
								<xs:annotation>
									<xs:documentation>Estimated/actual time over the fix.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="ades" type="fo:ICAOLocationId">
				<xs:annotation>
					<xs:documentation>ICAO code of destination airport.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades-pos" type="fo:LatLong" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Geographic location of destination airport.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades-name" type="xs:string" minOccurs="0"/>
			<xs:element name="oades" type="fo:ICAOLocationId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The original destination airport. If populated indicates a diversion.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ta" type="fo:EventTimes" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Arrival time events.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades-terminal" type="fo:TerminalId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Arrival terminal.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades-gate" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Arrival gate.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="[A-Z0-9]{1,10}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ades-rwy" type="fo:RunwayId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Arrival runway.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="star" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Standard terminal arrival route.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="[A-Z0-9]{5}"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ades-fix" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Feeder fix for arrival.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="fo:WaypointId">
							<xs:attribute name="to" type="xs:dateTime">
								<xs:annotation>
									<xs:documentation>Estimated/actual time over the fix.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="altn" type="fo:ICAOLocationId" minOccurs="0" maxOccurs="2">
				<xs:annotation>
					<xs:documentation>Alternate destination airports.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="boundary-point" type="fo:RoutePoint" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Estimated or actual time at a boundary point - ICAO field 14.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="reg" type="fo:Registration" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Aircraft registration.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="flex-track" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The flex track on which the flight planned.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="route-planned" type="fo:PlannedRoute" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The planned route for the flight (ICAO field 15).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="route-projected" type="fo:ProjectedRoute" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The projected route for the flight.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="sector-projected" type="fo:SectorProjection" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The projected sector entry points/times for the flight.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="airspace-transit" type="fo:AirspaceProjection" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Projected airspace entry/exit points/times for the flight.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="cfl" type="fo:LevelFeet" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Cleared flight level.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="rfl" type="fo:LevelFeet" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Requested flight level.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="label" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Comments by ATC.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="10"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="state" type="fo:FlightState">
				<xs:annotation>
					<xs:documentation>The state of the flight object. Derived from the last source record used to update the flight object. Identifies if the object is scheduled, planned, or active.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="source" type="fo:FlightSource">
				<xs:annotation>
					<xs:documentation>Identifes the source of the last update to the flight object.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="source-id" type="xs:string" minOccurs="0">
				<xs:annotation>
					<xs:documentation>A flight identifier obtained from the data source.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="situation" type="fo:FlightSituation" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Information on the current situation of the aircraft.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="icao-field-18" type="fo:ICAOField18" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Field 18 of the ICAO flight plan.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="icao-field-19" type="fo:ICAOField19" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Field 19 of the ICAO flight plan.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="message" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The ICAO flight planning messages associated with the flight.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="rx" type="xs:dateTime" use="required">
								<xs:annotation>
									<xs:documentation>The time at which the message was received.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="version" type="xs:string" use="required" fixed="2.0">
			<xs:annotation>
				<xs:documentation>The version of the flight entity schema employed by this object.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="FlightSummary">
		<xs:annotation>
			<xs:documentation>Summary information for a flight entity.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="id" type="fo:FlightObjectId">
				<xs:annotation>
					<xs:documentation>A key value that uniquely identifies the flight object. It is set on creation and does not change subsequently. The value is a function of the ACID, ADEP, ADES and departure date/time from the original source of the flight data.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="acid" type="fo:AircraftId">
				<xs:annotation>
					<xs:documentation>Aircraft id/callsign - ICAO field 7a.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ssr-code" type="fo:SSRCode" minOccurs="0">
				<xs:annotation>
					<xs:documentation>SSR code - ICAO field 7b.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="flight-rules" type="fo:FlightRules" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Flight rules - ICAO field 8a.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="type-of-flight" type="fo:TypeOfFlight" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Type of flight - ICAO field 8b.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="atyp" type="fo:AircraftType">
				<xs:annotation>
					<xs:documentation>Aircraft type - ICAO field 9b.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="wtc" type="fo:WTC" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Wake turbulence category - ICAO field 9c.
The non-ICAO value J is included because Singapore airlines specify J for their A380 fleet.
                    </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep" type="fo:ICAOLocationId">
				<xs:annotation>
					<xs:documentation>Departure airport.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep-rwy" type="fo:RunwayId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Departure runway.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="td" type="fo:EventTimes" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Departure time events.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="dfix" type="fo:WaypointId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Departure fix.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades" type="fo:ICAOLocationId">
				<xs:annotation>
					<xs:documentation>Destination airport.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades-rwy" type="fo:RunwayId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Destination runway.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ta" type="fo:EventTimes" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Arrival time events.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="afix" type="fo:WaypointId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Arrival fix.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="altn" type="fo:ICAOLocationId" minOccurs="0" maxOccurs="2">
				<xs:annotation>
					<xs:documentation>Alternate destination airports.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="reg" type="fo:Registration" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Aircraft registration.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="state" type="fo:FlightState">
				<xs:annotation>
					<xs:documentation>The state of the flight object. Derived from the last source record used to update the flight object. Identifies if the object is scheduled, planned, or active.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FlightSituation">
		<xs:annotation>
			<xs:documentation>The current situation of a flight.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="timestamp" type="xs:dateTime">
				<xs:annotation>
					<xs:documentation>Identifies the time when the flight position was last updated.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="position" type="fo:LatLong">
				<xs:annotation>
					<xs:documentation>The position of the flight.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="heading" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The heading of the aircraft (degrees).</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:unsignedShort">
						<xs:minInclusive value="0"/>
						<xs:maxExclusive value="360"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="track" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The direction in which the aircraft is moving (degrees).</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:unsignedShort">
						<xs:minInclusive value="0"/>
						<xs:maxExclusive value="360"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="speed" type="fo:SpeedKnots">
				<xs:annotation>
					<xs:documentation>The ground speed in knots.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="level" type="fo:LevelFeet" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The flight level.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="altitude" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The geometric altitude (in feet).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="track-id" type="xs:unsignedShort">
				<xs:annotation>
					<xs:documentation>An id that uniquely identifies position reports for this flight.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="source">
				<xs:annotation>
					<xs:documentation>The source of the last position update: may be explicit from radar, from ADS-B, or estimated from flight plan.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="RDR"/>
						<xs:enumeration value="FDR"/>
						<xs:enumeration value="FPL"/>
						<xs:enumeration value="ADSB"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FlightPosition">
		<xs:annotation>
			<xs:documentation>Summary details and location of a flight.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="summary" type="fo:FlightSummary"/>
			<xs:element name="sit-rep" type="fo:FlightSituation"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="FlightUnidentified">
		<xs:annotation>
			<xs:documentation>An unidentified flight: it is known the aircraft is in the air, but it cannot be identified.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="id" type="fo:FlightObjectId">
				<xs:annotation>
					<xs:documentation>A key value that uniquely identifies the flight. It is set on creation and does not change subsequently.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ssr-code" type="fo:SSRCode" minOccurs="0">
				<xs:annotation>
					<xs:documentation>SSR code.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="address" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The aircraft address (ICAO field 18 CODE).</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:length value="6"/>
						<xs:pattern value="[0-9A-F]"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="sit-rep" type="fo:FlightSituation"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SitRep">
		<xs:annotation>
			<xs:documentation>A situation report.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="fo:FlightSituation">
				<xs:attribute name="foid" type="fo:FlightObjectId" use="required">
					<xs:annotation>
						<xs:documentation>Unique identifier of the flight object with which the situation report is associated.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:simpleType name="FlightState">
		<xs:annotation>
			<xs:documentation>The state of a flight (usually based on last information received for the flight).
OSCH - from OAG data
USCH - from an Aircraft Operator schedule
HELD - scheduled flight on hold
PLAN - ICAO flight plan
CNL - cancelled flight plan
PREA - pre-active in ATC system
COOR - flight co-ordinated
CONT - flight controlled
HAND - flight in handover
SUSP - flight suspended
INHB - flight inhibited
INAC - not used
UNC - not used
MSTR - not used
FIN - flight complete (landed or exited Australian airspace)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="OSCH"/>
			<xs:enumeration value="USCH"/>
			<xs:enumeration value="HELD"/>
			<xs:enumeration value="PLAN"/>
			<xs:enumeration value="CNL"/>
			<xs:enumeration value="PREA"/>
			<xs:enumeration value="COOR"/>
			<xs:enumeration value="CONT"/>
			<xs:enumeration value="HAND"/>
			<xs:enumeration value="SUSP"/>
			<xs:enumeration value="INHB"/>
			<xs:enumeration value="INAC"/>
			<xs:enumeration value="UNC"/>
			<xs:enumeration value="MSTR"/>
			<xs:enumeration value="FIN"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FlightSource">
		<xs:annotation>
			<xs:documentation>The source of the latest flight information.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="AirlineId">
		<xs:annotation>
			<xs:documentation>The ICAO code for an airline.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="AircraftId">
		<xs:annotation>
			<xs:documentation>Aircraft identifier (callsign).</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z0-9]{1,10}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FlightNumber">
		<xs:annotation>
			<xs:documentation>Airline flight identifier (usually the same as the aircraft id).</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z0-9]{1,10}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Registration">
		<xs:annotation>
			<xs:documentation>Aircraft registration.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z0-9]{1,10}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SSRCode">
		<xs:annotation>
			<xs:documentation>Secondary Surveillance Radar (SSR) code.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]?[0-9]{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FlightRules">
		<xs:annotation>
			<xs:documentation>ICAO flight plan rules.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="I"/>
			<xs:enumeration value="V"/>
			<xs:enumeration value="Y"/>
			<xs:enumeration value="Z"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TypeOfFlight">
		<xs:annotation>
			<xs:documentation>ICAO type of flight.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="S"/>
			<xs:enumeration value="N"/>
			<xs:enumeration value="G"/>
			<xs:enumeration value="M"/>
			<xs:enumeration value="X"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="AircraftType">
		<xs:annotation>
			<xs:documentation>Aircraft type.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z0-9]{2,4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="WTC">
		<xs:annotation>
			<xs:documentation>Wake turbulence category.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="L"/>
			<xs:enumeration value="M"/>
			<xs:enumeration value="H"/>
			<xs:enumeration value="J"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="WeightClass">
		<xs:annotation>
			<xs:documentation>Aircraft weight class.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="L"/>
			<xs:enumeration value="M"/>
			<xs:enumeration value="H"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="EngineCategory">
		<xs:annotation>
			<xs:documentation>Aircraft engine category.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="P">
				<xs:annotation>
					<xs:documentation>Piston.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="T">
				<xs:annotation>
					<xs:documentation>Turbo.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="J">
				<xs:annotation>
					<xs:documentation>Jet.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TerminalId">
		<xs:annotation>
			<xs:documentation>A terminal identifier.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ICAOLocationId">
		<xs:annotation>
			<xs:documentation>ICAO location identifier.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{3,4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="IATAAirportCode">
		<xs:annotation>
			<xs:documentation>IATA airport code.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{0,3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FIRId">
		<xs:annotation>
			<xs:documentation>ICAO FIR identifier.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="AirspaceId">
		<xs:annotation>
			<xs:documentation>Airspace identifier.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z0-9]{1,5}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CountryId">
		<xs:annotation>
			<xs:documentation>ICAO country identifier.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="WaypointId">
		<xs:annotation>
			<xs:documentation>A waypoint identifier.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z0-9]{1,7}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ATSRouteId">
		<xs:annotation>
			<xs:documentation>An ATS route identifier.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z0-9]{2,5}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SectorGroupId">
		<xs:annotation>
			<xs:documentation>The identifier of an ATC sector group.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:maxLength value="16"/>
			<xs:minLength value="4"/>
			<xs:whiteSpace value="collapse"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SectorId">
		<xs:annotation>
			<xs:documentation>The identifier of an ATC sector.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{4,6}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SectorName">
		<xs:annotation>
			<xs:documentation>The name of an ATC sector.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[A-Z]{1,6}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="EventTimes">
		<xs:annotation>
			<xs:documentation>The gate and runway times for a flight event at an airport (takeoff or landing).</xs:documentation>
		</xs:annotation>
		<xs:attribute name="phase" type="fo:EventPhase" use="required">
			<xs:annotation>
				<xs:documentation>The phase of flight.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="gate" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>The gate (blocks) time.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="rwy" type="xs:dateTime">
			<xs:annotation>
				<xs:documentation>The runway (wheels) time.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="EventPhase">
		<xs:annotation>
			<xs:documentation>The phase of flight in which an event occurs:
S - OAG schedule
C - Initial Eurocat ETA
U - aircraft operator schedule
R - calculated time
P - flight planning
E - estimated while active
M - inital Maestro ETA
A - actual
            </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="S"/>
			<xs:enumeration value="C"/>
			<xs:enumeration value="U"/>
			<xs:enumeration value="R"/>
			<xs:enumeration value="P"/>
			<xs:enumeration value="E"/>
			<xs:enumeration value="M"/>
			<xs:enumeration value="A"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="EventType">
		<xs:annotation>
			<xs:documentation>Event type: gate (blocks) or runway (wheels).</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="GATE"/>
			<xs:enumeration value="RWY"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="LatLong">
		<xs:annotation>
			<xs:documentation>A latitude/longitude.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="lat" type="xs:double">
				<xs:annotation>
					<xs:documentation>The latitude: +ve is N, -ve is S.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="long" type="xs:double">
				<xs:annotation>
					<xs:documentation>The longitude: +ve is E, -ve is W.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PlannedRoute">
		<xs:annotation>
			<xs:documentation>Flight plan route description (as obtained from a FPL).</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="initial-speed" type="fo:FlightSpeed">
				<xs:annotation>
					<xs:documentation>Initial cruising speed (true air speed).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="initial-level" type="fo:FlightLevel">
				<xs:annotation>
					<xs:documentation>Initial cruising level.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="point" type="fo:RoutePoint" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>A point on the route.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProjectedRoute">
		<xs:annotation>
			<xs:documentation>Projected route (as obtained from a FDR).</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="point" type="fo:RoutePoint" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RoutePoint">
		<xs:annotation>
			<xs:documentation>A point on a projected route.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="airway" type="fo:ATSRouteId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The airway (ATS route) that was followed to reach this point.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="position" type="fo:LatLong" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Lat/long of route point.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="waypoint" type="fo:WaypointId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Identifier of waypoint.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="displacement" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Bearing and distance from the waypoint - waypoint element must be defined.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="bearing" type="xs:unsignedShort"/>
						<xs:element name="distance" type="xs:unsignedShort"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="eto" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Estimated time of overflight.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="speed-icao" type="fo:FlightSpeed" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Speed at point.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="level-icao" type="fo:FlightLevel" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Altitude at point.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="speed" type="fo:SpeedKnots" minOccurs="0"/>
			<xs:element name="level" type="fo:LevelFeet" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ICAOField18">
		<xs:annotation>
			<xs:documentation>ICAO flight plan field 18.</xs:documentation>
		</xs:annotation>
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="item">
				<xs:annotation>
					<xs:documentation>The item value.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="type" type="fo:Field18ItemType" use="required">
								<xs:annotation>
									<xs:documentation>The item type.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="Field18ItemType">
		<xs:annotation>
			<xs:documentation>Field 18 item type.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="EET"/>
			<xs:enumeration value="RIF"/>
			<xs:enumeration value="REG"/>
			<xs:enumeration value="SEL"/>
			<xs:enumeration value="OPR"/>
			<xs:enumeration value="STS"/>
			<xs:enumeration value="TYP"/>
			<xs:enumeration value="PER"/>
			<xs:enumeration value="COM"/>
			<xs:enumeration value="DAT"/>
			<xs:enumeration value="NAV"/>
			<xs:enumeration value="DEP"/>
			<xs:enumeration value="DEST"/>
			<xs:enumeration value="ALTN"/>
			<xs:enumeration value="RALT"/>
			<xs:enumeration value="CODE"/>
			<xs:enumeration value="RMK"/>
			<xs:enumeration value="DOF"/>
			<xs:enumeration value="DLA"/>
			<xs:enumeration value="ORGN"/>
			<xs:enumeration value="PBN"/>
			<xs:enumeration value="DLE"/>
			<xs:enumeration value="TALT"/>
			<xs:enumeration value="SUR"/>
			<xs:enumeration value="EUR"/>
			<xs:enumeration value="RVR"/>
			<xs:enumeration value="RFP"/>
			<xs:enumeration value="SRC"/>
			<xs:enumeration value="AWR"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="ICAOField19">
		<xs:annotation>
			<xs:documentation>ICAO flight plan field 19.</xs:documentation>
		</xs:annotation>
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="item">
				<xs:annotation>
					<xs:documentation>The item value.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="type" type="fo:Field19ItemType" use="required">
								<xs:annotation>
									<xs:documentation>The item type.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="Field19ItemType">
		<xs:annotation>
			<xs:documentation>Field 19 item type.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="E"/>
			<xs:enumeration value="P"/>
			<xs:enumeration value="R"/>
			<xs:enumeration value="S"/>
			<xs:enumeration value="J"/>
			<xs:enumeration value="D"/>
			<xs:enumeration value="A"/>
			<xs:enumeration value="N"/>
			<xs:enumeration value="C"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="ICAOField22">
		<xs:annotation>
			<xs:documentation>ICAO flight plan field 22.</xs:documentation>
		</xs:annotation>
		<xs:sequence maxOccurs="unbounded">
			<xs:element name="item">
				<xs:annotation>
					<xs:documentation>The item value.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="type" type="fo:Field22ItemType" use="required">
								<xs:annotation>
									<xs:documentation>The item type.</xs:documentation>
								</xs:annotation>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="Field22ItemType">
		<xs:annotation>
			<xs:documentation>Field 22 item type.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="7"/>
			<xs:enumeration value="8"/>
			<xs:enumeration value="9"/>
			<xs:enumeration value="10"/>
			<xs:enumeration value="13"/>
			<xs:enumeration value="14"/>
			<xs:enumeration value="15"/>
			<xs:enumeration value="16"/>
			<xs:enumeration value="18"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="AirspaceProjection">
		<xs:annotation>
			<xs:documentation>Projected airspace transit information for the flight.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="airspace" type="fo:AirspaceTransit" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AirspaceTransit">
		<xs:annotation>
			<xs:documentation>Airspace transit information.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="entry" type="fo:LatLong">
				<xs:annotation>
					<xs:documentation>The point at which the flight enters the airspace.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ete" type="xs:dateTime">
				<xs:annotation>
					<xs:documentation>Estimated time of entry.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="exit" type="fo:LatLong">
				<xs:annotation>
					<xs:documentation>The point at which the flight exits the airspace.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="etx" type="xs:dateTime">
				<xs:annotation>
					<xs:documentation>Estimated time of exit.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="fo:SectorId" use="required">
			<xs:annotation>
				<xs:documentation>The sector id.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="SectorProjection">
		<xs:annotation>
			<xs:documentation>Projected sector transit times for the flight.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="sector" type="fo:SectorTransit" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SectorTransit">
		<xs:annotation>
			<xs:documentation>Sector transit information.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="entry" type="fo:LatLong">
				<xs:annotation>
					<xs:documentation>The point at which the flight enters the sector.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ete" type="xs:dateTime">
				<xs:annotation>
					<xs:documentation>Estimated time of entry.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="exit" type="fo:LatLong">
				<xs:annotation>
					<xs:documentation>The point at which the flight exits the sector.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="etx" type="xs:dateTime">
				<xs:annotation>
					<xs:documentation>Estimated time of exit.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="fo:SectorId" use="required">
			<xs:annotation>
				<xs:documentation>The sector id.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="SpeedKnots">
		<xs:annotation>
			<xs:documentation>Flight speed in knots.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:short"/>
	</xs:simpleType>
	<xs:simpleType name="FlightSpeed">
		<xs:annotation>
			<xs:documentation>Flight speed ICAO format.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="([KN]\d{4})|(M\d{3})"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="LevelFeet">
		<xs:annotation>
			<xs:documentation>Flight level in 100s of feet.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:unsignedShort"/>
	</xs:simpleType>
	<xs:simpleType name="FlightLevel">
		<xs:annotation>
			<xs:documentation>Flight level in ICAO format.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="([FA]\d{3})|([SM]\d{4})"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="FlightObjectTemplate">
		<xs:annotation>
			<xs:documentation>A template against which a flight entities can be matched.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="id" type="fo:FlightObjectId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Flight object identifier.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="acid" type="fo:AircraftId" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Aircraft identifier - * at end performs prefix match.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="reg" type="fo:Registration" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Aircraft registration - * at end performs prefix match.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ssr-code" type="fo:SSRCode" minOccurs="0">
				<xs:annotation>
					<xs:documentation>SSR code.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="frul" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Flight rules. one or more in a list.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:list itemType="fo:FlightRules"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="ftyp" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Type of flight - one or more in a list.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:list itemType="fo:TypeOfFlight"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="atyp" type="fo:AircraftType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Aircraft type - * at end performs prefix match.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="equip" minOccurs="0">
				<xs:annotation>
					<xs:documentation>NAV/COM equipment</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="[A-Z]+"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="adep" type="fo:ICAOLocationId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Departure airport - * at end performs prefix match.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep-from" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Lower bound on departure time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep-till" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Upper bound on departure time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep-phase" type="fo:EventPhase" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The phase of flight of interest wrt ADEP time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="adep-rwy" type="fo:RunwayId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Departure runway.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="dfix" type="fo:WaypointId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Departure fix.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="waypoint" type="fo:WaypointId" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Route waypoint.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="waypoint-from" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Lower bound on waypoint ETO.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="waypoint-till" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Upper bound on waypoint ETO.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="sector" type="fo:SectorId" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Sector through which flight passes.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="sector-from" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Lower bound on time during which flight is in sector.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="sector-till" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Upper bound on time during which flight is in sector.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades" type="fo:ICAOLocationId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Destination airport - * at end performs prefix match.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades-from" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Lower bouind on arrival time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades-till" type="xs:dateTime" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Upper bound on arrival time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades-phase" type="fo:EventPhase" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The phase of flight of interest wrt ADES time.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ades-rwy" type="fo:RunwayId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Destination runway.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="afix" type="fo:WaypointId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Arrival fix.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="altn" type="fo:ICAOLocationId" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Alternate destination airport - * at end performs prefix match.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="state" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Flight state - one or more in a list.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:list itemType="fo:FlightState"/>
				</xs:simpleType>
			</xs:element>
			<xs:element name="include-no-runway" type="xs:boolean" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Include flights that do no use runways?</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="FlightObjectId">
		<xs:annotation>
			<xs:documentation>A unique identifier of a flight entity.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:long"/>
	</xs:simpleType>
	<xs:simpleType name="RunwayId">
		<xs:annotation>
			<xs:documentation>A runway identifier.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{2}[A-Z]?"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>