콘텐츠로 이동

조회 입력

계정 조회 메서드에 넘기는 입력 타입입니다.

FreeSeatCarRequest

FreeSeatCarRequest(
    run_date: str,
    train_no: str,
    departure_construction_order: str,
    arrival_construction_order: str,
    departure_run_order: str,
    arrival_run_order: str,
)

열차 한 편의 자유석 호차 조회 조건을 구성합니다.

GuideSeatConditionRequest

GuideSeatConditionRequest(seat_attribute_code: str)

도우미석 이용 안내 조회 조건을 구성합니다.

seat_attribute_code에는 안내를 받을 좌석 속성 코드를 넣습니다. 앱이 도우미석에 쓰는 좌석 속성 코드는 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다.

SeatAssignmentScheduleRequest

SeatAssignmentScheduleRequest(
    menu_id: str,
    departure_date: str,
    departure_time: str,
    departure_station_name: str,
    arrival_station_name: str,
    train_group_code: str,
    room_class_code: str,
    seat_attribute_code: str,
    passenger_count: int,
    standing_detour_division_name: str,
    transfer_type_code: str,
    connection_arrival_station_name: str,
)

좌석배정 화면의 열차 조회 조건을 구성합니다.

MergeSeatsInquiryRequest

MergeSeatsInquiryRequest(
    boarding_datetime: str,
    run_datetime: str,
    train_no: str,
    departure_station_name: str,
    arrival_station_name: str,
    selected_station_name: str | None,
    room_class_code: str,
    seat_attribute_code: str,
    passenger_count: int,
)

병합 가능한 좌석과 중간역 조회 조건을 구성합니다.

PassScheduleRequest

PassScheduleRequest(
    selected_train_code: str,
    departure_date: str,
    departure_time: str,
    transfer_type_code: str,
    pass_kind_code: str,
    pass_period_code: str,
    pass_age_code: str,
    page_no: str,
    page_size: str,
    departure_station_name: str,
    arrival_station_name: str,
    weekend_use_flag: str,
)

정기권으로 이용 가능한 열차 조회 조건을 구성합니다.

page_no

page_no: str

요청할 페이지 번호(txtSelPage)입니다. 이 값을 바꿔도 서버가 첫 페이지를 돌려줄 수 있으므로, 받을 건수는 page_size로 정하세요.

MaasServiceDetailQuery

MaasServiceDetailQuery(
    start_date: str | None = None,
    end_date: str | None = None,
)

부가서비스 이용 내역의 조회 기간을 구성합니다.

current

기간을 보내지 않는 조회 조건을 만듭니다.

history

history(
    start_date: str, end_date: str
) -> MaasServiceDetailQuery

시작일~종료일 기간을 보내는 조회 조건을 만듭니다.

KorailMileageLedger

KorailMileageLedger = Literal['1', '2']

마일리지 원장입니다. "1"은 KTX 마일리지, "2"는 레일포인트입니다.

KorailMileageMovement

KorailMileageMovement = Literal['0', '1', '2']

마일리지 증감 구분입니다. "0"은 전체, "1"은 적립, "2"는 사용입니다.

MileageHistoryRequest

MileageHistoryRequest(
    start_date: str,
    end_date: str,
    ledger: KorailMileageLedger = KORAIL_MILEAGE_LEDGER_KTX,
    movement: KorailMileageMovement = KORAIL_MILEAGE_MOVEMENT_ALL,
    page_no: int = 1,
)

마일리지 내역의 기간·종류·페이지 조건을 구성합니다.

기본값은 KTX 마일리지 원장("1"), 전체 증감("0"), 1페이지입니다. start_date와 end_date는 YYYYMMDD 형식이어야 하고 시작일이 종료일보다 늦으면 안 됩니다. 이 검사는 요청을 보내기 전에 합니다.

DiscountCardScheduleRequest

DiscountCardScheduleRequest(
    card_kind_management_no: str,
    departure_station_name: str,
    arrival_station_name: str,
    departure_date: str,
    card_kind_code: str = "MMM",
    usable_trip_count: str = "",
    usage_period_days: str | None = None,
    page_no: str | None = None,
    departure_time: str = "000000",
    train_group_code: str = "109",
    direct_transfer_division_code: str = "1",
)

N카드 한 구간의 이용 가능한 열차 조회 조건을 구성합니다.

usable_trip_count(usePsbTno)에는 카드의 실제 값을 넣으세요. 앱의 기본 코드는 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다. 보통 for_card로 만듭니다.

for_card

for_card(
    card_kind_management_no: str,
    *,
    departure_station_name: str,
    arrival_station_name: str,
    departure_date: str,
    usable_trip_count: str = "",
    usage_period_days: str | None = None,
    page_no: str | None = None,
) -> DiscountCardScheduleRequest

카드 종류 관리번호로 할인카드 종류 코드(card_kind_code, dcntCrdKndCd)를 정해 조회 조건을 만듭니다.

