Initial commit
This commit is contained in:
@@ -0,0 +1,266 @@
|
||||
---
|
||||
title: 航班数据交换标准
|
||||
created: 2026-04-08
|
||||
updated: 2026-04-08
|
||||
type: concept
|
||||
tags: [flight-data, api, integration, system]
|
||||
sources: [raw/articles/iata-ssim-2026.md, raw/articles/schedule-data-exchange-2025.md, raw/articles/aidx-xml-imp-guide-v22.1.md]
|
||||
---
|
||||
|
||||
# 航班数据交换标准
|
||||
|
||||
## 定义
|
||||
|
||||
航班数据交换标准是 IATA 主导的全球航空数据格式规范,涵盖航班计划、运营动态、地面保障数据的标准化报文格式,是机场信息化系统的数据互操作基础。
|
||||
|
||||
## 核心标准
|
||||
|
||||
| 标准 | 全称 | 用途 |
|
||||
|------|------|------|
|
||||
| **SSIM** | Standard Schedules Information Manual | 航班计划数据交换格式 |
|
||||
| **AIRIMP** | Airline Industry Reservations Interline Message Procedures | 订座与运价报文 |
|
||||
| **AHM** | Airport Handling Manual | 地面操作数据标准 |
|
||||
| **CIDX** | Cargo Interchange Data Standard | 货运数据交换(部分机场也用于航班动态) |
|
||||
| **IATA-OS** | IATA-OS Data Model | 机场运营数据模型(与 ICDM 合并演进) |
|
||||
|
||||
## SSIM — Standard Schedules Information Manual
|
||||
|
||||
|| 项目 | 信息 |
|
||||
|------|------|
|
||||
|| 最新版本 | **第 36 版(2026)** |
|
||||
|| 发布频率 | 年度 |
|
||||
|| 适用范围 | 全球所有 IATA 成员航司及合作伙伴 |
|
||||
|| 核心内容 | 航班计划报文格式、最小衔接时间(MCT)、机场协调程序 |
|
||||
|
||||
SSIM 是航班计划数据交换的行业基准,采用**固定长度报文格式(flat file)**,支持批量数据交换。
|
||||
|
||||
### SSIM 信息数据行字段定义(Chapter 6/7 SCR 报文)
|
||||
|
||||
每行数据包含 14 个固定字段,固定位置,不可变长:
|
||||
|
||||
```
|
||||
NXZ101 XZ102 20JUN20AUG 0234500 189738 AGPAGP1000 1055BCNBCN JP
|
||||
^1 ^3 ^4 ^6 ^7 ^8 ^9 ^10 ^11
|
||||
```
|
||||
|
||||
| 字段 | 名称 | 内容 | 示例 |
|
||||
|------|------|------|------|
|
||||
| 1 | Action Code | 操作代码(N=新请求/C=变更/D=删除) | N |
|
||||
| 2 | Arrival Flight Designator | 到达航班(航司代码+航班号,最低3位数字) | XZ101 |
|
||||
| 3 | Departure Flight Designator | 出发航班(航司代码+航班号) | XZ102 |
|
||||
| 4 | Period Start | 有效期开始 | 20JUN |
|
||||
| 5 | Period End | 有效期结束 | 20AUG |
|
||||
| 6 | Weekdays of Operation | 周运营日(1=周一~7=周日,1-7数字串) | 0234500 |
|
||||
| 7 | Number of Seats | 座位数(3位数字) | 189 |
|
||||
| 8 | Aircraft Subtype | IATA 机型代码(3位) | 738 |
|
||||
| 9 | Origin Airport | 出发/到达机场代码(同一行往返) | AGP |
|
||||
| 10 | Arrival Time (UTC) | 到达时间(UTC,过夜加1后缀) | 1000 |
|
||||
| 11 | Departure Time (UTC) | 出发时间(UTC) | 1055 |
|
||||
| 12 | Next/Destination Airport | 目的地/下一机场代码 | BCN |
|
||||
| 13 | Arrival Service Type | 到达服务类型(J=定期客机/P=调机) | J |
|
||||
| 14 | Departure Service Type | 出发服务类型 | P |
|
||||
|
||||
### SSIM SCR 报文示例
|
||||
|
||||
**标准 turnaround 格式(新请求):**
|
||||
|
||||
```
|
||||
SCR /schedule@carrier.com
|
||||
S21 01APR DUB
|
||||
NXZ101 XZ102 20JUN20AUG 0234500 189738 AGP1000 1055BCN JP
|
||||
SI NEW SERIES
|
||||
GI BEST REGARDS
|
||||
```
|
||||
|
||||
含义:S21航季,4月1日发给 DUB 机场,XZ 航司新 slot 请求,XZ101 进港/XZ102 出港,6月20日—8月20日每周二三四五执飞,189座,B738 机型,AGP 进港 1000z,BCN 出港 1055z。
|
||||
|
||||
### 协调员响应代码
|
||||
|
||||
| 代码 | 含义 |
|
||||
|------|------|
|
||||
| K | 确认(Confirmed) |
|
||||
| X | 变更(Change required) |
|
||||
| U | 拒绝(Refused) |
|
||||
| O | 建议(Offer alternative) |
|
||||
|
||||
---
|
||||
|
||||
## AIDX — Aviation Information Data Exchange
|
||||
|
||||
|| 项目 | 信息 |
|
||||
|------|------|
|
||||
|| 类型 | XML 消息标准(ISO/IEC 19757-3) |
|
||||
|| 版本 | v22.1(每年 2 次发布) |
|
||||
|| 覆盖 | 约 **180 个**数据元素,涵盖航班运营全生命周期 |
|
||||
|| 开发者 | IATA Delivery on Orders Working Group(80+ 航司/机场/厂商参与) |
|
||||
|| 适用范围 | 航司↔机场↔第三方,运营动态实时交换 |
|
||||
|
||||
AIDX 由 IATA、ATA、ACI 共同认可,是 SESAR A-CDM、ACI ACRIS A-CDM Web Services、ICAO A-CDM(亚太区)信息交换的标准格式。
|
||||
|
||||
### 三种核心消息类型
|
||||
|
||||
| 消息类型 | 用途 | 方向 |
|
||||
|----------|------|------|
|
||||
| `IATA_AIDX_FlightLegNotifRQ` | 无请求方主动通知(推送) | 发送方 → 接收方 |
|
||||
| `IATA_AIDX_FlightLegRQ` | 查询请求 | 发送方 → 接收方 |
|
||||
| `IATA_AIDX_FlightLegRS` | 响应/确认 | 接收方 → 发送方 |
|
||||
|
||||
### 集成模式
|
||||
|
||||
**模式1:无请求方主动通知(推送)**
|
||||
```
|
||||
Sender → IATA_AIDX_FlightLegNotifRQ → Receiver
|
||||
Sender ← IATA_AIDX_FlightLegRS ← Receiver(可选确认)
|
||||
```
|
||||
|
||||
**模式2:查询 + 同步响应**
|
||||
```
|
||||
Sender → IATA_AIDX_FlightLegRQ → Receiver
|
||||
Sender ← IATA_AIDX_FlightLegRS ← Receiver
|
||||
```
|
||||
|
||||
### XML 数据结构(IATA_AIDX_FlightLegNotifRQ)
|
||||
|
||||
```xml
|
||||
<IATA_AIDX_FlightLegNotifRQ Version="2" TimeStamp="2017-01-16T17:27:49Z"
|
||||
TransactionIdentifier="1484587669244" Target="Production" PrimaryLangID="en-us">
|
||||
<Originator CompanyShortName="UAL" TravelSector="A" Code="UA" CodeContext="3"/>
|
||||
<DeliveringSystem CompanyShortName="DEN" TravelSector="C" Code="DEN" CodeContext="3"/>
|
||||
<FlightLeg>
|
||||
<LegIdentifier>
|
||||
<Airline CodeContext="3">UA</Airline>
|
||||
<FlightNumber>1815</FlightNumber>
|
||||
<DepartureAirport CodeContext="3">LAX</DepartureAirport>
|
||||
<ArrivalAirport CodeContext="3">IAH</ArrivalAirport>
|
||||
<OriginDate>2017-01-16</OriginDate>
|
||||
<RepeatNumber CurrentInd="true">1</RepeatNumber>
|
||||
</LegIdentifier>
|
||||
<LegData InternationalStatus="Domestic">
|
||||
<ServiceType>J</ServiceType>
|
||||
<OperationalStatus>OP</OperationalStatus>
|
||||
<CabinClass Class="7">
|
||||
<PaxCount Qualifier="70A" Usage="Actual">166</PaxCount>
|
||||
<SeatCapacity>166</SeatCapacity>
|
||||
</CabinClass>
|
||||
<AircraftInfo>
|
||||
<AircraftType>737</AircraftType>
|
||||
<AircraftSubType>73Q</AircraftSubType>
|
||||
<Registration>N77518</Registration>
|
||||
<TailNumber>518</TailNumber>
|
||||
</AircraftInfo>
|
||||
<AirportResources Usage="Actual">
|
||||
<Resource DepartureOrArrival="Departure">
|
||||
<PassengerGate>70A</PassengerGate>
|
||||
</Resource>
|
||||
<Resource DepartureOrArrival="Arrival">
|
||||
<PassengerGate>E8</PassengerGate>
|
||||
<BaggageClaimUnit>C5</BaggageClaimUnit>
|
||||
</Resource>
|
||||
</AirportResources>
|
||||
<OperationTime OperationQualifier="OFB" CodeContext="9750" TimeType="ACT">2017-01-16T14:28:00Z</OperationTime>
|
||||
<OperationTime OperationQualifier="TKO" CodeContext="9750" TimeType="ACT">2017-01-16T14:41:00Z</OperationTime>
|
||||
<OperationTime OperationQualifier="TDN" CodeContext="9750" TimeType="ACT">2017-01-16T17:27:00Z</OperationTime>
|
||||
<OperationTime OperationQualifier="ONB" CodeContext="9750" TimeType="EST">2017-01-16T17:33:00Z</OperationTime>
|
||||
</LegData>
|
||||
</FlightLeg>
|
||||
</IATA_AIDX_FlightLegNotifRQ>
|
||||
```
|
||||
|
||||
### 航班唯一标识(UFI)规则
|
||||
|
||||
`LegIdentifier` 构成唯一标识,必须严格遵循以下规则:
|
||||
|
||||
| 字段 | 规则 |
|
||||
|------|------|
|
||||
| `OriginDate` | **静态** — 即使航班改期仍不变,以首个航段的 UTC 计划出发日期为准 |
|
||||
| `ArrivalAirport` | **静态** — 航班备降后原字段不变,新增 `PlannedArrivalAptHistory` 记录 |
|
||||
| `OperationalSuffix` | **静态** — 如需变更须取消原航班并创建新航班 |
|
||||
| `RepeatNumber` | 同一计划日期的重复起飞次数,1=首次尝试 |
|
||||
|
||||
### 运营状态代码
|
||||
|
||||
| 代码 | 含义 | 使用场景 |
|
||||
|------|------|----------|
|
||||
| OP | Operational Flight | 正常执行 |
|
||||
| NOP | Non-Operational | 计划但不执行 |
|
||||
| DV | Diverted | 备降 |
|
||||
| DX | Cancelled | 取消 |
|
||||
| RT | Re-route | 改航路 |
|
||||
| GRT | Ground Return | 返回始发地(未起飞) |
|
||||
| SQ | Re-instate | 恢复已取消/备降航班 |
|
||||
|
||||
### A-CDM 里程碑时间代码(Codeset 9750)
|
||||
|
||||
| 代码 | 含义 | 阶段 |
|
||||
|------|------|------|
|
||||
| SCH | Scheduled | 计划 |
|
||||
| INI | Flight Plan Activated | 起飞前 |
|
||||
| OFB | Off Blocks(撤轮档) | 推出 |
|
||||
| TKO | Takeoff(起飞) | 离地 |
|
||||
| FIN | Final Approach | 最后进近 |
|
||||
| TDN | Touch Down(落地) | 接地 |
|
||||
| LAN | Landed | 落地 |
|
||||
| ONB | On Blocks(靠桥) | 停靠 |
|
||||
|
||||
### 时间类型
|
||||
|
||||
| 类型 | 含义 |
|
||||
|------|------|
|
||||
| SCT | Scheduled Time(计划时间) |
|
||||
| EST | Estimated Time(预计时间) |
|
||||
| ACT | Actual Time(实际时间) |
|
||||
|
||||
> **注意**:所有时间必须为 UTC,以 `xsd:DateTime` 格式传输,后缀 Z。元素缺失=无更新;`xsi:nil="true"`=显式清空;空元素(如 `<PassengerGate/>`)可能引发校验错误。
|
||||
|
||||
### 技术规范
|
||||
|
||||
| 项目 | 要求 |
|
||||
|------|------|
|
||||
| 字符编码 | UTF-8 |
|
||||
| 时间格式 | xsd:DateTime,UTC,末尾 Z |
|
||||
| 重复元素 | 使用 `RepeatIndex` 属性标记序号 |
|
||||
| Nil 值 | 使用 `xsi:nil="true"`,禁止空白元素 |
|
||||
| 传输机制 | 未规定(可基于 HTTPS REST、SFTP、WebService 等) |
|
||||
|
||||
### SSIM 与 AIDX 对比
|
||||
|
||||
| 维度 | SSIM Flat File | AIDX XML |
|
||||
|------|----------------|----------|
|
||||
| 数据类型 | 航班计划(季节性/批量) | 航班运营动态(实时) |
|
||||
| 更新频率 | 批量定时交换(航季) | 实时推送/查询 |
|
||||
| 格式 | 固定长度字段( mainframe 遗留格式) | 树形 XML 结构 |
|
||||
| 复杂度 | 低(字段固定),但解析困难 | 高(180+ 元素),但扩展性强 |
|
||||
| 典型场景 | slot 协调、季节计划 | A-CDM、地面保障、旅客信息 |
|
||||
| IATA 策略 | 逐步向 XML/IATA-OS 迁移 | 主推方向,已广泛部署 |
|
||||
|
||||
## IATA Schedule Data Exchange Program(2025 新动态)
|
||||
|
||||
- **2025 年 8 月启动**:航司可从 IATA 数据库**接收**其他航司的航班计划数据
|
||||
- **数据范围**:航班计划 + MCT(Minimum Connect Time)异常数据
|
||||
- **开放性**:向所有航司开放,包括非 IATA 成员
|
||||
- **与现有 DDS / CDD 协同**:IATA Direct Data Solutions 系列扩展
|
||||
|
||||
## 数据流向示意
|
||||
|
||||
```
|
||||
航司 ──SSIM格式──→ 机场 AODB ──ACISP──→ 各运营系统
|
||||
│ │
|
||||
│←──── 运营更新(动态)───────→│
|
||||
│ │
|
||||
└──── 地面服务商 ────────────┘
|
||||
```
|
||||
|
||||
## XML vs. 传统 Flat File
|
||||
|
||||
| 维度 | SSIM Flat File | XML/IATA-OS |
|
||||
|------|----------------|-------------|
|
||||
| 结构 | 固定长度字段 | 树形结构,可扩展 |
|
||||
| 实时性 | 批量/定时交换 | 支持实时 API |
|
||||
| 主流场景 | 计划数据批量交换 | 运营动态实时共享 |
|
||||
| IATA 推进方向 | 逐步向 XML/IATA-OS 迁移 | — |
|
||||
|
||||
## 相关链接
|
||||
|
||||
- [[aodb-core]] — AODB 是数据交换标准的最终接收与处理方
|
||||
- [[a-cdm]] — A-CDM 的 ACISP 平台实现运营数据实时共享
|
||||
- [[baggage-handling]] — 行李数据也通过类似报文标准交换
|
||||
Reference in New Issue
Block a user