<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.fixm.aero/flight/4.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fx="http://www.fixm.aero/flight/4.2" xmlns:fb="http://www.fixm.aero/base/4.2" elementFormDefault="qualified" version="4.2.0">
	<xs:annotation>
		<xs:documentation>An FF-ICE Preliminary Flight Plan message FlightData template.

=========================================== 
Copyright (c) 2020 Airservices Australia, DSNA, EUROCONTROL, GCAA UAE, IATA, International Coordinating Council of Aerospace Industries Associations, JCAB, NATS Limited, NAV CANADA, SESAR Joint Undertaking and US FAA 
=========================================== 
All rights reserved. 
          
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 
	- Redistributions of source code must retain the above copyright notice, this list of conditions and the disclaimer.
	- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the disclaimer in the documentation and/or other materials provided with the distribution.
	- Neither the names of Airservices Australia, DSNA, EUROCONTROL, GCAA UAE, IATA, International Coordinating Council of Aerospace Industries Associations, JCAB, NATS Limited, NAV CANADA, SESAR Joint Undertaking and US FAA nor the names of their contributors may be used to endorse or promote products derived from this specification without specific prior written permission.
          
DISCLAIMER 
          
THIS SPECIFICATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
          
========================================== 
Editorial note: this license is an instance of the BSD license template as provided by the Open Source Initiative: 
http://www.opensource.org/licenses/bsd-license.php 
          
The authoritative reference for FIXM is www.FIXM.aero. 
          
Details on Airservices Australia: http://www.airservicesaustralia.com/ 
Details on DSNA: http://www.developpement-durable.gouv.fr/-Navigation-aerienne-.html 
Details on EUROCONTROL: http://www.eurocontrol.int/ 
Details on IATA: http://www.iata.org/Pages/default.aspx 
Details on JCAB: http://www.mlit.go.jp/en/koku/index.html 
Details on NATS Limited: http://www.nats.co.uk/ 
Details on NAV CANADA: http://www.navcanada.ca/ 
Details on the UAE GCAA: https://www.gcaa.gov.ae 
Details on the ICCAIA: www.iccaia.org 
Details on the SESAR JU and its members: http://www.sesarju.eu/discover-sesar/partnering-smarter-aviation/members 
Details on the US FAA: http://www.faa.gov/</xs:documentation>
	</xs:annotation>
	<xs:import namespace="http://www.fixm.aero/base/4.2" schemaLocation="../../base/FficePFP_Base.xsd"/>
	<xs:include schemaLocation="../rankedtrajectory/FficePFP_RankedTrajectory.xsd"/>
	<xs:include schemaLocation="../flightroutetrajectory/FficePFP_RouteTrajectory.xsd"/>
	<xs:include schemaLocation="../enroute/FficePFP_EnRoute.xsd"/>
	<xs:include schemaLocation="../departure/FficePFP_Departure.xsd"/>
	<xs:include schemaLocation="../arrival/FficePFP_Arrival.xsd"/>
	<xs:include schemaLocation="../../../../../../core/flight/flightdata/FlightData.xsd"/>
	<xs:include schemaLocation="../../../../../../core/flight/aircraft/Aircraft.xsd"/>
	<xs:complexType name="FficePFP_FlightType">
		<xs:annotation>
			<xs:documentation>This is the central object of the FIXM Logical Model. It groups all information about the flight. [FIXM]</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:restriction base="fx:FlightType">
				<xs:sequence>
					<xs:element name="aircraft" type="fx:AircraftType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>Aircraft enabling the flight. [FIXM]</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="arrival" type="fx:FficePFP_ArrivalType" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The actual arrival of the flight. [FIXM]</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="departure" type="fx:FficePFP_DepartureType" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>Contains flight departure information</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="enRoute" type="fx:FficePFP_EnRouteType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>Groups the en route information about the flight.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="extension" type="fb:FlightExtensionType" minOccurs="0" maxOccurs="2000" nillable="true">
						<xs:annotation>
							<xs:documentation>An extension hook for attaching extension (non-core) classes.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="flightIdentification" type="fx:FficePFP_FlightIdentificationType" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>A container of flight identifying data. [FIXM]</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="flightPlanOriginator" type="fb:PersonOrOrganizationType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>Originator of the Flight Plan, can be FF-ICE Participant or a non-upgraded ASP. [adapted from ICAO Draft FF-ICE Implementation Guidance] Equivalent to ATS 18 ORGN/.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="flightType" type="fx:TypeOfFlightType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>Indication of the rule under which an air traffic controller provides categorical handling of a flight. [FIXM]</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="gufi" type="fb:UniversallyUniqueIdentifierType" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>A single reference for FF-ICE information pertinent to a flight that is unique globally. [ICAO Doc 9965]
