หน้านี้ระบุชุดย่อยของข้อกำหนดการจำหน่ายตั๋ว GTFS ซึ่งอยู่ในขั้นตอนของข้อเสนอในระหว่างการสร้างเอกสารนี้ หน้านี้ยังมีข้อจำกัดเพิ่มเติมอื่นๆ จาก Google อีกด้วย
ข้อกำหนด
จำเป็นต้องกรอกข้อมูลในช่อง departure_time
ใน stop_times.txt
ประเภทช่องเพิ่มเติม
ส่วนนี้จะแสดงประเภทช่องเพิ่มเติมและช่องที่มีส่วนขยายจาก Google บางช่องต้องมีค่าในรูปแบบ URI
- URI: รหัส Uniform Resource Identifier (URI) ที่มีคุณสมบัติครบถ้วนที่มีรูปแบบ สัญลักษณ์พิเศษใน URI ต้องใช้อักขระหลีกที่ถูกต้อง โปรดดูคำอธิบายวิธีสร้างค่า URI แบบเต็มตามเกณฑ์ได้ที่ RFC 3986 Uniform Resource Identifier (URI): ไวยากรณ์ทั่วไป
นามสกุลไฟล์หรือส่วนเพิ่มเติม
ไฟล์ข้อความที่มีสถานะ Extension คือไฟล์ที่มีอยู่แล้วและคุณจำเป็นต้องขยาย คุณต้องเพิ่มฟิลด์ใหม่ที่เราให้คำจำกัดความในตารางต่อไปนี้
ไฟล์ข้อความที่มีสถานะ Addition คือไฟล์ใหม่ที่ส่วนขยายการจำหน่ายตั๋วของ Google แนะนำ คุณต้องสร้างไฟล์เหล่านี้ตามคําจํากัดความของช่องที่ให้ไว้หลังจากตารางต่อไปนี้ อย่าลืมรวมไฟล์เหล่านี้ไว้ในฟีด
ชื่อไฟล์ | รัฐ | นิยาม |
---|---|---|
agency.txt |
ส่วนขยาย | เพิ่ม agency.ticketing_deep_link_id |
routes.txt |
ส่วนขยาย | เพิ่ม routes.ticketing_deep_link_id |
trips.txt |
ส่วนขยาย | เพิ่ม trips.trip_ticketing_id และ trips.ticketing_type |
stop_times.txt |
ส่วนขยาย | เพิ่ม stop_times.ticketing_type |
ticketing_identifiers.txt |
เป็นการเพิ่มเติม | ไฟล์ใหม่ ดูรายละเอียดเพิ่มเติมได้ที่คําจํากัดความของช่อง |
ticketing_deep_links.txt |
เป็นการเพิ่มเติม | ไฟล์ใหม่ ดูรายละเอียดเพิ่มเติมได้ที่คําจํากัดความของช่อง |
คำจำกัดความช่อง
agency.txt
(ขยายไฟล์แล้ว)
ชื่อช่อง | การมีบุคคลอยู่ | รายละเอียด |
---|---|---|
ticketing_deep_link_id |
ไม่บังคับ |
(รหัสจาก |
routes.txt
(ขยายไฟล์แล้ว)
ชื่อช่อง | การมีบุคคลอยู่ | รายละเอียด |
---|---|---|
ticketing_deep_link_id |
ไม่บังคับ | (รหัสจาก ticketing_deep_links.txt ) กำหนด Deep Link ที่จะใช้สำหรับเส้นทางนี้ หากมี จะเขียนทับช่องใน agency.txt |
trips.txt
(ขยายไฟล์แล้ว)
ชื่อช่อง | การมีบุคคลอยู่ | รายละเอียด |
---|---|---|
ticketing_trip_id |
ไม่บังคับ |
(รหัส) ตัวระบุที่จะส่งผ่าน Deep Link ไม่จำเป็นต้องไม่ซ้ำกัน หาก |
ticketing_type |
ไม่บังคับ |
(แจกแจง) ระบุว่าการจำหน่ายตั๋วผ่าน Deep Link พร้อมใช้งานสำหรับการเดินทางนี้ไหม
|
stop_times.txt
(ขยายไฟล์แล้ว)
ชื่อช่อง | การมีบุคคลอยู่ | รายละเอียด |
---|---|---|
ticketing_type |
ไม่บังคับ |
(Enum) ระบุว่าการจำหน่ายตั๋วผ่าน Deep Link พร้อมใช้งานสำหรับเวลาหยุดนี้หรือไม่ หากกำหนด
|
ticketing_identifiers.txt
(เพิ่มไฟล์แล้ว)
กรณีที่พบบ่อยที่สุดสําหรับการจำหน่ายตั๋วคือ ทุกจุดมีตัวระบุเพื่อประมวลผลการเรียกเก็บเงิน เอเจนซีต่างๆ อาจใช้ตัวระบุเดียวกันสำหรับจุดแวะพักหนึ่งๆ เมื่อมีเอเจนซีหลายแห่งให้บริการในจุดเดียวกัน ให้ทำการแมปนี้ซ้ำสําหรับแต่ละเอเจนซี
ชื่อช่อง | การมีบุคคลอยู่ | รายละเอียด |
---|---|---|
ticketing_stop_id |
จำเป็น | (รหัส) กำหนดรหัสการจำหน่ายตั๋วเริ่มต้นสำหรับจุดแวะพักนี้สำหรับเอเจนซีรายนี้ |
stop_id |
จำเป็น | (รหัสจาก stops.txt ) จุดแวะที่กำหนด ticketing_stop_id ตามค่าเริ่มต้น |
agency_id |
จำเป็น | (รหัสจาก agency.txt ) เอเจนซีของจุดแวะพักที่กำหนด ticketing_stop_id เริ่มต้นไว้ |
ticketing_deep_links.txt
(เพิ่มไฟล์แล้ว)
ชื่อช่อง | การมีบุคคลอยู่ | รายละเอียด |
---|---|---|
ticketing_deep_link_id |
จำเป็น | (รหัส) กำหนดรหัสสำหรับ Deep Link |
web_url |
ไม่บังคับ |
(URL) URL ที่จะเข้าชมสําหรับการทำ Deep Link ช่องนี้ไม่สามารถแปลผ่าน |
android_intent_uri |
ไม่บังคับ |
(URI) URI ที่จะส่งต่อไปยังแอป Android ที่มาพร้อมเครื่องด้วย Intent หากเว้นว่างไว้ หมายความว่าคุณจะไม่สามารถทำ Deep Link ไปยังแอป Android ที่มาพร้อมเครื่อง ดูข้อมูลเพิ่มเติมเกี่ยวกับ Deep Link ใน Android ได้ที่สร้าง Deep Link ไปยังเนื้อหาแอป ช่องนี้ไม่สามารถแปลผ่าน |
ios_universal_link_url |
ไม่บังคับ |
(URL) URL ของลิงก์สากลที่จะเรียกใช้ใน iOS หากเว้นว่างไว้ การทำ Deep Link จะไม่แสดงบน iOS ดูข้อมูลเพิ่มเติมได้ที่ลิงก์ทั่วไปใน iOS ช่องนี้ไม่สามารถแปลผ่าน |
ตัวยึดตำแหน่งช่องในการเรียก API
Google เรียกใช้ URL ที่กำหนดไว้ใน ticketing_deep_links.txt
ด้วยพารามิเตอร์ต่อไปนี้
ชื่อช่อง | รายละเอียด |
---|---|
service_date |
(วันที่ สามารถเกิดซ้ำ) วันให้บริการของการเดินทาง ใช้ช่องนี้สำหรับวันที่ที่การเดินทางจะออกเดินทางจากจุดแวะพักแรก ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON |
ticketing_trip_id |
(รหัสจาก ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON |
from_ticketing_stop_time_id |
(ทำซ้ำ) ตัวระบุของ สำหรับเวลาสิ้นสุดที่ระบุ ค่าจะเป็นดังนี้
ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON |
|
(ซ้ำได้) ตัวระบุของ ดูคําอธิบายเกี่ยวกับแหล่งที่มาของค่าได้ที่ ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON |
boarding_time |
(ISO 8601, ซ้ำได้) เวลาออกเดินทาง ใช้ช่องนี้เพื่อดูวันที่และเวลาจริงที่ผู้โดยสารขึ้นรถ ค่าเวลาของช่องนี้สอดคล้องกับ ISO 8601 ที่มีรูปแบบสตริงต่อไปนี้
เวลาด้านล่างทั้งหมดเหมือนกันในเขตเวลาที่ต่างกัน
ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON |
arrival_time |
(ISO 8601, สามารถทำซ้ำ) เวลาถึง, Reach_time ที่ Stop_time ที่สิ้นสุด ค่าเวลาของช่องนี้สอดคล้องกับ ISO 8601 โดยมีรูปแบบสตริงต่อไปนี้
เวลาด้านล่างทั้งหมดเหมือนกันในเขตเวลาที่ต่างกัน
ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON |
ตัวอย่าง
ในตัวอย่างนี้ เส้นทางของผู้โดยสารมีดังต่อไปนี้
- ในวันที่
20190716
ให้บริการ รหัสตั๋วการเดินทางti1
จะเริ่มจากรหัสตั๋วโดยสาร11
ไปยังรหัสตั๋วโดยสาร12
ตามป้ายหยุด ผู้โดยสารจะขึ้นเครื่องเวลา 14:00 น. UTC และจะถึงที่หมายเวลา 14:50 น. UTC - ในวันที่
20190716
ให้บริการ รหัสตั๋วการเดินทางti2
จะเริ่มจากรหัสตั๋วโดยสาร21
ไปยังรหัสตั๋วโดยสาร22
ตามป้ายหยุด ผู้โดยสารจะขึ้นเครื่องเวลา 15:00 น. (UTC) และจะถึงที่หมายเวลา 15:50 น. UTC
ในตัวอย่างนี้ web_url
คือ https://examplepetstore.com
จากข้อมูลทั้งหมดนี้ ให้ใช้ค่าต่อไปนี้สำหรับพารามิเตอร์ของฟีดสำหรับการเดินทางนี้
ชื่อช่อง | รายละเอียด |
---|---|
service_date |
["20190716" "20190716"] |
ticketing_trip_id |
["ti1" "ti2"] |
from_ticketing_stop_time_id |
["11" "21"] |
to_ticketing_stop_time_id |
["12" "22"] |
boarding_time |
["2019-07-16T14:00:00+00:00" "2019-07-16T15:00:00+00:00"] |
arrival_time |
["2019-07-16T14:50:00+00:00" "2019-07-16T15:50:00+00:00"] |
ต่อไปนี้เป็น URI สุดท้ายหลังจากการเข้ารหัส
https://examplepetstore.com?service_date=%5B%2220190716%22,%2220190716%22%5D
&ticketing_trip_id=%5B%22ti1%22,%22ti2%22%5D&from_ticketing_stop_time_id=%5B%2211%22,%2221%22%5D
&to_ticketing_stop_time_id=%5B%2212%22,%2222%22%5D&boarding_time=%5B%222019-07-16T14:00:00%2B00:00
%22,%222019-07-16T15:00:00%2B00:00%22%5D&arrival_time=%5B%222019-07-16T14:50:00%2B00:00 %22,%222019-07-16T15:50:00%2B00:00%22%5D
ตัวอย่างค่า ticketing_stop_id
ที่ต่างกัน
จุดแวะอาจมีรหัสที่แตกต่างกันเพื่อจุดประสงค์ในการจำหน่ายตั๋วด้วยช่อง ticketing_identifiers.txt
ค่าที่เป็นตัวหนาคือค่าที่พบในการโทรผ่านเว็บซึ่งอธิบายไว้หลังไฟล์
stop.txt |
---|
|
routes.txt |
---|
|
trips.txt |
---|
ti1,Daily,ri1,"TGV INOUI 6603",FR_SNCF_6603 ti2,งบประมาณรายวัน,ri1,"TGV INOUI 6681",FR_SNCF_6681 ti3,ทุกวัน,ri1,"TGV INOUI 6607",FR_SNCF_6607 |
stop_times.txt |
---|
ti1,1,si1,06:59:00,06:59:00 ti1,2,si2,08:56:00,08:56:00 ti2,1,si1,07:53:00,07:53:00 ti2,2,si2,10:00:00,10:00:00 ti3,1,si1,08:59:00,08:59:00 ti3,2,si2,10:56:00,10:56:00 |
ticketing_identifiers.txt |
---|
si1,agency1,4924 si2,agency1,4676 |
ticketing_deep_links.txt |
---|
tdl1, https://examplepetstore.com/api/gtfs/web, https://examplepetstore.com/api/gtfs/android, https://examplepetstore.com/api/gtfs/ios |
หากส่งคำขอในวันที่ 19/07/2019 และเวลา GTFS อยู่ในเขตเวลา UTC+1 ต่อไปนี้เป็นการเรียกใช้เว็บ
https://examplepetstore.com/api/gtfs/web?service_date=%5B%2220190719%22%5D&ticketing_trip_id=
%5B%22FR_SNCF_6603%22%5D&from_ticketing_stop_time_id=%5B%224924%22%5D&to_ticketing_stop_time_id=
%5B%224676%22%5D&boarding_time=%5B%222019-07-19T05:59:00%2B00:00%22%5&arrival_time=%5B%222019-07-19T07:56:00%2B00:00%22%5D
แนวทางปฏิบัติที่แนะนำ
ทำตามคำแนะนำเหล่านี้เพื่อใช้ส่วนขยายการจำหน่ายตั๋วของ Google แผนการเดินทาง
หลักเกณฑ์ | |
---|---|
แชร์ลิงก์ในรายละเอียดระหว่างบริษัทตัวแทนหรือเส้นทางเมื่อเป็นไปได้ |
ในฟีดแบบคงที่ เมื่อใดก็ตามที่เอเจนซีหรือเส้นทางหลายแห่งมี URL ของ Deep Link เดียวกัน เอเจนซีหรือเส้นทางเหล่านั้นจะต้องแชร์ค่าเดียวสำหรับช่อง |
ตั้งค่าที่สอดคล้องกันสำหรับ ticketing_type |
ค่า |
แมป ticketing_stop_id สำหรับจุดแวะพักของทั้งระดับบนสุดและรายย่อย |
ทำการแมปสำหรับจุดแวะพักหลักและจุดย่อยทั้งหมดที่ต้องมีการจำหน่ายตั๋ว ในไฟล์ ticketing_identifiers.txt ค่า ticketing_stop_id จะไม่ถ่ายทอดระหว่างหยุดระดับบนสุดและองค์ประกอบย่อย |
แมป ticketing_stop_id สําหรับแต่ละเอเจนซีที่ใช้จุดแวะพักเดียวกันในฟีด |
ในฟีดแบบคงที่ หากเอเจนซีหลายรายที่เปิดใช้การจำหน่ายตั๋วร่วมกันใช้จุดแวะพักเดียวกัน ก็จะต้องมีการแมปสำหรับเอเจนซีแต่ละแห่ง ดูรายละเอียดเพิ่มเติมได้ที่ส่วนคําจํากัดความของช่องสำหรับ |
ใช้ Android App Link เมื่อต้องใช้ Deep Link ไปยังแอป Android |
หากพาร์ทเนอร์ต้องการเปิดแอป Android จาก Deep Link ให้ตั้งค่า Deep Link เป็น Android App Link |
ใช้ Universal Link ของ iOS เมื่อต้องใช้ Deep Link ไปยังแอป iOS | หากพาร์ทเนอร์ต้องการเปิดแอป iOS จาก Deep Link ให้ตั้งค่า Deep Link เป็น Universal Link ของ iOS |