diff --git a/flight_planning/v1/flight_planning.yaml b/flight_planning/v1/flight_planning.yaml index 32426e8..e52ad16 100644 --- a/flight_planning/v1/flight_planning.yaml +++ b/flight_planning/v1/flight_planning.yaml @@ -1,7 +1,7 @@ openapi: 3.0.2 info: title: Flight Planning Automated Testing Interface - version: 0.6.0 + version: 0.7.0 description: >- This interface is provided by a USS wishing to participate in automated tests involving attempts to plan flights. @@ -84,9 +84,9 @@ components: example: Flight Planning Automated Testing Interface api_version: description: |- - Indication of the API version implemented at this URL. Must be "v0.6.0" when implementing this version of the API. + Indication of the API version implemented at this URL. Must be "v0.7.0" when implementing this version of the API. type: string - example: v0.6.0 + example: v0.7.0 FlightPlan: description: >- @@ -97,6 +97,10 @@ components: properties: basic_information: $ref: '#/components/schemas/BasicFlightPlanInformation' + uas: + $ref: './uas.yaml#/components/schemas/UASInformation' + operator: + $ref: './operator.yaml#/components/schemas/OperatorInformation' telemetry: description: |- Telemetry for the flight (see FlightTelemetry definition). @@ -163,6 +167,28 @@ components: items: $ref: './geotemporal.yaml#/components/schemas/Volume4D' default: [] + description: + description: Free-text field that enables the operator to describe the purpose of a flight, if so desired. + type: string + example: Medical supplies delivery operated by Example Drone Company + default: '' + utm_id: + description: A UTM-provided universally unique ID traceable to a + non-obfuscated ID that acts as a "session id" to protect exposure of + operationally sensitive information. + type: string + example: ae1fa066-6d68-4018-8274-af867966978e + default: '' + specific_session_id: + $ref: '#/components/schemas/SpecificSessionID' + + SpecificSessionID: + description: |- + A unique ID intended to identify a specific flight (session) while providing a + greater level of privacy to the operator. Defined, for instance, in ASTM F3411. + type: string + example: 02-a1b2c3d4e5f60708 + default: '' ExecutionStyle: type: string diff --git a/flight_planning/v1/operator.yaml b/flight_planning/v1/operator.yaml new file mode 100644 index 0000000..0dd26d0 --- /dev/null +++ b/flight_planning/v1/operator.yaml @@ -0,0 +1,49 @@ +info: + title: Definitions used in flight planning interface specific to the operator. +components: + schemas: + OperatorInformation: + description: >- + Information about the operator that may be provided in flight planning scenarios. + type: object + properties: + registration_numbers: + description: Registration numbers for the remote pilot or operator. + type: array + items: + $ref: '#/components/schemas/OperatorRegistrationNumber' + location: + anyOf: + - $ref: './geotemporal.yaml#/components/schemas/LatLngPoint' + description: Location of operator. + altitude: + anyOf: + - $ref: './geotemporal.yaml#/components/schemas/Altitude' + description: Altitude of operator. + + OperatorRegistrationNumber: + description: >- + Number provided by CAA or authorized representative for registering, licensing and/or identifying a remote + pilot or operator. + type: object + required: + - identifier + properties: + authority: + description: |- + Authority providing this registration number. If authority represents a country, the ICAO nationality + mark is recommended. + type: string + example: N + default: '' + type: + description: |- + Type of license, registration, identifier, etc. + type: string + example: Part107License + default: '' + identifier: + description: |- + Authority-assigned number or identifier. + type: string + example: N.123456 diff --git a/flight_planning/v1/uas.yaml b/flight_planning/v1/uas.yaml new file mode 100644 index 0000000..936cbc3 --- /dev/null +++ b/flight_planning/v1/uas.yaml @@ -0,0 +1,109 @@ +info: + title: Definitions used in flight planning interface specific to the UAS. +components: + schemas: + UASInformation: + description: >- + Information about a UAS that may be provided in flight planning scenarios. + type: object + properties: + aircraft_type: + anyOf: + - $ref: '#/components/schemas/UAType' + description: Aircraft type of the injected test flight. + serial_number: + description: This is generally expressed in the CTA-2063-A Serial Number format. + type: string + example: INTCJ123-4567-890 + default: '' + registration_numbers: + description: >- + For each relevant authority with which this UAS is registered, the number/identifier assigned + to this UAS. + type: array + items: + $ref: '#/components/schemas/UASRegistrationNumber' + default: [] + eu_classification: + description: EU classification of aircraft. + anyOf: + - $ref: '#/components/schemas/UAClassificationEU' + + UASRegistrationNumber: + description: >- + Number provided by CAA or authorized representative for registering and/or identifying UAS. + type: object + required: + - identifier + properties: + authority: + description: |- + Authority providing this registration number. If authority represents a country, the ICAO nationality + mark is recommended. + type: string + example: N + default: '' + type: + description: |- + Type of license, registration, identifier, etc. + type: string + example: Registration + default: '' + identifier: + description: |- + Authority-assigned number or identifier. + type: string + example: N.123456 + + UAType: + description: |- + The UA Type can help infer performance, speed, and duration of flights, for example, a + "fixed wing" can generally fly in a forward direction only (as compared to a multi-rotor). + + `HybridLift` is a fixed wing aircraft that can take off vertically. `Helicopter` includes multirotor. + + `VTOL` is equivalent to HybridLift. + enum: + - NotDeclared + - Aeroplane + - Helicopter + - Gyroplane + - VTOL + - HybridLift + - Ornithopter + - Glider + - Kite + - FreeBalloon + - CaptiveBalloon + - Airship + - FreeFallOrParachute + - Rocket + - TetheredPoweredAircraft + - GroundObstacle + - Other + type: string + default: NotDeclared + + UAClassificationEU: + type: object + properties: + category: + type: string + enum: + - EUCategoryUndefined + - Open + - Specific + - Certified + default: EUCategoryUndefined + class: + type: string + enum: + - EUClassUndefined + - Class0 + - Class1 + - Class2 + - Class3 + - Class4 + - Class5 + - Class6 + default: EUClassUndefined diff --git a/flight_planning/v1/user_notification.yaml b/flight_planning/v1/user_notification.yaml index 2eb33bd..4cdaa0a 100644 --- a/flight_planning/v1/user_notification.yaml +++ b/flight_planning/v1/user_notification.yaml @@ -12,6 +12,9 @@ components: anyOf: - $ref: './geotemporal.yaml#/components/schemas/Time' description: Time at which the virtual user observed the notification. + message: + description: Message presented to the user, description of notification, or other means of helping identify the nature of the notification, for the purpose of increased readability of test reports. + type: string conflicts: description: >- Conflict status as indicated in the notification.