This is a reference that uniquely identifies a specific flight and is independent of any particular system. [FIXM]</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="gufiOriginator" type="fb:FficePFP_PersonOrOrganizationType" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>Originator of the GUFI, can be FF-ICE Participant or an ASP. [adapted from ICAO Draft FF-ICE Implementation Guidance] </xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="operator" type="fb:AircraftOperatorType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>A person, organization or enterprise engaged in or offering to engage in an aircraft operation. [ICAO Annex 9]</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="remarks" type="fb:CharacterStringType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>Any other plain-language remarks when required by the appropriate ATS authority or deemed necessary, by the pilot-in-command for the provision of air traffic services.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="routeTrajectoryGroup" type="fx:FficePFP_RouteTrajectoryGroupContainerType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>A logical grouping for all Route Trajectory Groups associated with the flight. [FIXM]</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="specialHandling" type="fx:SpecialHandlingReasonCodeListType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>The reason for special handling of a flight by ATS. [adapted from ICAO Doc 4444, Appendix 2, ITEM 18 STS/]</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="supplementaryData" type="fx:SupplementaryDataType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>A container for supplementary data about the flight. This container does not capture the complete set of elements described in ICAO Doc 4444 ITEM 19 "Supplementary Information"; it only contains those elements that could not be modeled more logically in other FIXM structures. [FIXM]</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FficePFP_FlightIdentificationType">
		<xs:annotation>
			<xs:documentation>A container of flight identifying data. [FIXM]</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:restriction base="fx:FlightIdentificationType">
				<xs:sequence>
					<xs:element name="aircraftIdentification" type="fb:AircraftIdentificationType" minOccurs="1" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>A group of letters, figures or a combination thereof which is either identical to, or the coded equivalent of, the aircraft call sign to be used in air-ground communications, and which is used to identify the aircraft in ground-ground air traffic services communications. [ICAO Doc 4444]</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="extension" type="fb:FlightIdentificationExtensionType" minOccurs="0" maxOccurs="2000" nillable="true">
						<xs:annotation>
							<xs:documentation>An extension hook for attaching extension (non-core) classes.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="FficePFP_RouteTrajectoryGroupContainerType">
		<xs:annotation>
			<xs:documentation>A logical grouping for all Route Trajectory Groups associated with the flight. [FIXM]</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:restriction base="fx:RouteTrajectoryGroupContainerType">
				<xs:sequence>
					<xs:element name="desired" type="fx:FficePFP_RouteTrajectoryGroupType" minOccurs="0" maxOccurs="1" nillable="true">
						<xs:annotation>
							<xs:documentation>The preferred route of flight submitted by the FF-ICE enabled airspace user (eAU) to the FF-ICE enabled Air Traffic Management Service Providers (eASP) subject to required constraints.
This trajectory indicates the preferred 4D trajectory submitted by the FF-ICE enabled airspace user (eAU) to the FF-ICE enabled Air Traffic Management Service Providers (eASP) subject to required constraints.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="extension" type="fb:RouteTrajectoryGroupContainerExtensionType" minOccurs="0" maxOccurs="2000" nillable="true">
						<xs:annotation>
							<xs:documentation>An extension hook for attaching extension (non-core) classes.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="ranked" type="fx:FficePFP_RankedTrajectoryType" minOccurs="0" maxOccurs="2000" nillable="true">
						<xs:annotation>
							<xs:documentation>Ranked Trajectories associated with the flight. Order is based on trajectory preference from highest to lowest.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
</xs:schema>
