계정 조회 모델¶
승차권·예약 내역·계정 정보 조회의 응답 모델입니다.
TicketListTrain
¶
TicketListTrain(
journey_sequence: str | None = None,
run_date: str | None = None,
train_no: str | None = None,
train_class_code: str | None = None,
train_class_name: str | None = None,
departure_station_code: str | None = None,
departure_station_name: str | None = None,
departure_date: str | None = None,
departure_time: str | None = None,
arrival_station_code: str | None = None,
arrival_station_name: str | None = None,
arrival_date: str | None = None,
arrival_time: str | None = None,
car_no: str | None = None,
seat_no: str | None = None,
seat_count: str | None = None,
passenger_type_code: str | None = None,
received_amount: str | None = None,
buyer_name: str | None = None,
passenger_name: str | None = None,
train_suspension_flag: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
승차권 한 장에 포함된 열차 구간 정보를 담습니다.
호차 번호(car_no)처럼 서버가 정수로 보내는 값도 문자열로 담습니다.
TicketListTicket
¶
TicketListTicket(
pnr_no: str | None = None,
sale_window_no: str | None = None,
sale_date: str | None = None,
return_sale_date: str | None = None,
sale_sequence: str | None = None,
return_password: str | None = None,
ticket_status_code: str | None = None,
ticket_kind_code: str | None = None,
ticket_kind_name: str | None = None,
train_info: tuple[Mapping[str, object], ...] = (),
raw: Mapping[str, object] = dict[str, object](),
ticket_sequence: str | None = None,
ticket_status_name: str | None = None,
return_possible_flag: str | None = None,
use_transaction_no: str | None = None,
notify_use_transaction_no: str | None = None,
pbp_acceptance_target_flag: str | None = None,
trains: tuple[TicketListTrain, ...] = (),
)
승차권 한 장의 식별자·상태와 열차 구간을 담습니다.
ticket_kind_code
¶
승차권 종류 코드(h_tk_knd_cd)입니다. 예약 행이 아니라 승차권 행의 값을 읽습니다.
ticket_status_name
¶
승차권 상태 이름(h_tk_stt_nm)입니다. 서버가 보낸 이름을 그대로 담으며 ticket_status_code를 따로 번역하지 않습니다.
return_possible_flag
¶
반환 가능 여부 플래그(h_ret_psb_flg)입니다. 앱은 승차권 상세의 플래그와 사용 여부도 함께 확인하므로 이 값만으로 환불할 수 있는지 판단할 수 없습니다. 앱이 비교하는 값은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다.
pbp_acceptance_target_flag
¶
대리수령 대상 여부 플래그(h_pbp_acep_tgt_flg)입니다. 승차권 상세 응답에는 이 값이 보통 없으므로, 앱처럼 환불하려면 이 값을 refund의 pbp_acceptance_target_flag로 넘기세요.
TicketListReservation
¶
TicketListReservation(
tickets: tuple[TicketListTicket, ...] = (),
departure_datetime: str | None = None,
ticket_kind_code: str | None = None,
list_count: str | None = None,
seat_assign_count: int | None = None,
ticket_status: str | None = None,
is_finished: bool | None = None,
is_history: bool | None = None,
is_emergency: bool | None = None,
display_ticket_name: str | None = None,
is_non_member: bool | None = None,
is_transfer: bool | None = None,
is_wheelchair_member: bool | None = None,
is_rail_police_enabled: bool | None = None,
raw: Mapping[str, object] = dict[str, object](),
additional_service: MaasServiceDetail | None = None,
ticket_kind: str | None = None,
)
예약 하나에 속한 승차권 목록과 부가서비스를 담습니다.
tickets 외의 필드는 추정한 응답 키로 읽습니다. 실제 키 이름은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다. 키가
다르면 해당 필드는 None입니다.
TicketListResponse
¶
TicketListResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
reservations: tuple[TicketListReservation, ...] = (),
total_count: str | None = None,
)
ServiceStatusResponse
¶
CartItem
¶
CartItem(
service_code: str | None = None,
provider_name: str | None = None,
product_name: str | None = None,
item_type: str | None = None,
departure_date: str | None = None,
received_amount: str | None = None,
reservation_received_date: str | None = None,
ticket_count: str | None = None,
usage_start_date: str | None = None,
usage_start_time: str | None = None,
usage_close_time: str | None = None,
partner_reservation_no: str | None = None,
pnr_no: str | None = None,
lump_sum_target_no: str | None = None,
customer_no: str | None = None,
virtual_reservation_no: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
item_type_code: str | None = None,
provider_id: str | None = None,
item_sequence: str | None = None,
journey_sequence: str | None = None,
journey_type_code: str | None = None,
usage_close_date: str | None = None,
settlement_limit_time: str | None = None,
settlement_extension_transaction_no: str | None = None,
settlement_means_allow_value: str | None = None,
field_settlement_division: str | None = None,
supervising_station_code: str | None = None,
filler: str | None = None,
)
장바구니의 열차·공항버스 예약 또는 부가서비스 한 행을 담습니다.
provider_id
¶
부가서비스 제공 업체 ID(h_add_srv_mrk_ent_id)입니다. 업체 이름은 provider_name에 있습니다.
usage_close_date
¶
이용 종료 날짜(utlClsDt)입니다. usage_close_time과 이어 붙이면 이용 종료 일시가 됩니다.
settlement_limit_time
¶
결제 기한(h_stl_lmt_tm)입니다. 그 자체로 기한을 나타내는 문자열입니다.
settlement_extension_transaction_no
¶
응답의 h_stl_extns_tno 값을 그대로 담습니다. 의미를 확인하지 못했습니다.
settlement_means_allow_value
¶
응답의 h_stl_mns_allw_val 값을 그대로 담습니다. 의미를 확인하지 못했습니다.
field_settlement_division
¶
응답의 h_fld_stl_dv 값을 그대로 담습니다. 의미를 확인하지 못했습니다.
supervising_station_code
¶
응답의 h_spvs_rs_stn_cd 값을 그대로 담습니다. 의미를 확인하지 못했습니다.
usage_window
¶
이용 시작일·시작 시각·종료 시각을 한 번에 반환합니다.
CartListResponse
¶
CartListResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[CartItem, ...] = (),
)
DepositBank
¶
DepositBank(
code: str | None = None,
display_name: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
입금 가능한 은행의 코드와 이름을 담습니다.
DepositBankListResponse
¶
DepositBankListResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[DepositBank, ...] = (),
)
DelayDiscountTicket
¶
DelayDiscountTicket(
fare: str | None = None,
original_sale_date: str | None = None,
window_no: str | None = None,
sale_sequence: str | None = None,
return_password: str | None = None,
ticket_sequence: str | None = None,
ticket_kind_code: str | None = None,
original_ticket_sale_date: str | None = None,
received_amount: str | None = None,
train_class_code: str | None = None,
room_class_code: str | None = None,
train_no: str | None = None,
departure_station_code: str | None = None,
departure_date: str | None = None,
departure_time: str | None = None,
arrival_station_code: str | None = None,
arrival_date: str | None = None,
arrival_time: str | None = None,
ticket_status_code: str | None = None,
ticket_status_name: str | None = None,
buyer_name: str | None = None,
passenger_name: str | None = None,
page_no: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
지연할인권 한 장의 식별자·사용 조건을 담습니다.
사용 가능 기한(h_use_psb_dt)은 읽지 않습니다. 응답에 있으면 raw에서 확인하세요.
DelayDiscountTicketListResponse
¶
DelayDiscountTicketListResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[DelayDiscountTicket, ...] = (),
current_page: str | None = None,
total_pages: str | None = None,
total_count: str | None = None,
row_count: str | None = None,
last_page_flag: str | None = None,
)
Bases: BaseKorailResponse
지연할인권 목록과 페이지 정보를 담습니다.
페이지 정보(current_page, total_pages, total_count, row_count, last_page_flag)는 응답의 main_info
블록에서 읽습니다. 블록이 없으면 모두 None입니다.
DiscountCoupon
¶
DiscountCoupon(
guide: str | None = None,
start_date: str | None = None,
expiration_date: str | None = None,
discount_kind_code: str | None = None,
discount_rate_amount_division_code: str | None = None,
weekday_fare_discount: str | None = None,
weekday_price_discount: str | None = None,
weekend_fare_discount: str | None = None,
weekend_price_discount: str | None = None,
remarks: tuple[str, ...] = (),
coupon_no: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
할인쿠폰 한 장의 조건과 유효기간을 담습니다.
discount_rate_amount_division_code
¶
할인율·할인액 구분 코드(h_disc_rt_amt_dv_cd)입니다. 코드 값의 의미를 확인하지 못했습니다.
DiscountCouponListResponse
¶
DiscountCouponListResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[DiscountCoupon, ...] = (),
current_page: int | None = None,
total_pages: int | None = None,
total_count: str | None = None,
row_count: str | None = None,
)
PassOffice
¶
PassOffice(
code: str | None = None,
display_name: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
패스 조회의 발권처 코드와 표시 이름을 담습니다.
PassOpenDate
¶
PassOpenDate(
open_date: str | None = None,
item_sequence: str | None = None,
pnr_no: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
패스 사용 개시일 한 행과 그 항목 일련번호·PNR을 담습니다.
PassAvailabilityResponse.pass_info의 한 행입니다. 사용 개시일만 필요하면 PassAvailabilityResponse.open_dates를
쓰세요.
PassAvailabilityMainInfo
¶
PassAvailabilityMainInfo(
message_code: str | None = None,
total_count: str | None = None,
row_count: str | None = None,
selected_page_no: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
패스 사용일 조회의 중첩 상태와 건수를 담습니다.
이 응답은 결과 코드를 최상위가 아니라 이 블록의 message_code에만 담아 보낼 수 있습니다. 라이브러리는 이 값으로 예외를
발생시키지 않으므로 필요하면 직접 확인하세요.
PassAvailabilityResponse
¶
PassAvailabilityResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
open_dates: tuple[str, ...] = (),
ticket_issue_dates: tuple[str, ...] = (),
offices: tuple[PassOffice, ...] = (),
pass_info: tuple[PassOpenDate, ...] = (),
main_info: PassAvailabilityMainInfo | None = None,
)
TripMenuContent
¶
TripMenuContent(
title: str | None = None,
detail: str | None = None,
detail_type: str | None = None,
active: str | None = None,
agree: str | None = None,
info: str | None = None,
image: str | None = None,
url: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
commuter_kind_code: str | None = None,
pass_type: str | None = None,
pass_data: PassMenuData | None = None,
)
여행상품 메뉴의 안내 한 행과 패스 조건을 담습니다.
commuter_kind_code
¶
정기권 종류 코드(cmtrKndCd)입니다. get_commuter_kind_menu의 commuter_kind_code로 넘깁니다. 정기권 메뉴가 아닌 행에서는 None일 수 있습니다.
pass_data
¶
pass_data: PassMenuData | None = None
정기권 조회에 필요한 연령·기간 선택지 묶음(passData)입니다. 없으면 None입니다.
TripMenuItem
¶
TripMenuItem(
title: str | None = None,
detail: str | None = None,
menu_type: str | None = None,
button: str | None = None,
contents: tuple[TripMenuContent, ...] = (),
url: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
content_count: int | None = None,
)
여행상품 메뉴 한 항목과 그 안내 목록을 담습니다.
content_count
¶
안내 행 개수(contCount)입니다. 정수나 숫자 문자열을 정수로 읽으며, 그 밖의 값이면 None입니다.
TripMenuResponse
¶
TripMenuResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[TripMenuItem, ...] = (),
popup_message: str | None = None,
)
ProductReservation
¶
ProductReservation(
product_name: str | None = None,
reservation_status: str | None = None,
payment_deadline: str | None = None,
payment_status: str | None = None,
virtual_reservation_no: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
reservation_sequence: str | None = None,
reservation_status_code: str | None = None,
)
여행상품 예약 한 건의 식별자와 상태를 담습니다.
ProductReservationListResponse
¶
ProductReservationListResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[ProductReservation, ...] = (),
total_count: int | None = None,
)
ProductDetailResponse
¶
ProductDetailResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
product_name: str | None = None,
reservation_status: str | None = None,
cancellation_deadline: str | None = None,
cancellation_amount: str | None = None,
cancellation_fee: str | None = None,
received_amount: str | None = None,
total_amount: str | None = None,
usage_period: str | None = None,
included_item_names: tuple[str, ...] = (),
virtual_reservation_no: str | None = None,
detail_raw: Mapping[str, object] = dict[str, object](),
goods_sequence: str | None = None,
)
Bases: BaseKorailResponse
여행상품 예약의 상세·금액·취소 조건을 담습니다.
goods_sequence
¶
상품 일련번호(strGdSqno)입니다. cancel_product_reservation은 이 값과 virtual_reservation_no로 취소를 요청하며, 값이 비어 있으면 요청을 보내기 전에 KorailProtocolError를 발생시킵니다.
ReceiptPayment
¶
ReceiptPayment(
*,
payment_method: str,
approval_date: str,
installment_months: int,
amount: int,
account_no: str,
approval_no: str,
card_no: str,
point_no: str,
raw: Mapping[str, object] = dict[str, object](),
)
영수증의 결제수단 한 행을 담습니다.
ReceiptCashPayment
¶
ReceiptCashPayment(
*,
approval_method_name: str,
authentication_domain_recognition_no: str,
cash_receipt_approval_no: str,
cash_receipt_transaction_division_code: str,
total_approved_amount: int,
raw: Mapping[str, object] = dict[str, object](),
)
영수증에 포함된 현금영수증 한 행을 담습니다.
인증 도메인 인식번호와 현금영수증 승인번호도 가리지 않고 서버가 보낸 값 그대로 담습니다.
TicketReceipt
¶
TicketReceipt(
*,
travel_date: str,
departure_station: str,
departure_time: str,
arrival_station: str,
arrival_time: str,
commuter_kind_code: str,
journey_type_code: str,
printed_discount_name: str,
printed_discount_kind_code: str,
print_type: str,
seat_class_name: str,
ticket_kind_code: str,
ticket_kind_name: str,
ticket_status_code: str,
train_class_code: str,
train_class_name: str,
train_group_code: str,
train_no: str,
passenger_counts: tuple[int, int, int],
received_amount: int,
card_refund_amount: int,
refund_fee: int,
refund_received_amount: int,
point_refund_amount: int,
payments: tuple[ReceiptPayment, ...] = (),
cash_receipts: tuple[ReceiptCashPayment, ...] = (),
member_card_no: str,
raw: Mapping[str, object] = dict[str, object](),
)
승차권 영수증의 이용 내역과 결제 정보를 담습니다.
TicketReceiptResponse
¶
TicketReceiptResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[TicketReceipt, ...] = (),
)
ReservationHistoryTrain
¶
ReservationHistoryTrain(
departure_station: str | None = None,
departure_time: str | None = None,
arrival_station: str | None = None,
arrival_time: str | None = None,
run_date: str | None = None,
train_no: str | None = None,
train_class_code: str | None = None,
train_class_name: str | None = None,
reservation_type_code: str | None = None,
acceptance_possible_flag: str | None = None,
payment_flag: str | None = None,
settlement_flag: str | None = None,
reserved_amount: str | None = None,
seat_count: int | None = None,
standing_count: int | None = None,
pnr_no: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
payment_deadline_date: str | None = None,
payment_deadline_time: str | None = None,
payment_message: str | None = None,
payment_possible_date: str | None = None,
prepayment_target_flag: str | None = None,
journey_sequence: str | None = None,
)
예약 이력의 열차와 결제 기한 정보를 담습니다.
결제 기한은 payment_deadline_date와 payment_deadline_time에 있으며, 값이 없으면 None입니다. 플래그 필드만으로는
기한을 알 수 없습니다. 이 모델이 읽지 않는 응답 키도 있으며, 원본은 raw에 남습니다.
ReservationHistoryTicket
¶
ReservationHistoryTicket(
sale_date: str | None = None,
sale_window_no: str | None = None,
sale_sequence: str | None = None,
ticket_kind_code: str | None = None,
movie_ticket_flag: str | None = None,
delay_discount_flag: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
예약 이력에 중첩된 발권 승차권 한 행을 담습니다.
ReservationHistoryOriginalTicket
¶
ReservationHistoryOriginalTicket(
sale_date: str | None = None,
window_no: str | None = None,
sale_sequence: str | None = None,
return_password: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
예약 이력에 중첩된 원표 한 행을 담습니다.
ReservationHistoryPassenger
¶
ReservationHistoryPassenger(
passenger_type_code: str | None = None,
passenger_count_per_info: str | None = None,
discount_kind_code: str | None = None,
discount_kind_code_2: str | None = None,
discount_no: str | None = None,
discount_no_2: str | None = None,
delay_original_window_no: str | None = None,
delay_original_sale_date: str | None = None,
delay_original_sale_sequence: str | None = None,
delay_original_return_password: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
예약 이력의 승객 유형별 인원·할인 정보를 담습니다.
ReservationHistoryReservation
¶
ReservationHistoryReservation(
pnr_no: str | None = None,
total_fare: str | None = None,
total_price: str | None = None,
total_discount_amount: str | None = None,
total_received_amount: str | None = None,
payment_flag: str | None = None,
tickets: tuple[ReservationHistoryTicket, ...] = (),
original_tickets: tuple[
ReservationHistoryOriginalTicket, ...
] = (),
passengers: tuple[
ReservationHistoryPassenger, ...
] = (),
raw: Mapping[str, object] = dict[str, object](),
)
예약 이력에 중첩된 예약·운임·결제 정보를 담습니다.
이 블록은 추정한 응답 키(reservationOut)로 읽습니다. 실제 키 이름은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다.
키가 다르면 ReservationHistoryJourney.reservation은 None입니다.
ReservationHistoryJourney
¶
ReservationHistoryJourney(
trains: tuple[ReservationHistoryTrain, ...] = (),
service_infos: tuple[Mapping[str, object], ...] = (),
accompanying_infos: tuple[
Mapping[str, object], ...
] = (),
reservation: ReservationHistoryReservation
| None = None,
raw: Mapping[str, object] = dict[str, object](),
)
예약 이력의 여정 한 개와 열차·부가 정보를 담습니다.
service_infos(srv_infos)와 accompanying_infos(acmp_infos)는 행을 해석하지 않고 응답의 원본 매핑을 그대로
담습니다.
ReservationHistoryResponse
¶
ReservationHistoryResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
reservation_passenger_name: str | None = None,
phone_no: str | None = None,
reservation_limit_flag: str | None = None,
seatmap_flag: str | None = None,
process_flag: str | None = None,
follow_flag: str | None = None,
customer_no: str | None = None,
customer_division_code: str | None = None,
customer_sort_code: str | None = None,
customer_class_code: str | None = None,
journey_count: str | None = None,
guide_info: str | None = None,
journeys: tuple[ReservationHistoryJourney, ...] = (),
items: tuple[ReservationHistoryTrain, ...] = (),
)
Bases: BaseKorailResponse
현재 예약 이력과 여정별 상세를 담습니다.
남아 있는 예약이 없어 결과 코드 P100의 실패 응답이 오면 예외를 발생시키지 않고, 목록이 빈 응답을 돌려줍니다.
FreeSeatCarResponse
¶
FreeSeatCarResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
title: str | None = None,
car_no: str | None = None,
content: str | None = None,
)
GuideSeatConditionResponse
¶
GuideSeatConditionResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
time_stamp: int | None = None,
)
Bases: BaseKorailResponse
도우미석 이용 조건과 서버 안내를 담습니다.
실패 응답도 예외를 발생시키지 않고 돌려줍니다(세션 만료는 제외). 안내 문구는 h_msg_txt에 있습니다. time_stamp는 추정한
응답 키(timeStamp)로 읽으며, 실제 키 이름은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다.
TrainScheduleItem
¶
TrainScheduleItem(
train_no: str | None = None,
train_no_qb: str | None = None,
train_sequence: str | None = None,
train_group_code: str | None = None,
train_class_code: str | None = None,
train_class_name: str | None = None,
run_date: str | None = None,
departure_date: str | None = None,
departure_time: str | None = None,
departure_time_qb: str | None = None,
arrival_date: str | None = None,
arrival_time: str | None = None,
arrival_time_qb: str | None = None,
departure_station_code: str | None = None,
departure_station_name: str | None = None,
arrival_station_code: str | None = None,
arrival_station_name: str | None = None,
departure_construction_order: str | None = None,
arrival_construction_order: str | None = None,
departure_run_order: str | None = None,
arrival_run_order: str | None = None,
car_type_name: str | None = None,
general_room_name: str | None = None,
special_room_name: str | None = None,
general_reservation_code: str | None = None,
general_reservation_name: str | None = None,
special_reservation_code: str | None = None,
free_seat_reservation_code: str | None = None,
standing_reservation_code: str | None = None,
standing_reservation_name: str | None = None,
journey_reservation_code: str | None = None,
journey_reservation_name: str | None = None,
seat_map_flag: str | None = None,
delay_sale_flag: str | None = None,
wait_reservation_flag: str | None = None,
reservation_possible_name: str | None = None,
special_reservation_possible_name: str | None = None,
info_text: str | None = None,
popup_message: str | None = None,
shuttle_standing_open_flag: str | None = None,
remaining_standing_count: str | None = None,
standard_remaining_seat_count: str | None = None,
first_remaining_seat_count: str | None = None,
merge_target_flag: str | None = None,
train_suspended_flag: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
special_reservation_name: str | None = None,
free_seat_reservation_name: str | None = None,
)
좌석배정·병합 조회에 사용하는 열차 정보를 담습니다.
get_seat_assignment_schedule과 get_merge_seats_inquiry는 응답 모양이 달라 채우는 필드가 다릅니다. 한쪽 응답에 없는
필드는 None입니다.
PassScheduleTrain
¶
PassScheduleTrain(
arrival_station_code: str | None = None,
arrival_station_name: str | None = None,
departure_station_code: str | None = None,
departure_station_name: str | None = None,
detour_code: str | None = None,
schedule_price: str | None = None,
train_group_code: str | None = None,
train_no: str | None = None,
train_sequence: str | None = None,
change_train_sequence: str | None = None,
change_train_division_code: str | None = None,
run_date: str | None = None,
price_class_code: str | None = None,
route_code: str | None = None,
departure_construction_order: str | None = None,
arrival_construction_order: str | None = None,
car_type_code: str | None = None,
train_class_code: str | None = None,
commuter_use_terminal_code: str | None = None,
commuter_use_terminal_name: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
정기권으로 이용할 수 있는 열차 한 편을 담습니다.
PassAgeOption
¶
PassAgeOption(
commuter_age_code: str | None = None,
display_name: str | None = None,
minimum_age: str | None = None,
maximum_age: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
패스 예매에 사용할 연령 선택 항목을 담습니다.
PassScheduleInfo
¶
PassScheduleInfo(
trains: tuple[PassScheduleTrain, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
정기권 열차 조회의 조건과 부가 정보를 담습니다.
PassScheduleMainInfo
¶
PassScheduleMainInfo(
sale_window_no: str | None = None,
work_date: str | None = None,
work_time: str | None = None,
job_id: str | None = None,
version_no: str | None = None,
message_code: str | None = None,
selected_count: str | None = None,
total_selected_count: str | None = None,
count_per_page: str | None = None,
page_count: str | None = None,
next_page_flag: str | None = None,
change_train_division_code: str | None = None,
page_no: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
정기권 열차 조회의 중첩 상태와 조건을 담습니다.
page_count
¶
페이지 수(h_page_cnt)입니다. 전체 건수가 페이지 크기보다 커도 next_page_flag가 "N"으로 올 수 있으므로, 이 값과 next_page_flag만으로 모든 결과를 받았다고 판단하지 마세요.
SeatAssignmentScheduleResponse
¶
SeatAssignmentScheduleResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
next_page_flag: str | None = None,
merge_reservation_possible_flag: str | None = None,
job_id: str | None = None,
menu_id: str | None = None,
goods_no: str | None = None,
notice_message: str | None = None,
first_seat_count: str | None = None,
second_seat_count: str | None = None,
agreement_text: str | None = None,
first_departure_time: str | None = None,
result_count: str | None = None,
next_query_station_no: str | None = None,
next_train_no: str | None = None,
next_preceding_train_no: str | None = None,
next_connecting_train_no: str | None = None,
remaining_seat_count: str | None = None,
trains: tuple[TrainScheduleItem, ...] = (),
)
Bases: BaseKorailResponse
좌석배정 예매 화면의 열차 목록과 조회 조건을 담습니다.
조회 조건 필드의 이름은 열차 조회 결과의 TrainSearchMetadata와 대부분 같습니다. merge_reservation_possible_flag는
이 응답에서 읽지 않으므로 항상 None입니다.
IntermediateStation
¶
IntermediateStation(
code: str | None = None,
name: str | None = None,
run_order: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
좌석 병합 구간이 나뉘는 중간역을 담습니다.
PassPeriodOption
¶
PassPeriodOption(
commuter_period_code: str | None = None,
display_name: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
패스 예매에 사용할 기간 선택 항목을 담습니다.
MergeSeatsInquiryResponse
¶
MergeSeatsInquiryResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
merge_reservation_possible_flag: str | None = None,
run_date: str | None = None,
intermediate_stations: tuple[
IntermediateStation, ...
] = (),
trains: tuple[TrainScheduleItem, ...] = (),
)
Bases: BaseKorailResponse
병합 가능한 열차와 중간역 목록을 담습니다.
run_date
¶
응답 최상위의 운행일(runDt)입니다. 응답에 없으면 None이며, 열차별 운행일은 trains 각 항목의 run_date에 있습니다.
PassMenuData
¶
PassMenuData(
commuter_kind_code: str | None = None,
station_selection: str | None = None,
age_options: tuple[PassAgeOption, ...] = (),
period_options: tuple[PassPeriodOption, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
패스 메뉴의 역 선택 조건과 상품 코드를 담습니다.
PassPassengerInfo
¶
PassPassengerInfo(
h_cls_prnb: int | None = None,
h_dcnt_knd_cd: str | None = None,
h_st_prnb: int | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
패스의 승객 종류별 인원 조건을 담습니다.
PassPassengerInfos
¶
PassPassengerInfos(
h_chtn_allw_flg: str | None = None,
h_max_cnt: str | None = None,
h_min_cnt: str | None = None,
psg_info: tuple[PassPassengerInfo, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
패스 승객 조건 목록을 담습니다.
PassGoodsInfo
¶
PassGoodsInfo(
h_cnd_flg_disc_no: str | None = None,
psg_infos: PassPassengerInfos | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
패스 메뉴에 연결된 상품 정보를 담습니다.
PassMenuItem
¶
PassMenuItem(
after_day: str | None = None,
agreement: str | None = None,
detail_type: str | None = None,
detail_description: str | None = None,
enabled: str | None = None,
item_id: str | None = None,
information: str | None = None,
sale_message_1: str | None = None,
sale_message_2: str | None = None,
sale_message_3: str | None = None,
expanded: str | None = None,
parent_id: str | None = None,
representative_arrival: str | None = None,
representative_departure: str | None = None,
title: str | None = None,
train_group_code: str | None = None,
item_type: str | None = None,
goods_data: PassGoodsInfo | None = None,
pass_data: PassMenuData | None = None,
url: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
정기권·패스 메뉴 한 항목과 안내를 담습니다.
after_day
¶
응답의 afterDay 값입니다. 서버가 보낸 문자열을 그대로 담으므로, 정수가 필요하면 직접 변환하세요.
PassMenuResponse
¶
PassMenuResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[PassMenuItem, ...] = (),
)
CommuterKindMenuResponse
¶
CommuterKindMenuResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
after_day: str | None = None,
agreement: str | None = None,
information: str | None = None,
title: str | None = None,
pass_data: PassMenuData | None = None,
)
CrewRequestOption
¶
CrewRequestOption(
message_code: str | None = None,
content: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
승무원 호출 시 선택할 요청 사유를 담습니다.
CrewRequestListResponse
¶
CrewRequestListResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[CrewRequestOption, ...] = (),
)
PassScheduleResponse
¶
PassScheduleResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
main_info: PassScheduleMainInfo | None = None,
schedules: tuple[PassScheduleInfo, ...] = (),
)
DiscountCardSection
¶
DiscountCardSection(
departure_station_name: str | None = None,
arrival_station_name: str | None = None,
journey_sequence: str | None = None,
journey_type_code: str | None = None,
train_group_code: str | None = None,
detour_division_name: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
N카드를 적용할 수 있는 구간 한 개를 담습니다.
일부 필드는 추정한 응답 키로 읽습니다. 실제 키 이름은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다.
detour_division_name
¶
경유 구분 이름(stlbDturDvNm)입니다. 앱은 N카드 구간으로 좌석배정 열차를 조회할 때 이 값을 SeatAssignmentScheduleRequest.standing_detour_division_name과 같은 입력 필드로 보냅니다.
DiscountCardOnTicket
¶
DiscountCardOnTicket(
card_no: str | None = None,
term_extension_possible_flag: str | None = None,
sections: tuple[DiscountCardSection, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
KorailPointSummaryResponse
¶
KorailPointSummaryResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
korail_point: str | None = None,
discount_coupon_count: str | None = None,
delay_discount_count: str | None = None,
disability_flag: str | None = None,
welfare_discount_class_name: str | None = None,
welfare_discount_class_code: str | None = None,
customer_lead_flag_name: str | None = None,
phone_verified_flag: str | None = None,
email_verified_flag: str | None = None,
contact_channel_content: str | None = None,
naver_linked_flag: str | None = None,
kakao_linked_flag: str | None = None,
google_linked_flag: str | None = None,
apple_linked_flag: str | None = None,
customer_lead_flag: str | None = None,
disability_type_code: str | None = None,
disability_type_name: str | None = None,
)
Bases: BaseKorailResponse
계정의 포인트·쿠폰·복지 자격 요약을 담습니다.
일부 필드는 추정한 응답 키로 읽습니다. 실제 키 이름은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다. 소셜 연동 플래그 네
개(naver_linked_flag, kakao_linked_flag, google_linked_flag, apple_linked_flag)가 각각 어느 서비스에
대응하는지도 확인하지 못했으므로, 필드 이름의 서비스 대응을 확정된 것으로 보지 마세요.
MileageHistoryEntry
¶
MileageHistoryEntry(
departure_date: str | None = None,
point_division_name: str | None = None,
accrual_division_name: str | None = None,
receipt_division_name: str | None = None,
point_amount: str | None = None,
saved_point_value: str | None = None,
settlement_amount: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
마일리지 적립 또는 사용 내역 한 행을 담습니다.
MileageHistoryResponse
¶
MileageHistoryResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
page_count: str | None = None,
query_count: str | None = None,
total_available_rail_point: str | None = None,
total_available_rail_point_1: str | None = None,
total_available_affiliate_point: str | None = None,
total_accumulated_rail_point_1: str | None = None,
total_used_rail_point_1: str | None = None,
expiring_point_value: str | None = None,
ktx_mileage_info: str | None = None,
entries: tuple[MileageHistoryEntry, ...] = (),
)
DiscountCardUsage
¶
DiscountCardUsage(
passenger_name: str | None = None,
departure_station_name: str | None = None,
arrival_station_name: str | None = None,
run_date: str | None = None,
additional_user_flag: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
sale_date: str | None = None,
sale_sequence: str | None = None,
sale_window_no: str | None = None,
)
N카드를 사용한 여행 내역 한 행을 담습니다.
발매 정보(sale_date, sale_sequence, sale_window_no)에는 반환 비밀번호가 없으므로 반환 식별자로 바로 쓸 수
없습니다.
additional_user_flag
¶
추가 사용자 여부 플래그(apdUsrFlg)입니다. 값의 의미는 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다.
DiscountCardUsageListResponse
¶
DiscountCardUsageListResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
items: tuple[DiscountCardUsage, ...] = (),
)
DiscountCardScheduleTrain
¶
DiscountCardScheduleTrain(
train_no: str | None = None,
train_group_code: str | None = None,
run_date: str | None = None,
departure_station_code: str | None = None,
departure_station_name: str | None = None,
arrival_station_code: str | None = None,
arrival_station_name: str | None = None,
departure_station_order: str | None = None,
arrival_station_order: str | None = None,
departure_run_order: str | None = None,
arrival_run_order: str | None = None,
transfer_train_order_no: str | None = None,
price_class_code: str | None = None,
settlement_car_type_code: str | None = None,
settlement_train_class_code: str | None = None,
commuter_price: str | None = None,
direct_transfer_division_code: str | None = None,
detour_code: str | None = None,
detour_name: str | None = None,
route_code: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
N카드로 이용 가능한 열차 한 편을 담습니다.
DiscountCardScheduleResponse
¶
DiscountCardScheduleResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
following_page_exists: str | None = None,
trains: tuple[DiscountCardScheduleTrain, ...] = (),
)
Bases: BaseKorailResponse
N카드로 이용 가능한 열차 목록을 담습니다.
following_page_exists
¶
다음 페이지 여부입니다. 라이브러리가 값을 채우지 않으므로 항상 None입니다.
MultiChildDiscountTarget
¶
MultiChildDiscountTarget(
birth_date: str | None = None,
customer_family_name: str | None = None,
discount_kind_code: str | None = None,
family_sequence: str | None = None,
passenger_type_code: str | None = None,
passenger_type_name: str | None = None,
room_class_code: str | None = None,
requested_discount_kind_code: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
다자녀 할인 대상으로 등록된 가족 한 명을 담습니다.
MultiChildDiscountTargetResponse
¶
MultiChildDiscountTargetResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
targets: tuple[MultiChildDiscountTarget, ...] = (),
)
CustomerTripInfo
¶
CustomerTripInfo(
additional_seat_attribute_code: str | None = None,
adult_disabled_person_count: str | None = None,
adult_count: str | None = None,
arrival_station_code: str | None = None,
arrival_station_name: str | None = None,
baby_accompanying_person_count: str | None = None,
changed_at: str | None = None,
changed_by: str | None = None,
child_count: str | None = None,
child_disabled_person_count: str | None = None,
customer_management_no: str | None = None,
day_code: str | None = None,
direction_seat_attribute_group_code: str | None = None,
direct_transfer_division_code: str | None = None,
departure_station_code: str | None = None,
departure_station_name: str | None = None,
early_train_departure_time: str | None = None,
elderly_person_count: str | None = None,
included_flag: str | None = None,
job_start_hour: str | None = None,
location_seat_attribute_group_code: str | None = None,
media_division_code: str | None = None,
room_class_code: str | None = None,
passenger_total: str | None = None,
registered_at: str | None = None,
registration_sequence: str | None = None,
registered_by: str | None = None,
trip_day_no: str | None = None,
train_classification_code: str | None = None,
train_connection_flag: str | None = None,
train_group_code: str | None = None,
usage_day_no: str | None = None,
goods_no: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
계정에 저장된 여행 편의설정을 담습니다.
goods_no
¶
상품 번호입니다. 추정한 응답 키(gdNo)로 읽으며, 실제 키 이름은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다.
CustomerTripInfoResponse
¶
CustomerTripInfoResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
trips: tuple[CustomerTripInfo, ...] = (),
)
MaasServiceDetailInfo
¶
MaasServiceDetailInfo(
additional_service_request_no: str | None = None,
booking_time: str | None = None,
branch_name: str | None = None,
partner_name: str | None = None,
delivery_datetime: str | None = None,
drop_times: str | None = None,
dropoff_name: str | None = None,
image: str | None = None,
name: str | None = None,
option_name: str | None = None,
pickup_name: str | None = None,
pickup_place: str | None = None,
pickup_times: str | None = None,
reservation_date: str | None = None,
return_datetime: str | None = None,
start_datetime: str | None = None,
cancel_deadline_date: str | None = None,
cancel_return_amount: str | None = None,
cancel_return_fee: str | None = None,
goods_sequence: str | None = None,
intermediate_value: str | None = None,
received_amount: str | None = None,
reservation_status_name: str | None = None,
reservation_passenger_name: str | None = None,
settlement_deadline_date: str | None = None,
settlement_deadline_datetime: str | None = None,
settlement_status_code: str | None = None,
settlement_status_name: str | None = None,
total_settlement_amount: str | None = None,
usage_period_content: str | None = None,
entity_one: tuple[Mapping[str, object], ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
부가서비스의 상품·이용·결제 상세를 담습니다.
MaasServiceDetail
¶
MaasServiceDetail(
additional_service_division_code: str | None = None,
additional_service_goods_code: str | None = None,
additional_service_id: str | None = None,
marketing_entity_id: str | None = None,
marketing_entity_name: str | None = None,
additional_service_name: str | None = None,
progress_status_code: str | None = None,
request_no: str | None = None,
passenger_reference_content: str | None = None,
partner_reservation_no: str | None = None,
delivery_close_time: str | None = None,
delivery_start_time: str | None = None,
lead_message_1: str | None = None,
lead_message_2: str | None = None,
pnr_no: str | None = None,
request_date: str | None = None,
request_quantity: str | None = None,
reservation_station_code_name: str | None = None,
reservation_specification_url: str | None = None,
usage_close_date: str | None = None,
usage_start_date: str | None = None,
detail_info: MaasServiceDetailInfo | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
신청한 부가서비스 한 건과 그 상세를 담습니다.
MaasServiceDetailListResponse
¶
MaasServiceDetailListResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
details: tuple[MaasServiceDetail, ...] = (),
)
TripChangeDateResponse
¶
TripChangeDateResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
last_run_date: str | None = None,
trip_change_dates: tuple[str, ...] = (),
)
Bases: BaseKorailResponse
승차권을 변경할 수 있는 날짜 목록을 담습니다.
trip_change_dates는 응답의 tripChgDates 목록입니다. 목록이 없거나 null 원소가 있으면 KorailProtocolError가
발생합니다.
CommuterPassengerOption
¶
CommuterPassengerOption(
commuter_usage_age_code: str | None = None,
common_code_name: str | None = None,
customer_age_from: int | None = 0,
customer_age_to: int | None = 0,
passenger_count_from: int | None = 0,
passenger_count_to: int | None = 0,
raw: Mapping[str, object] = dict[str, object](),
)
정기권 승객 종류의 인원·연령 범위를 담습니다.
customer_age_from
¶
최소 연령(custAgeFrom)입니다. 키가 없거나 null이면 0, 정수로 읽을 수 없는 값이면 None입니다.
customer_age_to
¶
최대 연령(custAgeTo)입니다. 키가 없거나 null이면 0, 정수로 읽을 수 없는 값이면 None입니다.
passenger_count_from
¶
최소 인원(psgPrnbFrom)입니다. 키가 없거나 null이면 0, 정수로 읽을 수 없는 값이면 None입니다.
passenger_count_to
¶
최대 인원(psgPrnbTo)입니다. 키가 없거나 null이면 0, 정수로 읽을 수 없는 값이면 None입니다.
CommuterInfoResponse
¶
CommuterInfoResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
additional_service_goods_flag: str | None = None,
companion_flag: str | None = None,
commuter_kind_code: str | None = None,
commuter_usage_age_code: str | None = None,
menu_id: str | None = None,
popup_message: str | None = None,
promotion_message: str | None = None,
promotion_url: str | None = None,
seat_attribute_code: str | None = None,
available_passenger_count_from: int | None = 0,
available_passenger_count_to: int | None = 0,
passenger_options: tuple[
CommuterPassengerOption, ...
] = (),
)
Bases: BaseKorailResponse
정기권 예매 단계별 조건·승객·원표 정보를 담습니다.
commuter_usage_age_code
¶
정기권 이용 연령 코드(cmtrUtlAgeCd)입니다. 요청에 넣은 승객별 연령 코드와 다른 값이 올 수 있으므로, 요청 값이 그대로 돌아온다고 보지 마세요.
available_passenger_count_from
¶
선택할 수 있는 최소 인원(avlPrnbFrom)입니다. 키가 없거나 null이면 0, 정수로 읽을 수 없는 값이면 None입니다.
available_passenger_count_to
¶
선택할 수 있는 최대 인원(avlPrnbTo)입니다. 키가 없거나 null이면 0, 정수로 읽을 수 없는 값이면 None입니다.
PriceFare
¶
PriceFareQuoteResponse
¶
PriceFareQuoteResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
fares: tuple[PriceFare, ...] = (),
)
DeliveryRecipientResponse
¶
DeliveryRecipientResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
*,
acceptance_customer_management_no: str,
acceptance_customer_name: str,
acceptance_customer_phone: str,
member_card_no: str,
)
Bases: BaseKorailResponse
N카드 2인 승차권의 전달 수령자 후보를 담습니다.
네 필드는 응답에 반드시 있어야 하며, 없거나 null이면 KorailProtocolError가 발생합니다.
TicketDuplicationCheckResponse
¶
TicketDuplicationCheckResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
reservation_count: str | None = None,
)
Bases: BaseKorailResponse
PNR 기준 중복 예약 확인 결과를 담습니다.
reservation_count
¶
예약 건수(rsvCnt)입니다. "0007"처럼 서버가 보낸 문자열을 그대로 담습니다.
PbpAcceptanceSeat
¶
PbpAcceptanceSeat(
*,
passenger_type_division_name: str,
room_class_code: str,
room_class_name: str,
car_no: int,
seat_no: str,
raw: Mapping[str, object] = dict[str, object](),
)
대리수령 내역의 좌석 한 자리를 담습니다.
PbpAcceptanceJourney
¶
PbpAcceptanceJourney(
*,
acceptance_customer_name: str,
acceptance_customer_phone: str,
journey_type_code: str,
member_division_name: str,
acceptance_kind_name: str,
pbp_reservation_no: str,
registered_date: str,
withdrawal_possible_flag: str,
seats: tuple[PbpAcceptanceSeat, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
member_card_no: str,
)
대리수령 내역의 여정과 좌석 목록을 담습니다.
PbpAcceptanceTicket
¶
PbpAcceptanceTicket(
*,
pnr_no: str,
sale_date: str,
sale_sequence: str,
sale_window_no: str,
return_password: str,
journeys: tuple[PbpAcceptanceJourney, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
대리수령 내역의 승차권과 여정 목록을 담습니다.
PbpAcceptanceSpecificationResponse
¶
PbpAcceptanceSpecificationResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
tickets: tuple[PbpAcceptanceTicket, ...] = (),
)
Bases: BaseKorailResponse
승차권별 대리수령 내역 목록을 담습니다.
승차권·여정·좌석의 모든 필드는 응답에 반드시 있어야 하며, 없거나 null이면 KorailProtocolError가 발생합니다.
SelfSeatChangeStation
¶
SelfSeatChangeStation(
departure_station_code: str | None = None,
departure_station_name: str | None = None,
departure_date: str | None = None,
departure_time: str | None = None,
arrival_date: str | None = None,
arrival_time: str | None = None,
departure_construction_order: str | None = None,
departure_run_order: str | None = None,
general_remaining_seats: str | None = None,
special_remaining_seats: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
자율 좌석변경이 가능한 승차역과 잔여석을 담습니다.
응답의 도착역 코드·이름과 도착역 편성·운행 순서는 읽지 않습니다. 원본은 raw에 남습니다.
SelfSeatChangeReason
¶
SelfSeatChangeReason(
query_code: str | None = None,
query_order: str | None = None,
reason_text: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
자율 좌석변경 시 선택할 변경 사유를 담습니다.
필드는 추정한 응답 키(qryCode, qryOrdr, frcSaleRsnCont)로 읽습니다. 실제 키 이름은 앱 내부 값이 공개돼 있지 않아
확인하지 못했습니다.
SelfSeatChangeInfoResponse
¶
SelfSeatChangeInfoResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
train_no: str | None = None,
train_class_code: str | None = None,
train_class_name: str | None = None,
train_group_code: str | None = None,
train_group_name: str | None = None,
run_date: str | None = None,
general_reservation_possible_code: str | None = None,
special_reservation_possible_code: str | None = None,
change_before_departure_construction_order: str
| None = None,
change_before_arrival_construction_order: str
| None = None,
existing_departure_run_order: str | None = None,
existing_arrival_run_order: str | None = None,
stations: tuple[SelfSeatChangeStation, ...] = (),
reasons: tuple[SelfSeatChangeReason, ...] = (),
)
OriginalTicketSeat
¶
OriginalTicketSeat(
passenger_sequence: str | None = None,
assign_sequence: str | None = None,
passenger_type_code: str | None = None,
room_class_code: str | None = None,
car_no: str | None = None,
seat_no: str | None = None,
seat_count: str | None = None,
received_fare: str | None = None,
received_price: str | None = None,
requested_seat_attribute_code: str | None = None,
direction_seat_attribute_code: str | None = None,
location_seat_attribute_code: str | None = None,
smoking_seat_attribute_code: str | None = None,
additional_seat_attribute_code: str | None = None,
etc_seat_attribute_code: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
변경 기준인 원표의 좌석 정보를 담습니다.
OriginalTicketJourney
¶
OriginalTicketJourney(
journey_sequence: str | None = None,
journey_order: str | None = None,
journey_type_code: str | None = None,
train_no: str | None = None,
train_group_code: str | None = None,
departure_date: str | None = None,
departure_time: str | None = None,
departure_station_code: str | None = None,
departure_station_name: str | None = None,
departure_construction_order: str | None = None,
arrival_date: str | None = None,
arrival_time: str | None = None,
arrival_station_code: str | None = None,
arrival_station_name: str | None = None,
arrival_construction_order: str | None = None,
goods_no: str | None = None,
total_seat_count: str | None = None,
total_standing_count: str | None = None,
general_change_allowed_flag: str | None = None,
single_ticket_flag: str | None = None,
seats: tuple[OriginalTicketSeat, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
변경 기준인 원표의 구간과 좌석 목록을 담습니다.
OriginalTicket
¶
OriginalTicket(
pnr_no: str | None = None,
ticket_kind_code: str | None = None,
original_sale_datetime: str | None = None,
original_window_no: str | None = None,
original_sale_sequence: str | None = None,
original_return_password: str | None = None,
member_card_no: str | None = None,
adult_count: str | None = None,
child_count: str | None = None,
group_discount_count: str | None = None,
passenger_type_division_code: str | None = None,
received_amount: str | None = None,
received_fare: str | None = None,
received_price: str | None = None,
change_sale_transaction_no: str | None = None,
sms_send_flag: str | None = None,
forced_sale_reason_text: str | None = None,
journeys: tuple[OriginalTicketJourney, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
변경 기준인 원표의 식별자·상태·여정을 담습니다.
필드는 추정한 응답 키로 읽습니다. 실제 키 이름은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다. original_* 필드는
요청한 승차권의 반환 식별자가 그대로 돌아온 값이며 repr에서도 가리지 않습니다.
OriginalTicketInquiryResponse
¶
OriginalTicketInquiryResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
tickets: tuple[OriginalTicket, ...] = (),
)
RecentDeliveryRecipient
¶
RecentDeliveryRecipient(
*,
acceptance_customer_management_flag: str,
acceptance_customer_management_no: str,
acceptance_customer_name: str,
acceptance_customer_phone: str,
acceptance_customer_phone_2: str,
member_card_no: str,
raw: Mapping[str, object] = dict[str, object](),
)
최근 승차권을 전달한 수령자 한 명을 담습니다.
RecentDeliveryHistoryResponse
¶
RecentDeliveryHistoryResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
changed_acceptance_reservation_no: str | None = None,
recipients: tuple[RecentDeliveryRecipient, ...] = (),
)
ReservationSeatDetail
¶
ReservationSeatDetail(
car_no: str | None = None,
seat_no: str | None = None,
room_class_code: str | None = None,
room_class_name: str | None = None,
passenger_type_code: str | None = None,
received_amount: str | None = None,
seat_price: str | None = None,
seat_fare: str | None = None,
total_discount_amount: str | None = None,
seat_group_name: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
passenger_type_name: str | None = None,
)
예약 상세의 좌석·승객·운임 정보를 담습니다.
ReservationDetailJourney
¶
ReservationDetailJourney(
journey_sequence: str | None = None,
journey_type_code: str | None = None,
reservation_change_no: str | None = None,
run_date: str | None = "",
departure_date: str | None = None,
departure_time: str | None = None,
arrival_time: str | None = None,
arrival_date: str | None = None,
departure_station_name: str | None = None,
arrival_station_name: str | None = None,
train_no: str | None = None,
train_class_name: str | None = None,
seats: tuple[ReservationSeatDetail, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
홀드(결제 전 예약)의 여정 한 개와 좌석 상세를 담습니다.
TicketReservationDetailResponse
¶
TicketReservationDetailResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
pnr_no: str | None = None,
window_no: str | None = None,
journey_count: str | None = None,
total_fare: str | None = None,
total_price: str | None = None,
total_discount_amount: str | None = None,
total_received_amount: str | None = None,
payment_flag: str | None = None,
journeys: tuple[ReservationDetailJourney, ...] = (),
customer_management_no: str | None = None,
mandatory_message: str | None = None,
additional_service_flag: str | None = None,
disability_certificate_number: str | None = None,
pre_settlement_target_flag: str | None = None,
family_info_confirm_flag: str | None = None,
special_room_fare: str | None = None,
issue_possible_date: str | None = None,
issue_possible_time: str | None = None,
passengers: tuple[ReservationPassengerInfo, ...] = (),
)
RefundCommissionResponse
¶
RefundCommissionResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
refund_amount: str | None = None,
refund_fee: str | None = None,
proceed_possible_flag: str | None = None,
ticket_return_times_division_code: str | None = None,
usable_mileage: str | None = None,
secondary_message_code: str | None = None,
secondary_message_text: str | None = None,
)
Bases: BaseKorailResponse
환불 전 예상 환불액과 수수료를 담습니다.
get_refund_commission이 돌려줍니다. 환불하려면 이 응답을 refund의 commission에 넘기세요. refund는
commission이 이 타입이 아니면(None 포함) 요청을 보내기 전에 KorailProtocolError를 발생시킵니다.
RefundTicketSeat
¶
RefundTicketSeat(
car_no: str | None = None,
seat_no: str | None = None,
buyer_name: str | None = None,
checkin_status_code: str | None = None,
discount_kind_code: str | None = None,
discount_kind_name: str | None = None,
passenger_type_code: str | None = None,
passenger_type_name: str | None = None,
seat_group_name: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
환불 대상 승차권의 좌석 한 자리를 담습니다.
RefundTicketJourney
¶
RefundTicketJourney(
journey_sequence: str | None = None,
journey_type_code: str | None = None,
departure_date: str | None = None,
departure_time: str | None = None,
departure_station_name: str | None = None,
arrival_date: str | None = None,
arrival_time: str | None = None,
arrival_station_name: str | None = None,
train_no: str | None = None,
train_class_name: str | None = None,
room_class_name: str | None = None,
platform_no: str | None = None,
seats: tuple[RefundTicketSeat, ...] = (),
raw: Mapping[str, object] = dict[str, object](),
)
환불 대상 승차권의 여정 한 개를 담습니다.
RefundTicketDetailResponse
¶
RefundTicketDetailResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
pnr_no: str | None = None,
sale_date: str | None = None,
sale_time: str | None = None,
window_name: str | None = None,
original_sale_date: str | None = None,
original_window_no: str | None = None,
original_sale_sequence: str | None = None,
original_return_password: str | None = None,
ticket_kind_code: str | None = None,
ticket_kind_name: str | None = None,
refund_possible_flag: str | None = None,
return_flag: str | None = None,
total_fare_amount: str | None = None,
total_discount_amount: str | None = None,
total_received_amount: str | None = None,
train_running_flag: str | None = None,
passenger_name: str | None = None,
passenger_birth_date: str | None = None,
companion_name: str | None = None,
companion_birth_date: str | None = None,
pbp_acceptance_target_flag: str | None = None,
delay_flag: str | None = None,
delay_ticket_flag: str | None = None,
additional_service_flag: str | None = None,
additional_service_cancel: str | None = None,
qr_code: str | None = None,
passenger_names: tuple[Mapping[str, object], ...] = (),
seat_tickets: tuple[Mapping[str, object], ...] = (),
limousine: Mapping[str, object] | None = None,
delay_details: tuple[Mapping[str, object], ...] = (),
journeys: tuple[RefundTicketJourney, ...] = (),
discount_card: DiscountCardOnTicket | None = None,
)
Bases: BaseKorailResponse
환불 대상 승차권의 식별자·여정·운임 상세를 담습니다.
일부 필드는 추정한 응답 키로 읽습니다. 실제 키 이름은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다.
refund_possible_flag
¶
환불 가능 여부 플래그(retPsbFlg)입니다. "Y"여도 환불할 수 있다는 보장은 없으므로 get_refund_commission의 결과로 확인하세요.
passenger_name
¶
탑승자 이름(h_abrd_ps_nm)입니다. 동승자 이름(companion_name)이나 passenger_names 목록과는 다른 필드입니다.
pbp_acceptance_target_flag
¶
대리수령 대상 여부 플래그입니다. 응답에 pbpAcepTgtFlg 키가 있을 때만 채우며 보통은 None입니다. 앱처럼 환불하려면 get_ticket_list 승차권의 pbp_acceptance_target_flag를 refund에 넘기세요.
passenger_names
¶
승객 이름 목록(psgNmList)입니다. 추정한 응답 키로 읽으며, 각 원소는 해석하지 않은 원본 매핑입니다.
seat_tickets
¶
좌석 배정 목록(seatTicketList)입니다. 추정한 응답 키로 읽으며, 각 원소는 해석하지 않은 원본 매핑입니다.
limousine
¶
연계된 리무진 예약(limousine)입니다. 추정한 응답 키로 읽은 원본 매핑이며, 없으면 None입니다.
delay_details
¶
지연 정보 목록(dtlList)입니다. 추정한 응답 키로 읽으며, 각 원소는 해석하지 않은 원본 매핑입니다.
discount_card
¶
discount_card: DiscountCardOnTicket | None = None
N카드 정보(dcnt_crd_info)입니다. 응답에 없으면 None이며, N카드 승차권이 아니면 보통 None입니다.
DelayCertificateRow
¶
DelayCertificateRow(
run_day: str,
train_no: str,
departure_station_code: str,
arrival_station_code: str,
arrival_station_name: str,
delay_arrival_flag: str,
delay_minutes: str,
run_date: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
)
지연확인증 한 행을 담습니다.
run_date를 뺀 일곱 필드는 응답에 반드시 있어야 하며, 없거나 null이면 KorailProtocolError가 발생합니다. 앱은
delay_arrival_flag가 특정 값인 행만 보여 주지만, 라이브러리는 거르지 않고 모든 행을 돌려줍니다. 앱이 고르는 값은 앱 내부
값이 공개돼 있지 않아 확인하지 못했습니다.
run_date
¶
운행일(runDt)입니다. 응답에 없으면 None이며, 운행일은 run_day에도 있습니다(예: 요일이 붙은 날짜).
DelayCertificateResponse
¶
DelayCertificateResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
delays: tuple[DelayCertificateRow, ...] = (),
)
DelayReturnReceiptResponse
¶
SelfCheckInSeat
¶
SelfCheckInSeat(
pnr_no: str,
journey_sequence: str,
assignment_sequence: str,
run_date: str,
train_no: str,
departure_construction_order: str,
departure_station_code: str,
arrival_construction_order: str,
arrival_station_code: str,
ticket_kind_code: str,
train_group_code: str,
car_no: str,
seat_no: str,
departure_datetime: str,
arrival_datetime: str,
cps_no: str,
raw: Mapping[str, object] = dict[str, object](),
)
셀프 체크인할 수 있는 좌석 한 행을 담습니다.
열여섯 필드 모두 응답에 반드시 있어야 하며, 없거나 null이면 KorailProtocolError가 발생합니다. 등록할 때는 이 행을
register_self_checkin의 seat로 넘깁니다.
SelfCheckInSeatCheckResponse
¶
SelfCheckInSeatCheckResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
seats: tuple[SelfCheckInSeat, ...] = (),
)
Bases: BaseKorailResponse
셀프 체크인 좌석 확인 결과를 담습니다.
응답에 consList 키가 없으면 KorailProtocolError가 발생하고, 값이 null이면 seats는 빈 튜플입니다.
SelfCheckInInfoResponse
¶
SelfCheckInInfoResponse(
h_msg_cd: str | None = None,
h_msg_txt: str | None = None,
str_result: str | None = None,
raw: Mapping[str, object] = dict[str, object](),
pnr_no: str | None = None,
train_no: str | None = None,
departure_station_name: str | None = None,
departure_time: str | None = None,
arrival_station_name: str | None = None,
arrival_time: str | None = None,
car_no: str | None = None,
seat_no: str | None = None,
train_class_name: str | None = None,
checkin_division_code: str | None = None,
)
Bases: BaseKorailResponse
셀프 체크인한 좌석 정보를 담습니다.
열 필드의 키가 응답에 모두 있어야 하며, 하나라도 없으면 KorailProtocolError가 발생합니다. 값이 null이면 해당 필드는
None입니다.