Skip to main content
Amadeus PNR_AddMultiElements API(버전 22.1)의 기술 용어를 정리한 문서입니다. PNR(Passenger Name Record)에 승객 이름, 여정, SSR, OSI, 발권 정보, Remarks, 결제 수단 등 PNR을 구성하는 거의 모든 요소를 생성하거나 수정하는 API입니다.
이 API는 WBS Integration Flow예약 생성 단계 Step 8에 해당합니다.

1. 개요

PNR_AddMultiElements는 항공 예약 시스템(GDS)에서 PNR을 생성하고 관리하는 Amadeus의 핵심 API입니다.
  • Query: 승객 정보, 여정(항공 구간), 데이터 요소(SSR, OSI, Remarks, FOP, TK 등)를 PNR에 추가하거나 수정
  • Reply: 처리 결과로 완성된 PNR 이미지(PNR_Reply) 반환
항목내용
API 명PNR_AddMultiElements
플로우 단계Step 8 — 예약 생성
목적PNR에 승객 정보, SSR, 연락처 등 추가 후 저장 (Commit)
이전 단계Air_SellFromRecommendation
다음 단계FOP_CreateFormOfPayment
  • PNR 최초 생성 (승객 이름 + 여정 + 필수 요소 추가 후 EOT)
  • 기존 PNR에 SSR, OSI, Remarks, FOP, TK 등 요소 추가
  • 승객 이름, 연락처, 좌석 요청 등 기존 요소 수정 및 삭제
Amadeus에서 SBR(Standard Booking Record)은 PNR의 내부 명칭입니다. Reply 구조에서 sbrPOSDetails, sbrCreationPosDetails 등의 필드가 PNR 생성/수정 관련 Point of Sale 정보를 담습니다.

2. Query 구조 (요청)

Query 메시지 참조: PNR_AddMultiElements 22.1.1A

최상위 구조

EntityStructureStRep설명
reservationInfoReservation control informationC1기존 PNR 참조 시 레코드 로케이터 지정
pnrActionsOptional PNR actionsM1PNR에 적용할 액션 코드 (EOT, Ignore 등)
travellerInfoGroupC100승객 정보 그룹 (최대 100명)
originDestinationDetailsGroupC50여정(O&D) 그룹 (최대 50개)
dataElementsMasterGroupC1데이터 요소 마스터 (DUM 구분자 + 개별 요소)

2-1. pnrActions (PNR 액션)

PNR 처리 방식을 지정하는 필수 구조입니다.
필드설명
optionCodePNR 처리 옵션 코드 (n..3). 최대 40개 반복. → Option Code 코드 참조

2-2. travellerInfo (승객 정보)

승객 이름 및 기본 정보를 담는 그룹입니다. elementManagementPassenger (Element Management Segment)
필드설명
reference.qualifier참조 유형. OT=객체 타투, PT=승객 타투, PR=승객 클라이언트 참조, ST=구간 타투
reference.number참조 번호 (an..5). 기존 PNR 요소 식별
segmentNamePNR 세그먼트/요소 이름 코드 (an..3). 예: NM(이름), SSR, OSI세그먼트 코드 참조
passengerData > travellerInformation (승객 이름 정보)
필드설명
traveller.surname승객 성 (an..57). 그룹의 경우 그룹명
traveller.qualifier승객 유형. G=그룹
traveller.quantity그룹 인원 수 (n..2)
passenger.firstName이름 + 호칭 (an..56). 예: GILDONG/MR
passenger.type승객 타입 코드 (an..3). 예: ADT, CHD, INF승객 타입 코드 참조
passenger.infantIndicator유아 동반 지시자. 1=유아 동반
passengerData > dateOfBirth (생년월일)
필드설명
dateAndTimeDetails.date생년월일 (DDMMYYYY 형식). 예: 01121990
enhancedPassengerData (확장 승객 정보) UTF-8 인코딩 이름(다국어 이름, 원어명) 처리에 사용하는 대체 구조입니다.
필드설명
enhancedTravellerInformationUTF-8 이름 전송 시 반드시 사용. travellerInformation 대신 이 구조를 사용
nameDetails.nameType이름 유형 코드. Native name, Universal name 등 구분
nameDetails.surname성 (an..57)
nameDetails.givenName이름 (an..56)
nameDetails.title호칭. 이름 필드와 분리 전송 시 사용 (an..70)

