AirCreateReservationRsp 결과중 AirSegment- Group 번호 분석
Overview : The Origin Destination Grouping of this segment.
여러 개발사에서 사용하려고 했으나, AirCreateReservationRsp 결과값으로만 편도/왕복/다구간을 구분하기는 어렵습니다.
AirSegment의 Group 속성은 해당 항공편 구간이 어떤 Origin/Destination 그룹에 속하는지를 나타내기 위한 식별자입니다. 즉, 같은 출발지와 도착지 그룹(여정의 한 구간)에 해당하는 항공편들은 동일한 Group 번호를 갖게 됩니다.
예를 들어, AirCreateReservationRsp의 결과에서
- 첫 번째 항공편이 Group 0,
- 두 번째 항공편이 Group 1,
- 세 번째와 네 번째 항공편이 모두 Group 2로 표시된다면,
이는 첫 번째 항공편이 한 개의 독립된 구간(예: A → B), 두 번째 항공편이 또 다른 구간(예: B → C), 그리고 세 번째와 네 번째 항공편은 동일한 Origin/Destination 그룹(예: C → D)으로 묶여 있다는 의미입니다.
- Origin/Destination 그룹화:
- 항공편이 같은 출발지와 도착지(또는 여정의 한 구간)를 공유하면 동일한 Group 번호를 받습니다.
- 그룹 번호는 일반적으로 0부터 시작하며, 새로운 Origin/Destination 그룹이 나타날 때마다 숫자가 증가합니다.
- 공식 문서의 설명:
- 공식 문서에서는 “The Origin Destination Grouping of this segment.”라고 설명되어 있으며, 이는 단순히 각 항공편이 어느 구간(Origin/Destination 그룹)에 속하는지를 식별하기 위한 용도로 사용된다는 것을 의미합니다.
- 별도의 상세 알고리즘이나 규칙(예: 정교한 계산 방법)이 공개되어 있지는 않고, 기본적으로 위와 같은 그룹핑 방식으로 처리됩니다.
따라서, Travelport UAPI에서 Group 번호에 대한 별도의 복잡한 규칙이 있는 것이 아니라, 항공편 구간이 같은 Origin/Destination 구간에 속하는지를 식별하기 위한 내부 그룹핑 메커니즘 입니다.
예제 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<air:AirSegment Key="UyO0UXTqWDKArhVO1AAAAA==" Group="0" Carrier="GF" CabinClass="Economy" FlightNumber="214" ProviderCode="1G" Origin="KWI" Destination="BAH" DepartureTime="2023-03-22T11:25:00.000+03:00" ArrivalTime="2023-03-22T12:40:00.000+03:00" TravelTime="75" Distance="262" ClassOfService="S" ETicketability="Yes" Equipment="320" MarriageGroup="1" Status="HK" ChangeOfPlane="false" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="vP1zUXSqWDKAteoN2AAAAA==" TravelOrder="1" ProviderSegmentOrder="1" OptionalServicesIndicator="false" AvailabilitySource="S" ParticipantLevel="Secure Sell" LinkAvailability="true" PolledAvailabilityOption="O and D cache or polled status used with different local status" ElStat="A"> <air:FlightDetails Key="vP1zUXSqWDKAOfoN2AAAAA==" Origin="KWI" Destination="BAH" DepartureTime="2023-03-22T11:25:00.000+03:00" ArrivalTime="2023-03-22T12:30:00.000+03:00" FlightTime="65" TravelTime="75" Equipment="320" OriginTerminal="1" AutomatedCheckin="false" ElStat="A"/> <air:Connection Duration="330"/> <common_v52_0:SellMessage>DEPARTS KWI TERMINAL 1</common_v52_0:SellMessage> </air:AirSegment> <air:AirSegment Key="UyO0UXTqWDKAthVO1AAAAA==" Group="0" Carrier="GF" CabinClass="Economy" FlightNumber="510" ProviderCode="1G" Origin="BAH" Destination="DXB" DepartureTime="2023-03-22T18:10:00.000+03:00" ArrivalTime="2023-03-22T20:35:00.000+04:00" TravelTime="85" Distance="300" ClassOfService="S" ETicketability="Yes" Equipment="32N" MarriageGroup="1" Status="HK" ChangeOfPlane="false" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="vP1zUXSqWDKAteoN2AAAAA==" TravelOrder="2" ProviderSegmentOrder="2" OptionalServicesIndicator="false" AvailabilitySource="S" ParticipantLevel="Secure Sell" LinkAvailability="true" PolledAvailabilityOption="O and D cache or polled status used with different local status" ElStat="A"> <air:FlightDetails Key="vP1zUXSqWDKAveoN2AAAAA==" Origin="BAH" Destination="DXB" DepartureTime="2023-03-22T18:10:00.000+03:00" ArrivalTime="2023-03-22T20:35:00.000+04:00" FlightTime="85" TravelTime="85" Equipment="32N" DestinationTerminal="1" AutomatedCheckin="false" ElStat="A"/> <common_v52_0:SellMessage>ARRIVES DXB TERMINAL 1</common_v52_0:SellMessage> </air:AirSegment> <air:AirSegment Key="UyO0UXTqWDKAvhVO1AAAAA==" Group="1" Carrier="GF" CabinClass="Economy" FlightNumber="513" ProviderCode="1G" Origin="DXB" Destination="BAH" DepartureTime="2023-03-27T23:35:00.000+04:00" ArrivalTime="2023-03-27T23:59:00.000+03:00" TravelTime="84" Distance="300" ClassOfService="S" ETicketability="Yes" Equipment="789" MarriageGroup="2" Status="HK" ChangeOfPlane="false" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="vP1zUXSqWDKAteoN2AAAAA==" TravelOrder="3" ProviderSegmentOrder="3" OptionalServicesIndicator="false" AvailabilitySource="S" ParticipantLevel="Secure Sell" LinkAvailability="true" PolledAvailabilityOption="O and D cache or polled status used with different local status" ElStat="A"> <air:FlightDetails Key="vP1zUXSqWDKA0eoN2AAAAA==" Origin="DXB" Destination="BAH" DepartureTime="2023-03-27T23:35:00.000+04:00" ArrivalTime="2023-03-27T23:55:00.000+03:00" FlightTime="80" TravelTime="84" Equipment="789" OriginTerminal="1" AutomatedCheckin="false" ElStat="A"/> <air:Connection Duration="116"/> <common_v52_0:SellMessage>DEPARTS DXB TERMINAL 1</common_v52_0:SellMessage> </air:AirSegment> <air:AirSegment Key="UyO0UXTqWDKAxhVO1AAAAA==" Group="1" Carrier="GF" CabinClass="Economy" FlightNumber="211" ProviderCode="1G" Origin="BAH" Destination="KWI" DepartureTime="2023-03-28T01:55:00.000+03:00" ArrivalTime="2023-03-28T03:00:00.000+03:00" TravelTime="65" Distance="262" ClassOfService="S" ETicketability="Yes" Equipment="320" MarriageGroup="2" Status="HK" ChangeOfPlane="false" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="vP1zUXSqWDKAteoN2AAAAA==" TravelOrder="4" ProviderSegmentOrder="4" OptionalServicesIndicator="false" AvailabilitySource="S" ParticipantLevel="Secure Sell" LinkAvailability="true" PolledAvailabilityOption="O and D cache or polled status used with different local status" ElStat="A"> <air:FlightDetails Key="vP1zUXSqWDKA7eoN2AAAAA==" Origin="BAH" Destination="KWI" DepartureTime="2023-03-28T01:55:00.000+03:00" ArrivalTime="2023-03-28T03:00:00.000+03:00" FlightTime="65" TravelTime="65" Equipment="320" DestinationTerminal="1" AutomatedCheckin="false" ElStat="A"/> <common_v52_0:SellMessage>ARRIVES KWI TERMINAL 1</common_v52_0:SellMessage> <common_v52_0:SellMessage>ADD ADVANCE PASSENGER INFORMATION SSRS DOCA/DOCO/DOCS</common_v52_0:SellMessage> <common_v52_0:SellMessage>PERSONAL DATA WHICH IS PROVIDED TO US IN CONNECTION</common_v52_0:SellMessage> <common_v52_0:SellMessage>WITH YOUR TRAVEL MAY BE PASSED TO GOVERNMENT AUTHORITIES</common_v52_0:SellMessage> <common_v52_0:SellMessage>FOR BORDER CONTROL AND AVIATION SECURITY PURPOSES</common_v52_0:SellMessage> </air:AirSegment> |
세부 설명
- 첫 번째 구간 (Group=”0″)
- 첫 번째 항공편:
- Key: UyO0UXTqWDKArhVO1AAAAA==
- 항공편: KWI (쿠웨이트) → BAH (바레인)
- TravelOrder: 1
- MarriageGroup: 1
- 두 번째 항공편:
- Key: UyO0UXTqWDKAthVO1AAAAA==
- 항공편: BAH (바레인) → DXB (두바이)
- TravelOrder: 2
- MarriageGroup: 1
첫 번째와 두 번째 항공편은 모두 **MarriageGroup=”1″**로 설정되어 있으며, 서로 연결되어 있는 항공편입니다. 출발지부터 최종 목적지까지 이어지는 하나의 여정 구간(Origin/Destination Leg)으로 취급되므로 두 세그먼트 모두 **Group=”0″**으로 할당되었습니다.- 여정 구간: KWI → BAH → DXB
- 첫 번째 항공편:
- 두 번째 구간 (Group=”1″)
- 세 번째 항공편:
- Key: UyO0UXTqWDKAvhVO1AAAAA==
- 항공편: DXB (두바이) → BAH (바레인)
- TravelOrder: 3
- MarriageGroup: 2
- 네 번째 항공편:
- Key: UyO0UXTqWDKAxhVO1AAAAA==
- 항공편: BAH (바레인) → KWI (코威트)
- TravelOrder: 4
- MarriageGroup: 2
세 번째와 네 번째 항공편은 **MarriageGroup=”2″**로 함께 묶여 있으며, 출발지와 도착지가 연결되는 하나의 여정 구간을 이룹니다. 이 때문에 두 항공편은 모두 **Group=”1″**로 할당됩니다.- 여정 구간: DXB → BAH → KWI
- 세 번째 항공편:
요약
- Group 0:
- 구간: KWI → BAH → DXB
- 항공편: 첫 번째(코웨이트 →바레인)와 두 번째(바레인→두바이) 항공편
- 연결: MarriageGroup 1
- Group 1:
- 구간: DXB → BAH → KWI
- 항공편: 세 번째(두바이→바레인)와 네 번째(바레인→코威트) 항공편
- 연결: MarriageGroup 2
예제2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<air:AirSegment Key="tOdeJSSqWDKAmAXIWAAAAA==" Group="0" Carrier="KE" CabinClass="Economy" FlightNumber="5" ProviderCode="1G" Origin="ICN" Destination="LAS" DepartureTime="2025-03-10T21:00:00.000+09:00" ArrivalTime="2025-03-10T16:15:00.000-07:00" TravelTime="675" Distance="5996" ClassOfService="U" ETicketability="Yes" Equipment="77W" Status="HK" ChangeOfPlane="false" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="YSmfJSVqWDKAWm/EWAAAAA==" TravelOrder="1" ProviderSegmentOrder="1" OptionalServicesIndicator="false" ElStat="A"> <air:FlightDetails Key="YSmfJSVqWDKAYm/EWAAAAA==" Origin="ICN" Destination="LAS" DepartureTime="2025-03-10T21:00:00.000+09:00" ArrivalTime="2025-03-10T16:10:00.000-07:00" FlightTime="670" TravelTime="670" Equipment="77W" OriginTerminal="2" DestinationTerminal="3" AutomatedCheckin="false" ElStat="A"/> <common_v52_0:SellMessage>DEPARTS ICN TERMINAL 2 - ARRIVES LAS TERMINAL 3</common_v52_0:SellMessage> </air:AirSegment> <air:AirSegment Key="tOdeJSSqWDKAoAXIWAAAAA==" Group="1" Carrier="KE" CabinClass="Economy" FlightNumber="7424" ProviderCode="1G" Origin="LAS" Destination="LAX" DepartureTime="2025-03-11T06:00:00.000-07:00" ArrivalTime="2025-03-11T07:21:00.000-07:00" TravelTime="81" Distance="241" ClassOfService="U" ETicketability="Yes" Equipment="319" Status="HK" ChangeOfPlane="false" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="YSmfJSVqWDKAWm/EWAAAAA==" TravelOrder="2" ProviderSegmentOrder="2" OptionalServicesIndicator="false" ElStat="A"> <common_v52_0:SegmentRemark Key="YSmfJSVqWDKAfm/EWAAAAA==">DELTA AIR LINES </common_v52_0:SegmentRemark> <air:CodeshareInfo OperatingCarrier="DL"/> <air:FlightDetails Key="YSmfJSVqWDKAem/EWAAAAA==" Origin="LAS" Destination="LAX" DepartureTime="2025-03-11T06:00:00.000-07:00" ArrivalTime="2025-03-11T07:17:00.000-07:00" FlightTime="77" TravelTime="77" Equipment="319" OriginTerminal="1" DestinationTerminal="3" AutomatedCheckin="false" ElStat="A"/> <common_v52_0:SellMessage>OPERATED BY DELTA AIR LINES</common_v52_0:SellMessage> <common_v52_0:SellMessage>DEPARTS LAS TERMINAL 1 - ARRIVES LAX TERMINAL 3</common_v52_0:SellMessage> <common_v52_0:SellMessage>VALID FOR INTL ONLINE STOP/CONNECTIONS ONLY</common_v52_0:SellMessage> </air:AirSegment> <air:AirSegment Key="tOdeJSSqWDKAqAXIWAAAAA==" Group="2" Carrier="KE" CabinClass="Economy" FlightNumber="7852" ProviderCode="1G" Origin="LAX" Destination="HNL" DepartureTime="2025-03-20T07:00:00.000-07:00" ArrivalTime="2025-03-20T09:55:00.000-10:00" TravelTime="355" Distance="2553" ClassOfService="M" ETicketability="Yes" Equipment="332" Status="HK" ChangeOfPlane="false" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="YSmfJSVqWDKAWm/EWAAAAA==" TravelOrder="3" ProviderSegmentOrder="3" OptionalServicesIndicator="false" ElStat="A"> <common_v52_0:SegmentRemark Key="YSmfJSVqWDKAmm/EWAAAAA==">HAWAIIAN AIRLINES </common_v52_0:SegmentRemark> <air:CodeshareInfo OperatingCarrier="HA"/> <air:FlightDetails Key="YSmfJSVqWDKAlm/EWAAAAA==" Origin="LAX" Destination="HNL" DepartureTime="2025-03-20T07:00:00.000-07:00" ArrivalTime="2025-03-20T10:10:00.000-10:00" FlightTime="370" TravelTime="370" Equipment="332" OriginTerminal="B" DestinationTerminal="1" AutomatedCheckin="false" ElStat="A"/> <air:Connection Duration="195"/> <common_v52_0:SellMessage>OPERATED BY HAWAIIAN AIRLINES</common_v52_0:SellMessage> <common_v52_0:SellMessage>DEPARTS LAX TERMINAL B - ARRIVES HNL TERMINAL 1</common_v52_0:SellMessage> <common_v52_0:SellMessage>VALID FOR INTL ONLINE STOP/CONNECTIONS ONLY</common_v52_0:SellMessage> </air:AirSegment> <air:AirSegment Key="tOdeJSSqWDKAsAXIWAAAAA==" Group="2" Carrier="KE" CabinClass="Economy" FlightNumber="7896" ProviderCode="1G" Origin="HNL" Destination="ICN" DepartureTime="2025-03-20T13:10:00.000-10:00" ArrivalTime="2025-03-21T19:25:00.000+09:00" TravelTime="675" Distance="4560" ClassOfService="M" ETicketability="Yes" Equipment="332" Status="HK" ChangeOfPlane="false" GuaranteedPaymentCarrier="No" ProviderReservationInfoRef="YSmfJSVqWDKAWm/EWAAAAA==" TravelOrder="4" ProviderSegmentOrder="4" OptionalServicesIndicator="false" ElStat="A"> <common_v52_0:SegmentRemark Key="YSmfJSVqWDKAtm/EWAAAAA==">HAWAIIAN AIRLINES </common_v52_0:SegmentRemark> <air:CodeshareInfo OperatingCarrier="HA"/> <air:FlightDetails Key="YSmfJSVqWDKAsm/EWAAAAA==" Origin="HNL" Destination="ICN" DepartureTime="2025-03-20T13:10:00.000-10:00" ArrivalTime="2025-03-21T19:25:00.000+09:00" FlightTime="675" TravelTime="675" Equipment="332" OriginTerminal="1" DestinationTerminal="1" AutomatedCheckin="false" ElStat="A"/> <common_v52_0:SellMessage>OPERATED BY HAWAIIAN AIRLINES</common_v52_0:SellMessage> <common_v52_0:SellMessage>DEPARTS HNL TERMINAL 1 - ARRIVES ICN TERMINAL 1</common_v52_0:SellMessage> <common_v52_0:SellMessage>ADD ADVANCE PASSENGER INFORMATION SSRS DOCA/DOCO/DOCS </common_v52_0:SellMessage> <common_v52_0:SellMessage>PERSONAL DATA WHICH IS PROVIDED TO US IN CONNECTION </common_v52_0:SellMessage> <common_v52_0:SellMessage>WITH YOUR TRAVEL MAY BE PASSED TO GOVERNMENT AUTHORITIES </common_v52_0:SellMessage> <common_v52_0:SellMessage>FOR BORDER CONTROL AND AVIATION SECURITY PURPOSES </common_v52_0:SellMessage> </air:AirSegment> |
AirSegment의 Group 속성은 예약 내에서 여정(Origin/Destination) 구간을 구분하기 위한 식별자로 사용됩니다. 이 예제의 경우, 총 4개의 항공편 세그먼트가 있으며, 이를 3개의 여정 구간(Origin/Destination Leg)으로 나눌 수 있습니다.
아래는 각 세그먼트의 Group 할당에 대한 설명입니다.
- Group=”0″:
- 항공편: ICN → LAS
- 설명: 첫 번째 항공편은 전체 여정의 시작 구간으로, 인천(ICN)에서 라스베이거스(LAS)로 이동합니다. 이 단일 구간은 독립된 여정이므로 Group 번호가 0으로 할당됩니다.
- Group=”1″:
- 항공편: LAS → LAX
- 설명: 두 번째 항공편은 첫 구간과는 별개의 새로운 여정 구간으로, 라스베이거스(LAS)에서 로스앤젤레스(LAX)로 이동합니다. 따라서 새로운 그룹으로 취급되어 Group 번호가 1로 할당됩니다.
- Group=”2″:
- 항공편:
- 세 번째 항공편: LAX → HNL
- 네 번째 항공편: HNL → ICN
- 설명: 세 번째와 네 번째 항공편은 서로 연결되어 하나의 연속된 여정 구간을 구성합니다.
- 세 번째 항공편은 로스앤젤레스(LAX)에서 호놀룰루(HNL)로 이동하며,
- 네 번째 항공편은 호놀룰루(HNL)에서 인천(ICN)으로 이동합니다.
- 항공편: