intercity-bus-booking
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseIntercity Bus Booking (Tmoney 시외버스)
城际巴士预订(Tmoney 시외버스)
Overview
概述
Use this skill for Korean 시외버스 timetable lookup and reservation assistance via the official Tmoney intercity bus site. Prefer HTTP/API-first flows for route lookup, timetable search, fare/seat-stage entry, and checkout-entry handoff.
Keep 시외버스 separate from 고속버스. Tmoney terminal codes and POST flows are different from KOBUS 고속버스. Use for KOBUS routes.
express-bus-booking本技能可通过官方Tmoney城际巴士网站协助查询韩国城际巴士时刻表并进行预订。优先采用HTTP/API优先流程进行路线查询、时刻表搜索、票价/座位阶段录入以及结账入口交接。
请将城际巴士(시외버스)与高速巴士(고속버스)区分开。Tmoney的终端代码和POST流程与KOBUS高速巴士不同。KOBUS路线请使用技能。
express-bus-bookingWhen to Use
使用场景
- The user asks for ,
시외버스 예매,시외버스 시간표, or a known 시외버스 route.시외버스 예약 - The user names 티머니/Tmoney/시외버스 통합예매.
- The task is to present timetable candidates, check remaining seats/fares, or assist up to the official card-information page.
Do not use this for:
- 고속버스/KOBUS routes — use .
express-bus-booking - Final card submission or payment unless the user explicitly confirms the exact action.
- Browser automation as the first option when HTTP endpoints are available.
- 用户询问(城际巴士预订)、
시외버스 예매(城际巴士时刻表)、시외버스 시간표(城际巴士预约),或已知的城际巴士路线。시외버스 예약 - 用户提及티머니/Tmoney/시외버스 통합예매(城际巴士综合预订)。
- 需要展示时刻表候选、查询剩余座位/票价,或协助引导至官方卡片信息页面的任务。
请勿用于以下场景:
- 高速巴士/KOBUS路线——请使用技能。
express-bus-booking - 最终卡片提交或支付,除非用户明确确认具体操作。
- 在HTTP端点可用时,将浏览器自动化作为首选方案。
Core Principles
核心原则
- Use official Tmoney 시외버스 surfaces: .
https://intercitybus.tmoney.co.kr - Use cookies, referers, and a normal browser User-Agent.
- Default scope is lookup and assisted manual checkout: timetable, fare/seat stage, selected-seat temporary hold, and official card-information page handoff.
- Do not submit card fields, final payment, or irreversible reservation steps without explicit confirmation.
- If a test or user-abandoned hold is created, use the official cancellation/back flow when available.
- 使用官方Tmoney城际巴士平台:。
https://intercitybus.tmoney.co.kr - 使用Cookie、Referer及常规浏览器用户代理(User-Agent)。
- 默认范围为查询和协助手动结账:时刻表、票价/座位阶段、选定座位临时保留,以及官方卡片信息页面交接。
- 若无明确确认,请勿提交卡片字段、完成最终支付或执行不可逆的预订步骤。
- 若创建了测试或用户放弃的座位保留,在可用情况下请使用官方取消/返回流程。
Known HTTP Flow
已知HTTP流程
See for session-proven endpoint details and parameter examples.
references/tmoney-intercity-http-flow.md会话验证的端点详情及参数示例请参见。
references/tmoney-intercity-http-flow.md1. Start a Session
1. 启动会话
Fetch a landing or booking-entry page with cookies enabled:
text
GET https://intercitybus.tmoney.co.kr/
GET https://intercitybus.tmoney.co.kr/otck/trmlInfEnty.do启用Cookie后获取首页或预订入口页面:
text
GET https://intercitybus.tmoney.co.kr/
GET https://intercitybus.tmoney.co.kr/otck/trmlInfEnty.do2. Query Timetable
2. 查询时刻表
text
POST /otck/readAlcnList.doTypical fields include:
text
depr_Trml_Cd=0511601
arvl_Trml_Cd=2482701
depr_Trml_Nm=동서울
arvl_Trml_Nm=속초
ig=1
im=0
ic=0
iv=0
depr_Dt=YYYYMMDD
depr_Time=000000
bef_Aft_Dvs=D
req_Rec_Num=10bef_Aft_Dvsreq_Rec_NumreadAlcnListEntry(...)Parse schedule buttons/rows. The next-stage parameters are often embedded in onclick arguments.
readSasFeeInf(...)text
POST /otck/readAlcnList.do典型字段包括:
text
depr_Trml_Cd=0511601
arvl_Trml_Cd=2482701
depr_Trml_Nm=동서울
arvl_Trml_Nm=속초
ig=1
im=0
ic=0
iv=0
depr_Dt=YYYYMMDD
depr_Time=000000
bef_Aft_Dvs=D
req_Rec_Num=10bef_Aft_Dvsreq_Rec_NumreadAlcnListEntry(...)解析时刻表按钮/行数据。下一阶段的参数通常嵌入在的onclick参数中。
readSasFeeInf(...)3. Enter Fare / Seat-Count Stage
3. 进入票价/座位数量阶段
text
POST /otck/readSatsFee.doSend selected values from plus passenger counts and original search fields. The response should include and hidden values such as:
readSasFeeInf(...)form#readPcpySatstext
rot_Id
alcn_Sqno
depr_Trml_Cd
arvl_Trml_Cd
depr_Time
igFee
imFee
icFee
totaltext
POST /otck/readSatsFee.do发送中的选定值,加上乘客数量及原始搜索字段。响应应包含及如下隐藏值:
readSasFeeInf(...)form#readPcpySatstext
rot_Id
alcn_Sqno
depr_Trml_Cd
arvl_Trml_Cd
depr_Time
igFee
imFee
icFee
total4. Temporary Hold and Card-Information Entry
4. 临时保留座位与卡片信息录入
text
POST /otck/readPcpySats.doSubmit the hidden fields plus selected seat/count fields, commonly including:
readPcpySatstext
pcpy_Num
sats_No
bus_Tck_Knd_Cd
cty_Bus_Dc_Knd_Cd
dcrt_Dvs_Cd
rtrp_Depr_DtA successful response lands on the official page and includes a temporary seat hold identifier such as .
카드정보 입력sats_Pcpy_Idtext
POST /otck/readPcpySats.do提交隐藏字段及选定的座位/数量字段,通常包括:
readPcpySatstext
pcpy_Num
sats_No
bus_Tck_Knd_Cd
cty_Bus_Dc_Knd_Cd
dcrt_Dvs_Cd
rtrp_Depr_Dt成功响应会跳转到官方(输入卡片信息)页面,并包含临时座位保留标识(如)。
카드정보 입력sats_Pcpy_IdTimetable Helper
时刻表辅助工具
For read-only timetable lookup, use the bundled helper before attempting browser automation:
bash
python3 intercity-bus-booking/scripts/intercity_bus_search.py \
--depart-code 0511601 \
--arrive-code 2482701 \
--depart-name 동서울 \
--arrive-name 속초 \
--date 20260520The helper starts a cookie-backed session, posts the browser-required timetable fields, parses , and prints JSON with departure time, company, class, fares, and remaining/total seats. By default it is read-only. With or , it enters , posts , and saves the official Tmoney card-information HTML page plus cancel/back fields. It still never submits card data or final payment.
readSasFeeInf(...)--hold-seat <seatNo>--hold-first-seatreadSatsFee.doreadPcpySats.do对于只读式时刻表查询,在尝试浏览器自动化前请使用内置辅助工具:
bash
python3 intercity-bus-booking/scripts/intercity_bus_search.py \
--depart-code 0511601 \
--arrive-code 2482701 \
--depart-name 동서울 \
--arrive-name 속초 \
--date 20260520该辅助工具启动一个带Cookie的会话,提交浏览器所需的时刻表字段,解析,并以JSON格式打印出发时间、运营公司、等级、票价及剩余/总座位数。默认情况下为只读模式。若使用或参数,它会进入,提交,并保存官方Tmoney卡片信息HTML页面及取消/返回字段。但它仍不会提交卡片数据或完成最终支付。
readSasFeeInf(...)--hold-seat <seatNo>--hold-first-seatreadSatsFee.doreadPcpySats.doTemporary Hold Helper
临时座位保留辅助工具
To create a temporary hold and save the official card-information page:
bash
python3 intercity-bus-booking/scripts/intercity_bus_search.py \
--depart-code 0511601 \
--arrive-code 2482701 \
--depart-name 동서울 \
--arrive-name 속초 \
--date 20260520 \
--select-index 1 \
--hold-first-seat \
--output-dir /tmp/tmoney-holdSuccess requires , a , and the saved page containing . The saved cancel fields can be posted back to with to abandon the hold. Live probes did not expose an exact countdown on the card-information page; treat the hold as short-lived and have the user complete payment immediately.
hold.success=truesats_Pcpy_Id카드정보 입력/otck/readSatsFee.dopcpyCanc=C如需创建临时座位保留并保存官方卡片信息页面:
bash
python3 intercity-bus-booking/scripts/intercity_bus_search.py \
--depart-code 0511601 \
--arrive-code 2482701 \
--depart-name 동서울 \
--arrive-name 속초 \
--date 20260520 \
--select-index 1 \
--hold-first-seat \
--output-dir /tmp/tmoney-hold成功执行需满足、存在,且保存的页面包含(输入卡片信息)。保存的取消字段可通过POST请求发送至并携带参数以取消座位保留。实际测试中未在卡片信息页面发现明确的倒计时,请将座位保留视为短期有效,提醒用户立即完成支付。
hold.success=truesats_Pcpy_Id카드정보 입력/otck/readSatsFee.dopcpyCanc=CCheckout-Entry Link Helper
结账入口链接辅助工具
A helper-served HTML page can auto-submit a POST form directly to:
text
https://intercitybus.tmoney.co.kr/otck/readPcpySats.doThis creates the hold in the user's browser/session and opens the official Tmoney card-information page. The user should manually finish payment on the official page.
For Discord/mobile, provide helper links as normal text links rather than fenced code blocks so the user can tap them.
辅助工具生成的HTML页面可自动提交POST表单至:
text
https://intercitybus.tmoney.co.kr/otck/readPcpySats.do这会在用户浏览器/会话中创建座位保留,并打开官方Tmoney卡片信息页面。用户需在官方页面手动完成支付。
对于Discord/移动端,辅助链接请以普通文本链接形式提供,而非代码块,以便用户点击。
Mobile and In-App Browser Notes
移动端与内嵌浏览器注意事项
Tmoney 시외버스 is more mobile-tolerant than KOBUS in the tested flow: an iPhone Safari-style mobile User-Agent returned the official page with present.
카드정보 입력sats_Pcpy_IdHowever, in-app browser User-Agents can behave differently or fail if the same seat/hold payload is replayed. If a Discord/Android in-app test returns a generic error such as , do not assume route lookup is broken. Recreate a fresh hold payload, retry once in an external browser, and cancel stale holds.
발행을 실패하였습니다在测试流程中,Tmoney城际巴士比KOBUS更适配移动端:iPhone Safari风格的移动端用户代理可返回包含的官方(输入卡片信息)页面。
sats_Pcpy_Id카드정보 입력但内嵌浏览器的用户代理可能表现不同,若重复提交相同座位/保留负载可能会失败。若Discord/Android内嵌浏览器返回(发行失败)等通用错误,请勿认为路线查询功能损坏。重新生成新的座位阶段负载,在外部浏览器重试一次,并取消过期的座位保留。
발행을 실패하였습니다Suggested Output Format
建议输出格式
Keep candidate lists concise:
text
시외버스 동서울 → 속초 / 2026-05-09
1. 06:05 우등 / 금강고속 / 잔여 8석 / 성인 21,300원
2. ...When a checkout-entry helper is created, say that it opens the official Tmoney card-information page and that payment remains manual.
候选列表请保持简洁:
text
시외버스 동서울 → 속초 / 2026-05-09
1. 06:05 우등 / 금강고속 / 잔여 8석 / 성인 21,300원
2. ...当创建结账入口辅助工具时,请说明该工具会打开官方Tmoney卡片信息页面,且支付仍需手动完成。
Common Pitfalls
常见陷阱
- Mixing terminal code systems. Tmoney 시외버스 codes are not KOBUS codes.
- Assuming checkout-entry equals final payment. can open the card-information page, but final payment remains a separate manual step.
readPcpySats.do - Omitting hidden timetable fields. needs
readAlcnList.doandbef_Aft_Dvs=D; without them it may return a genericreq_Rec_Num=10page of about 13 KB instead of schedule rows.errorCont - Replaying stale hold payloads. A repeated POST for the same route/seat can fail or create confusing results. Generate a fresh seat-stage payload for real use.
- Skipping cancellation/back flow. Use the official cancellation/back form (via
pcpyCanc=Cwhen available) for abandoned holds.readSatsFee.do - Overusing browser automation. Use browser only for endpoint discovery or visual verification after HTTP probing.
- 混淆终端代码体系:Tmoney城际巴士的代码与KOBUS的代码不同。
- 将结账入口等同于最终支付:可打开卡片信息页面,但最终支付仍是独立的手动步骤。
readPcpySats.do - 遗漏时刻表隐藏字段:需要
readAlcnList.do和bef_Aft_Dvs=D;若缺少这些字段,可能返回约13KB的通用req_Rec_Num=10页面而非时刻表行数据。errorCont - 重复使用过期保留负载:重复提交相同路线/座位的POST请求可能失败或产生混淆结果。实际使用时请生成新的座位阶段负载。
- 跳过取消/返回流程:对于已放弃的座位保留,在可用情况下请使用官方取消/返回表单(通过提交
readSatsFee.do参数)。pcpyCanc=C - 过度使用浏览器自动化:仅在端点发现或HTTP探测后的视觉验证时使用浏览器。
Verification Checklist
验证清单
- Route/terminal codes were resolved from Tmoney 시외버스, not guessed or copied from KOBUS.
- Timetable POST included and
bef_Aft_Dvs=D.req_Rec_Num=10 - Timetable response was parsed for schedule rows/buttons and next-stage parameters.
- Fare/seat-stage response contains and expected hidden fields.
form#readPcpySats - Checkout-entry response contains and a hold identifier such as
카드정보 입력before reporting success.sats_Pcpy_Id - Stale/test holds were released through the official cancellation/back flow where possible.
- Payment/card submission was left to the user unless explicitly confirmed.
- Mobile links are provided as tappable text links on Discord/mobile platforms.
- 路线/终端代码来自Tmoney城际巴士,而非猜测或复制自KOBUS。
- 时刻表POST请求包含和
bef_Aft_Dvs=D。req_Rec_Num=10 - 已解析时刻表响应中的时刻表行/按钮及下一阶段参数。
- 票价/座位阶段响应包含及预期的隐藏字段。
form#readPcpySats - 结账入口响应包含(输入卡片信息)及
카드정보 입력等保留标识后,才报告成功。sats_Pcpy_Id - 已通过官方取消/返回流程释放过期/测试用的座位保留(若可行)。
- 支付/卡片提交交由用户完成,除非得到明确确认。
- 在Discord/移动端平台提供可点击的文本链接作为移动端链接。