2-3. originDestinationDetails (여정)

항공 구간 정보를 담는 그룹입니다. originDestination (출발/도착지)
필드설명
origin출발 도시/공항 코드 (a3). IATA 코드
destination도착 도시/공항 코드 (a3). IATA 코드
originDestination.origin이 공백이 아닌 경우, 해당 ODI(Origin Destination Indicator) 이후에 오는 구간들은 연결(Connected) 구간으로 처리됩니다. 최대 6개의 TVL 구간이 하나의 ODI에 연결될 수 있습니다.
itineraryInfo > elementManagementItinerary
필드설명
segmentName세그먼트 유형. AIR=항공, ARN=도착 미정, SUR=지상 구간
itineraryInfo > airAuxItinerary > travelProduct (항공편 정보)
필드설명
product.depDate출발일 (n6, DDMMYY 형식)
product.depTime출발시간 (n4, HHMM 형식)
product.arrDate도착일 (n6)
product.arrTime도착시간 (n4)
boardpointDetail.cityCode출발 공항/도시 코드 (an..5)
offpointDetail.cityCode도착 공항/도시 코드 (an..5)
company.identification항공사 코드 (an..3). IATA 2자리 코드
productDetails.identification편명 번호 또는 OPEN/ARNK
productDetails.classOfService예약 클래스 (RBD, a1). 예: Y, B, H, M
productDetails.subtype편명 접미사 (a1). A, B, C, D, E
productDetails.description야간 클래스 지시자. N=Night class
messageAction (세그먼트 액션)
필드설명
business.function세그먼트 유형 코드 (business function). 항공=1Business Function 코드 참조
relatedProduct (예약 관련 정보)
필드설명
quantity예약 인원 수 (n..2)
status예약 상태 코드 (a..2). 예: NN, HK, SS, LL세그먼트 상태 코드 참조
selectionDetailsAir (판매 방식)
필드설명
selection.option판매 레벨 코드. 예: 0=Long Sell, 1=Short Sell, P2=Amadeus Access → Option 코드 참조

2-4. dataElementsMaster (데이터 요소)

DUM(Dummy) 구분자 이후에 오는 모든 PNR 데이터 요소 그룹입니다. dataElementsIndiv (개별 데이터 요소, 최대 250개)
필드설명
elementManagementData요소 관리 세그먼트. segmentName으로 요소 유형 식별
serviceRequestSSR 요소. 특별 서비스 요청
miscellaneousRemarkRemarks 요소. RM, RC, RI 등 각종 비고
ticketElementTK 요소. 발권 정보 (TK TL/TK OK/TK XL 등)
freetextDataAP, OS 등 자유 형식 텍스트 요소
formOfPaymentFP 요소. 결제 수단
frequentTravellerDataFF 요소. 상용 고객 프로그램 정보
seatGroup좌석 요청 요소
fareElement운임 요소 (FN, FE, FS 등)
commissionFM 요소. 수수료
tourCodeFT 요소. 투어 코드
ticketingCarrierFV 요소. 발권 항공사 지시자
formOfPayment + fopExtensionFP 요소 + FOP 확장 정보
accessLevelES 요소. 개별 PNR 보안 설정

3. Reply 구조 (응답)

Reply 메시지 참조: PNR_Reply 22.1.1A

최상위 구조

EntityStructureStRep설명
generalErrorInfoGroupC99일반 오류 정보
pnrHeaderGroupC198PNR 헤더 정보
travellerInfoGroupC100승객 이름 요소
originDestinationDetailsGroupC50여정(항공 구간) 정보
dataElementsMasterGroupC1PNR 데이터 요소 전체

3-1. pnrHeader (PNR 헤더)

