Common coding patterns
- "daily from 09:00 to 17:00"
- "every Monday and Friday from 13:00 to sunset"
- "every week from MON 07:00 till FRI 17:00, except HOL"
- etc.
AIXM supports the encoding of schedules that contain both:
- repetitive time periods, such as "daily...", "every MON...", "SAT 09:00 - SUN 19:00", etc.
- occasional occurrences, such as "on 1, 2, 15 and 25 of October", "on 1/10 09:00-15:00 and on 3/10 10:00-12:00", etc.
This section describes the most frequently encountered types of schedules used in the aeronautical information domain. Application developers might consider offering HMI templates for such situations, in order to facilitate a correct and harmonised encoding of such common schedules.
Coded value schedules
The following codes are sometimes used in aeronautical information publications and messages in order to indicate the opening hours of a facility or the operating times of a service: H24, HJ, HN, HX, HO, NOTAM. The following table contains the coding recommendations for these coded values:
Coded value (meaning) | AIXM coding | Remarks |
---|---|---|
H24 (continuous service, 24/7) | A single Timesheet:
| According to the AIXM rules for PropertiesWithSchedule, a property that has a constant value (such as an AirspaceLayerClass that does not change according to a schedule) does not need a schedule to be coded. However, some data providers might considers necessary to give an explicit indication that the service or facility is explicitly provided H24, by coding a "H24 schedule" |
HJ (sunrise to sunset) | A single Timesheet with:
| It is assumed that HJ means 'sunrise to sunset'. If HJ actually means 'sunrise minus xx minutes' to 'sunset plus xx minutes', then the additional minutes should be coded as startTimeRelativeEvent and endTimeRelativeEvent respectively. For States that apply the "SERA Regulation" (European Union Commission Implementing Regulation (EU) No 923/2012), ‘night’ might actually mean "the hours between the end of evening civil twilight and the beginning of morning civil twilight. Civil twilight ends in the evening when the centre of the sun’s disc is 6 degrees below the horizon and begins in the morning when the centre of the sun’s disc is 6 degrees below the horizon." In this case, different values should be use for start/end event:
|
HN (sunset to sunrise) | A single Timesheet with:
| It is assumed that HN means 'sunset to sunrise'. If HN actually means 'sunset plus xx minutes' to 'sunrise minus xx minutes', then the additional minutes should be coded as startTimeRelativeEvent and endTimeRelativeEvent respectively. For States that apply the "SERA Regulation\'",different values should be used for start/end event:
|
HX (no specific working hours) | No Timesheet. Use an associated Note with propertyName = 'timeInterval', purpose = 'DESCRIPTION' and note='HX (no specific working hours)' | |
HO (service available to meet operational requests) | No Timesheet. Use an associated Note with propertyName = 'timeInterval', purpose = 'DESCRIPTION' and note='HO (service available to meet operational requests)' | |
NOTAM (activity periods to be published by NOTAM) | No Timesheet. Use an associated Note with propertyName = 'timeInterval', purpose = 'DESCRIPTION' and note='activity periods to be published by NOTAM' |
"Daily" schedules
This applies to schedules that occur every day during the validity period of the data, without distinction between weekdays. However, it is possible to exclude specific dates from the applicable times of the schedule. For example:
- "daily from 09:00 to 17:00"
- "daily from SR+30 min until SS or 18:00, whichever is earliest"
- "daily from 07:00 to 23:00 except for 25 Dec and 1st Jan"
The data elements that are specified for such schedules are indicated in the diagram below:
The graphical elements included in this diagram have the meaning explained in the following table:
Item | Coding | Comments |
---|---|---|
[TS] and [/TS] | All the elements that appear between [TS] and [/TS] are encoded as a single timesheet | |
start date | Timesheet.startDate | |
end date | Timesheet.endDate | |
start time | Encoded as Timesheet.startTime | |
start event | Encoded as Timesheet.startEvent | |
rel. start | Encoded as Timesheet.startTimeRelativeEvent | Positive values indicate that the actual start time is after the event. |
switch | Encoded as startTimeRelativeEvent | Indicates which one takes precedence between the start/end time and the start/end event (including the eventual time relative to the event) |
end time | Encoded as Timesheet.endTime | |
end event | Encoded as Timesheet.endEvent | |
rel. end | Encoded as Timesheet.sendTimeRelativeEvent | Positive values indicate that the actual end time is after the event. |
note | Encoded as Timesheet.annotation | Examples of such notes: |
excluded date | Each excluded date is coded as a separate Timesheet with excluded='YES', startDate equal the "excluded date", endDate equal to "excluded date +1 day", day='ANY', dayTill='ANY', startTime='00:00', endTime='00:00', timeReference='UTC+/-X' (local time as UTC zone). | |
schedule note | Encoded as Note associated with the class that owns the schedule, with propertyName='timeInterval' and purpose='REMARK'. |
"Days of the week" schedules
This applies to schedules that occur with a weekly pattern, during the validity period of the data. It is possible to specify both individual weekdays (MON, TUE, etc.) and weekday ranges (from FRI 17:00 to MON 07:00). It is possible to exclude specific dates or special days (such as holidays) from the applicable times of the schedule. For example:
- "MON, TUE, WED, THU, FRI from 13:00 to sunset; SAT, SUN. from 13:00 to 15:00"
- "SUN, 2300 (2200) to MON, 0500 (0400)"
- "MON to FRI, 09:00 to 17:00, excluding HOL"
The data elements that are specified for such schedules are indicated in the following diagram:
where Start_Event and End_Event are detailed in the following diagrams:
The graphical elements included in this diagram have the meaning explained in the following table:
Item | Coding | Comments |
---|---|---|
[TS] and [/TS] | All the elements that appear between [TS] and [/TS] are encoded as a single timesheet | |
start date | Timesheet.startDate | |
end date | Timesheet.endDate | |
on weekday | Encoded as Timesheet.day | Any weekday values is allowed, including HOL |
from weekday | Encoded as Timesheet.day | Any weekday values is allowed, including HOL |
to weekday | Encoded as Timesheet.dayTil | Any weekday values is allowed, including HOL |
start time | Encoded as Timesheet.startTime | |
start event | Encoded as Timesheet.startEvent | |
rel. start | Encoded as Timesheet.startTimeRelativeEvent | Positive values indicate that the actual start time is after the event. |
switch | Encoded as startTimeRelativeEvent | Indicates which one takes precedence between the start/end time and the start/end event (including the eventual time relative to the event) |
end time | Encoded as Timesheet.endTime | |
end event | Encoded as Timesheet.endEvent | |
rel. end | Encoded as Timesheet.endTimeRelativeEvent | Positive values indicate that the actual end time is after the event. |
note | Encoded as Timesheet.annotation | Examples of such notes: |
excluded date | Each excluded date is coded as a separate Timesheet with excluded='YES', startDate equal the "excluded date", endDate equal to "excluded date +1 day", day='ANY', dayTil='ANY', startTime='00:00', endTime='00:00', timeReference='UTC+/-X' (local time as UTC zone). | |
excluded day | Encoded as a separate Timesheet with excluded='YES', day equal to the "excluded day" value, startTime='00:00', dayTil equal to the "next day after the excluded day" value, endTime='00:00', timeReference='UTC+/-XX' (local time expressed as an as UTC zone). | It does not make sense to use the normal days of the week in this case, only 'HOL', 'BEF_HOL', 'AFT_HOL', 'WORK_DAY', 'BEF_WORK_DAY', 'AFT_WORK_DAY', 'BUSY_FRI' make sense here |
schedule note | Encoded as Note associated with the class that owns the schedule, with propertyName='timeInterval' and purpose='REMARK'. |