SRT Reference

class SRT.SRT(srt_id: str, srt_pw: str, auto_login: bool = True, verbose: bool = False)

SRT 클라이언트 클래스

Parameters:
  • srt_id (str) – SRT 계정 아이디 (멤버십 번호, 이메일, 전화번호)

  • srt_pw (str) – SRT 계정 패스워드

  • auto_login (bool) – login() 함수 호출 여부

  • verbose (bool) – 디버깅용 로그 출력 여부

>>> srt = SRT("1234567890", YOUR_PASSWORD) # with membership number
>>> srt = SRT("def6488@gmail.com", YOUR_PASSWORD) # with email
>>> srt = SRT("010-1234-xxxx", YOUR_PASSWORD) # with phone number
login(srt_id: str | None = None, srt_pw: str | None = None)

SRT 서버에 로그인합니다.

일반적인 경우에는 인스턴스가 생성될 때에 자동으로 로그인 되므로, 이 함수를 직접 호출할 필요가 없습니다.

Parameters:
  • srt_id (str, optional) – SRT 계정 아이디

  • srt_pwd (str, optional) – SRT 계정 패스워드

Returns:

로그인 성공 여부

Return type:

bool

logout() bool

SRT 서버에서 로그아웃합니다.

search_train(dep: str, arr: str, date: str | None = None, time: str | None = None, time_limit: str | None = None, available_only: bool = True) list[SRT.train.SRTTrain]

주어진 출발지에서 도착지로 향하는 SRT 열차를 검색합니다.

Parameters:
  • dep (str) – 출발역

  • arr (str) – 도착역

  • date (str, optional) – 출발 날짜 (yyyyMMdd) (default: 당일)

  • time (str, optional) – 출발 시각 (hhmmss) (default: 0시 0분 0초)

  • time_limit (str, optional) – 출발 시각 조회 한도 (hhmmss)

  • available_only (bool, optional) – 매진되지 않은 열차만 검색합니다 (default: True)

Returns:

열차 리스트

Return type:

list[SRTTrain]

reserve(train: SRTTrain, passengers: list[SRT.passenger.Passenger] | None = None, special_seat: SeatType = SeatType.GENERAL_FIRST, window_seat: bool | None = None) SRTReservation

열차를 예약합니다.

>>> trains = srt.search_train("수서", "부산", "210101", "000000")
>>> srt.reserve(trains[0])
Parameters:
  • train (SRTrain) – 예약할 열차

  • passengers (list[Passenger], optional) – 예약 인원 (default: 어른 1명)

  • special_seat (SeatType) – 일반실/특실 선택 유형 (default: 일반실 우선)

  • window_seat (bool, optional) – 창가 자리 우선 예약 여부

Returns:

예약 내역

Return type:

SRTReservation

reserve_standby(train: SRTTrain, passengers: list[SRT.passenger.Passenger] | None = None, special_seat: SeatType = SeatType.GENERAL_FIRST, mblPhone: str | None = None) SRTReservation

예약대기 신청 합니다.

>>> trains = srt.search_train("수서", "부산", "210101", "000000")
>>> srt.reserve_standby(trains[0])
Parameters:
  • train (SRTrain) – 예약할 열차

  • passengers (list[Passenger], optional) – 예약 인원 (default: 어른 1명)

  • special_seat (SeatType) – 일반실/특실 선택 유형 (default: 일반실 우선)

  • mblPhone (str, optional) – 휴대폰 번호

Returns:

예약 내역

Return type:

SRTReservation

reserve_standby_option_settings(reservation: SRTReservation | int, isAgreeSMS: bool, isAgreeClassChange: bool, telNo: str | None = None) bool

예약대기 옵션을 적용 합니다.

>>> trains = srt.search_train("수서", "부산", "210101", "000000")
>>> srt.reserve_standby(trains[0])
>>> srt.reserve_standby_option_settings("1234567890", True, True, "010-1234-xxxx")
Parameters:
  • reservation (SRTReservation or int) – 예약 번호

  • isAgreeSMS (bool) – SMS 수신 동의 여부

  • isAgreeClassChange (bool) – 좌석등급 변경 동의 여부

  • telNo (str, optional) – 휴대폰 번호

Returns:

예약대기 옵션 적용 성공 여부

Return type:

bool

get_reservations(paid_only: bool = False) list[SRT.reservation.SRTReservation]

전체 예약 정보를 얻습니다.

Parameters:

paid_only (bool) – 결제된 예약 내역만 가져올지 여부

Returns:

예약 리스트

Return type:

list[SRTReservation]

ticket_info(reservation: SRTReservation | int) list[SRT.reservation.SRTTicket]

예약에 포함된 티켓 정보를 반환합니다.

>>> reservations = srt.get_reservations()
>>> reservations
# [[SRT] 09월 30일, 수서~부산(15:30~18:06) 130700원(3석), 구입기한 09월 19일 19:11]
>>> reservations[0].tickets
# [18호차 9C (일반실) 어른/청소년 [52300원(600원 할인)],
# 18호차 10C (일반실) 어른/청소년 [52300원(600원 할인)],
# 18호차 10D (일반실) 장애 4~6급 [26100원(26800원 할인)]]
Parameters:

reservation (SRTReservation or int) – 예약 번호

Returns:

list[SRTTicket]

cancel(reservation: SRTReservation | int) bool

예약을 취소합니다.

>>> reservation = srt.reserve(train)
>>> srt.cancel(reservation)
>>> reservations = srt.get_reservations()
>>> srt.cancel(reservations[0])
Parameters:

reservation (SRTReservation or int) – 예약 번호

Returns:

예약 취소 성공 여부

Return type:

bool