Entity설명
reservationInfo레코드 로케이터(PNR 번호) 및 항공사 RCI
securityInformationPNR 보안 정보 (오너십, 접근 권한)
queueInformations큐 배치 정보 (오피스, 큐 번호, 카테고리)
numberOfUnits승객 수 등 단위 정보
pnrTypePNR 특수 유형 코드
pnrHeaderTagPNR 헤더 태그 (TST, TSM, DCS, MAR 등)
historyDataPNR 이력 데이터 (최대 999개)
sbrPOSDetails / sbrCreationPosDetails / sbrUpdatorPosDetails (Point of Sale 정보)
구조설명
sbrPOSDetailsPNR 소유 오피스의 Point of Sale 정보
sbrCreationPosDetailsPNR 생성 오피스 정보
sbrUpdatorPosDetails최종 수정 오피스 정보
technicalData (기술 데이터)
필드설명
enveloppeNumberData마지막 EOT 시 발급된 Envelope 번호
purgeDateDataPNR 자동 삭제(Purge) 예정일

3-2. travellerInfo (승객 이름 - Reply)

Entity설명
elementManagementPassenger요소 참조 정보 (타투 번호, 세그먼트명)
passengerData.travellerInformation승객 이름, 타입, 인원 수
passengerData.groupCounters그룹 예약 시 예약/취소/분리 인원 수
passengerData.dateOfBirth유아/소아 생년월일
enhancedPassengerDataUTF-8 인코딩 이름 (다국어)
nameError이름 오류 정보

3-3. itineraryInfo (여정 - Reply)

Entity설명
elementManagementItinerary구간 요소 참조 정보
travelProduct출발/도착지, 편명, 날짜/시간, 클래스
itineraryMessageAction세그먼트 액션 (business function)
itineraryReservationInfo항공사 예약 레코드 로케이터
relatedProduct예약 인원 수, 상태 코드
elementsIndicators세그먼트 과금/면제 상태
flightDetail추가 항공편 정보 (기재, 운항 시간 등)
cabinDetails캐빈 등급 상세
carbonDioxydeInfoCO2 배출량 정보
selectionDetails판매 방식 지시자

4. 주요 데이터 구조

4-1. SSR (Special Service Request)

특별 서비스 요청 정보를 담는 구조입니다. serviceRequest 구조
필드설명
ssr.typeSSR 코드 4자리. 예: WCHR, VGML, BLND주요 SSR 코드 참조
ssr.status서비스 상태 코드. 예: HK=Confirmed, NN=Need, UC=Unable
ssr.quantity수량 (n..2)
ssr.companyId서비스를 제공하는 항공사 코드 (an..3)
ssr.freetextSSR 자유 텍스트 (an..70). 상세 정보
ssr.segmentNumber연결된 항공 구간 번호

4-2. FP (Form of Payment / 결제 수단)

formOfPayment 구조
필드설명
fop.type결제 수단 코드 → FOP 코드 참조
fop.amount결제 금액
fop.creditCardCode신용카드 회사 코드 (예: VI, CA, AX, DC)
fop.accountNumber카드 번호 또는 계좌번호
fop.expiryDate카드 유효기간 (MMYY)
fopExtension (FOP 확장 정보, 최대 3개 반복)
필드설명
추가 FOP 상세복합 결제(복수 카드 등) 시 사용

4-3. TK (Ticket Element / 발권 요소)

ticketElement 구조
필드설명
ticket.indicator발권 지시자 코드 → TK 지시자 코드 참조
ticket.date발권 기한일 또는 발권일 (DDMMYY 형식)
ticket.time발권 기한 시간 (HHMM)
ticket.officeId발권 오피스 ID
ticket.airlineCode발권 항공사 코드

4-4. AP (Contact Element / 연락처)

freetextData > freetextDetail 구조로 전송합니다.
필드설명
freetextDetail.subjectQualifier텍스트 주제 코드. 연락처는 3(Literal text)
freetextDetail.type연락처 유형 코드. 예: P=전화, E=이메일, M=휴대폰, F=팩스
longFreetext실제 연락처 정보 텍스트 (an..199)

4-5. OS (Other Service Information / OSI)