일부 관리번호는 "B2N", 나머지는 "MMM"을 씁니다. 이 구분이 앱과 같은지는 확인하지 못했습니다.

CommuterInitialRequest

CommuterInitialRequest(pass_data: PassMenuData)

정기권 예매의 초기 조건 조회 입력을 구성합니다.

CommuterPassengerRequest

CommuterPassengerRequest()

정기권 예매의 승객·인원 조건 조회 입력을 구성합니다.

from_response

from_response(
    pass_data: PassMenuData,
    source: CommuterInfoResponse,
    passenger_counts: tuple[int, ...],
) -> CommuterPassengerRequest

초기 조회 응답과 승객 종류별 인원으로 인원 조건 조회 입력을 만들고 검증합니다.

OriginalTicketReference

OriginalTicketReference(
    sale_window_no: str,
    sale_date: str,
    sale_sequence: str,
    return_password: str,
)

원표 조회와 환불·대리수령 같은 후속 처리에 쓰는 반환 식별자를 구성합니다.

네 필드 모두 비어 있지 않은 문자열이어야 하며, 아니면 KorailProtocolError가 발생합니다. sale_date의 형식은 메서드마다 다릅니다. 수령자·대리수령 조회 두 메서드는 승차권의 sale_date(YYYYMMDD)를 받고, 그 밖의 메서드는 return_sale_date(MMDD)를 받습니다. 메서드 사이에 값을 섞어 쓰지 마세요.

TicketDuplicationCheckRequest

TicketDuplicationCheckRequest(pnr_no: str)

PNR 기준 중복 예약 확인 입력을 구성합니다.

KorailSelfSeatChangeRoomClassCode

KorailSelfSeatChangeRoomClassCode = Literal['1', '2']

자율 좌석 변경 조회의 객실 등급 값입니다. "1"은 일반실, "2"는 특실입니다.

SelfSeatChangeInfoRequest

SelfSeatChangeInfoRequest(
    run_date: str,
    train_no: str,
    departure_station_code: str,
    arrival_station_code: str,
    room_class_code: KorailSelfSeatChangeRoomClassCode
    | None = None,
)

자율 좌석 변경 대상 역·사유 조회 입력을 구성합니다.

앱처럼 승차권의 운행일·열차 번호·출발역·도착역을 그대로 넣습니다. room_class_code가 None이면 객실 등급을 보내지 않습니다. run_date는 8자리 숫자, train_no는 5자리 이하 숫자여야 하고 역 코드는 비어 있으면 안 되며, 아니면 KorailProtocolError가 발생합니다.

CommuterTicketInquiryRequest

CommuterTicketInquiryRequest(
    original_ticket: OriginalTicketReference,
    inquiry_type: Literal["0", "1"] = "0",
)

정기권 예매의 원표 조회 입력을 구성합니다.

CommuterInfoRequest

get_commuter_info에 넘기는 세 단계 입력 중 하나입니다. 초기 조건(CommuterInitialRequest), 승객·인원 조건(CommuterPassengerRequest), 원표 조회(CommuterTicketInquiryRequest) 중 하나를 넘깁니다.

PriceFareLeg

PriceFareLeg(
    departure_station_code: str,
    arrival_station_code: str,
    run_date: str,
    train_no: str,
    requested_seat_attribute_code: str,
    train_group_code: str,
    train_class_code: str,
    goods_no: str | None = None,
)

예매 전 운임을 조회할 열차 한 구간을 구성합니다.

goods_no가 None이면 앱처럼 상품 번호(gdNo) 칸을 빈 문자열로 보냅니다. None이 아닌 값은 모두 비어 있지 않은 문자열이어야 하고 쉼표를 포함할 수 없으며, 아니면 KorailProtocolError가 발생합니다.

PriceFareQuoteRequest

PriceFareQuoteRequest(
    legs: tuple[PriceFareLeg, ...], menu_id: str = "11"
)

한두 구간의 운임 조회 조건과 메뉴를 구성합니다.

legs는 PriceFareLeg 한 개 또는 두 개여야 하며, 아니면 KorailProtocolError가 발생합니다. goods_no는 모든 구간에 넣거나 모두 비워 두세요. 앱이 보내는 메뉴 값은 앱 내부 값이 공개돼 있지 않아 확인하지 못했습니다.

TicketReservationDetailRequest

TicketReservationDetailRequest(pnr_no: str)

PNR 기준 예약 상세 조회 입력을 구성합니다.

PNR은 hidPnrNo로 보냅니다. pnr_no가 비어 있으면 KorailProtocolError가 발생합니다.

RefundCompanion

RefundCompanion(name: str = '', certificate_no: str = '')

환불 수수료 조회에 사용할 동반자 이름과 생년월일을 구성합니다.

이름은 name, 생년월일은 certificate_no에 넣습니다. 동반자가 없으면 기본값(빈 문자열)을 그대로 두세요. 빈 값은 요청에 싣지 않습니다.