항공사에 전달하는 정보성 메시지입니다.
필드설명
freetextDetail.typeOSI 유형 코드
freetextDetail.companyId대상 항공사 코드
longFreetextOSI 텍스트 내용 (an..199)

4-6. Remarks (비고 요소)

miscellaneousRemark 구조
필드설명
remarks.typeRemark 유형 코드 → Remark 유형 코드 참조
remarks.categoryRemark 카테고리
remarks.freetextRemark 내용 텍스트

4-7. FF (Frequent Traveller / 상용 고객)

frequentTravellerData 구조
필드설명
frequentTraveller.companyId항공사 코드 또는 파트너사 코드
frequentTraveller.membershipNumber마일리지 회원번호
frequentTraveller.tierLevel회원 등급

4-8. FM (Commission / 수수료)

commission 구조
필드설명
commission.type수수료 유형. P=퍼센트, A=금액
commission.percentage수수료율 (%)
commission.amount수수료 금액
commission.currencyCode통화 코드

4-9. reservationInfo (레코드 로케이터)

PNR 식별을 위한 예약 참조 정보입니다.
필드설명
reservation.companyId항공사 또는 GDS 코드. Amadeus는 1A
reservation.controlNumber레코드 로케이터 (PNR 번호, an..19). 예: ABCDEF

5. 주요 코드셋

Option Code (PNR 액션)

pnrActions.optionCode에 사용하는 코드입니다. 복수 지정 가능합니다.
코드의미
0No special processing (특별 처리 없음)
10End transact (ET) - PNR 저장 후 종료
11End transact with retrieve (ER) - PNR 저장 후 재조회
12End transact and change advice codes (ETK)
13End transact with retrieve and change advice codes (ERK)
14End transact split PNR (EF) - PNR 저장 및 분리
15Cancel itinerary for all AXR-connected PNRs and ET (ETX)
16Cancel itinerary for all AXR-connected PNRs and ER (ERX)
20Ignore (IG) - 변경사항 취소
21Ignore and retrieve (IR) - 취소 후 재조회
30Show warnings at first EOT
50Reply with short message (축약 응답)
267Stop EOT if segment sell error

세그먼트 상태 코드

relatedProduct.status에 사용하는 주요 코드입니다.
코드의미
HKHolding Confirmed (확약)
HLHolding Waitlist (대기 확약)
HNHolding Need (요청 중)
HXHave Cancelled (취소됨)
KKConfirming (확약 응답)
LKGuaranteed Sell (보장 판매)
LLPlease Waitlist (대기 요청)
NNNeed Segment (구간 필요)
NONo Action Taken
NSInfant, No Seat (유아, 좌석 없음)
SSSold from Availability (가용성 기반 판매)
UCUnable - Closed (판매 불가, 마감)
UNUnable (판매 불가)
WLWaitlisted (대기자)
XLCancel Waitlisted Segment (대기 취소)
XXCancel Confirmed/Requested/Waitlisted (확약/요청/대기 취소)
일반적인 흐름: NN (요청) → KK (확약 응답) → HK (확약 보유)

주요 SSR 코드

serviceRequest.ssr.type에 사용하는 4자리 코드입니다. 신체적 지원
코드의미
WCHRWheelchair - Ramp (탑승구까지 휠체어)
WCHSWheelchair - Steps (계단 이동 불가)
WCHCWheelchair - Cabin Seat (기내 좌석까지 지원)
BLNDBlind Passenger (시각 장애)
DEAFDeaf Passenger (청각 장애)
MEDAMedical Case (의료적 도움 필요)
STCRStretcher (들것 운반)
식이 요청
코드의미
VGMLVegetarian Meal (채식)
AVMLAsian Vegetarian Meal (아시아 채식)
HNMLHindu Meal (힌두 식단)
MOMLMoslem Meal (이슬람 할랄 식단)
KSMLKosher Meal (유대교 코셔 식단)
DBMLDiabetic Meal (당뇨 식단)
LSMLLow Salt Meal (저염 식단)
CHMLChild Meal (어린이 식사)
BBMLBaby Meal (유아 식사)
SFMLSeafood Meal (해산물)
FPMLFruit Platter Meal (과일 식단)
승객 유형/운영
코드의미
UMNRUnaccompanied Minor (비동반 소아)
PETCPet in Cabin (기내 애완동물)
AVIHAnimal in Hold (화물칸 동물)
EXSTExtra Seat (추가 좌석)
CBBGCabin Baggage (기내 수하물)
FQTVFrequent Traveller (상용 고객 번호)
DOCSTravel Document (여행 서류. 여권 정보)
DOCAAddress (목적지 주소. API 정보)
DOCOOther Document (기타 서류. 비자 등)
OTHSOther Service (기타 서비스)

Form of Payment 코드

formOfPayment.fop.type에 사용하는 코드입니다.
코드의미
CACash (현금)
CCCredit Card (신용카드)
CKCheck (수표)
MSMiscellaneous (기타)
NRNon-refundable (환불 불가)
PTPrepaid Ticket Advice (PTA)
GRGovernment Transportation Request
UNUnited Nations Transportation Request
INVInvoice (인보이스)
AGTAgent (대리점)
BABank Account (은행 계좌)

TK (발권 지시자)

Ticket Element의 발권 유형을 지정합니다.
코드의미
TLTicket Time Limit (발권 기한 설정). TK TL DDMMYY
OKTicket OK (발권 완료 확인). TK OK
XLTicket Cancel (발권 기한 취소). TK XL
RFReceived From (입력자 정보). PNR 저장 시 필수

Remark 유형 코드

miscellaneousRemark.remarks.type에 사용하는 코드입니다.
코드의미
RMGeneral Remark (일반 비고)
RCConfidential Remark (기밀 비고)
RIInvoice Remark (인보이스 비고)
RIRItinerary Remark (여정 비고)
RIFInvoice Remark (인보이스 전용)
RIIItinerary & Invoice Remark (여정+인보이스)
RQQuality Control Remark (품질 관리 비고)
GNLGeneral Comment
GTEGate Comment

Business Function 코드

세그먼트 유형을 분류하는 코드입니다. messageAction.business.function에 사용합니다.
코드의미
1Air Provider (항공 구간)
2Car Provider
3Hotel Provider
4Ferry (페리)
5Cruise (크루즈)
6Rail (철도)
7Tour (투어)
10Air Taxi (에어택시)
17Charter (전세기)
36Prepaid Ticket (선불 항공권)
39Ticket (항공권)

PNR 세그먼트 코드

elementManagementData.segmentName에 사용하는 코드입니다. 승객/이름 요소
코드의미
NMName Element (이름)
NGGroup Name Element (그룹 이름)
NZNon-Commercial PNR Name Element
여정 요소
코드의미
AIRAir Segment (항공 구간)
SURGround Transportation Segment (지상 구간)
TRNTrain Amtrak Segment (철도)
CRUCruise Distribution Segment
CCRAutomated Car Auxiliary Segment
HHLAutomated Hotel Auxiliary Segment
INSInsurance Segment
발권/운임 요소
코드의미
FATicket Number - Automated Tickets
FBAIR Sequence Number
FDFare Discount (FD 요소)
FEEndorsements/Restrictions (FE 요소)
FHManual Document Registration (FH 요소)
FIAutomated Invoice Number
FMCommission (FM 요소)
FNTransmission Control Number
FOOriginal Issue / Issue in Exchange For
FPForm of Payment (결제 수단)
FSMiscellaneous Ticketing Information
FTTour Code (투어 코드)
FVTicketing Carrier Designator (발권 항공사)
TKTicket Element (발권 요소)
연락처/서비스 요소
코드의미
APContact Element (연락처)
OSOther Special Information (OSI)
SSRSpecial Service Request
ABBilling Address
AMMailing Address
AQAddress Verification
AIAccounting Information
비고 요소
코드의미
RMGeneral Remark
RCConfidential Remark
RIFInvoice Remark
RIRItinerary Remark
RQQuality Control Remark
RFReceive From
RRAssociated Cross Reference Record
기타 요소
코드의미
ESIndividual PNR Security (개별 보안)
OPOption Element (옵션)
SPSplit Party Element (분리)
SKSpecial Keywords
NFPNeutral Form of Payment
PLPriority Line
WAWarning Line

Option 코드 (판매 방식)

selectionDetailsAir.selection.option에 사용하는 코드입니다.
코드의미
0Long Sell (풀 정보 판매)
1Short Sell (간략 판매)
P2Amadeus Access (아마데우스 다이렉트)
P3Negotiated Space (네고 공간)
P4Direct Access (항공사 직접)
P10Standard Access
BBYBest Buy
MPEMaster Pricer Expert

승객 타입 코드

passengerData.travellerInformation.passenger.type에 사용하는 주요 코드입니다.
코드의미
ADTAdult (성인, 만 12세 이상)
CHDChild (소아, 만 2~11세)
INFInfant (유아, 만 2세 미만, 좌석 없음)
INSInfant with Seat (유아, 좌석 있음)
STUStudent (학생)
SRCSenior Citizen (시니어)
MILMilitary (군인)
UAMUnaccompanied Minor (비동반 소아)
SEASeaman (선원)
MEDMedical (의료 목적)

좌석 특성 코드

좌석 요청 시 사용하는 코드입니다.
코드의미
AAisle Seat (복도 쪽)
WWindow Seat (창가)
BSeat with Bassinet Facility (바시넷)
KBulkhead Seat (격벽 앞, 칸막이)
HHandicapped/Incapacitated Seat
ISeat for Adult with Infant
UUnaccompanied Minor Seat
EExit Row Seat (비상구 좌석)
CHChargeable Seat (유료 좌석)
MAMedically OK for Travel
NNo Smoking Seat

6. 약어 모음

약어풀네임설명
APIAdvance Passenger Information사전 승객 정보 (여권, 주소 등)
ARKArrival Unknown도착 미정 구간
ARNKArrival Unknown여정 중 이동 수단 불명 구간 (Surface 구간)
AXRAssociated Cross ReferencePNR 간 교차 참조 연결
CConditional조건부 필드 (옵션)
DUMDummy SegmentQuery에서 데이터 요소 시작을 알리는 구분자
EOTEnd of TransactionPNR 저장 트랜잭션 종료
ETEnd TransactPNR 저장 (=EOT)
FOPForm of Payment결제 수단
FFFrequent Flyer상용 고객
GDSGlobal Distribution System전 세계 예약 유통 시스템
IGIgnore미저장 취소
INFInfant유아 (만 2세 미만)
IRIgnore and Retrieve취소 후 재조회
MMandatory필수 필드
M*Mandatory for implementation구현 시 필수
O&DOrigin and Destination출발지-목적지 쌍
ODIOrigin Destination Indicator출발-도착 지시자 (연결 구간 그룹)
OPOption옵션 요소 (발권 기한 등)
OSIOther Service Information기타 서비스 정보
PNRPassenger Name Record승객 예약 기록
POSPoint of Sale판매 지점 (발권 오피스 정보)
PTAPrepaid Ticket Advice선불 항공권 지시
RBDReservation Booking Designator예약 등급 지시자 (클래스 코드)
RCIReservation Control Information예약 관리 정보 (레코드 로케이터 포함)
RFICReason for Issuance Code발행 이유 코드 (IATA 서비스 수수료)
RFISCReason for Issuance Sub-Code발행 이유 세부 코드
SBRStandard Booking RecordAmadeus 내부의 PNR 명칭
SSRSpecial Service Request특별 서비스 요청
TKTicket Element발권 요소 (TL/OK/XL)
TSMTransitional Stored Miscellaneous임시 저장 기타 서비스
TSTTransitional Stored Ticket임시 저장 항공권
TVLTravel Segment여행 구간 세그먼트
UMUnaccompanied Minor비동반 소아

참고

WBS Integration Flow - Step 8

Air_SellFromRecommendation 용어집

FOP_CreateFormOfPayment 용어집

PNR_Retrieve 용어집

BSP 정산 가이드