ส่วนขยายการจำหน่ายตั๋วของ Google แผนการเดินทาง

หน้านี้ระบุส่วนย่อยของข้อกำหนดการจำหน่ายตั๋ว GTFS ซึ่งอยู่ในขั้นตอนข้อเสนอ ในระหว่างการสร้างเอกสารนี้ หน้านี้ยังมีข้อจำกัดเพิ่มเติมหลายประการจาก Google

ข้อกำหนด

ฟิลด์ departure_time ใน stop_times.txt เป็นสิ่งจำเป็น

ประเภทช่องเพิ่มเติม

ส่วนนี้จะอธิบายประเภทช่องเพิ่มเติมและที่มีส่วนขยายจาก Google ใช้บ้าง ต้องมีค่าในรูปแบบ URI

  • URI: Uniform Resource Identifier (URI) ที่สมบูรณ์ซึ่งมีรูปแบบ ช่วง สัญลักษณ์พิเศษใน URI ต้องใช้อักขระหลีกที่ถูกต้อง สำหรับรายละเอียดเกี่ยวกับวิธีสร้าง ค่า URI ที่สมบูรณ์ในตัวเอง โปรดดู RFC 3986 Uniform Resource Identifier (URI): ไวยากรณ์ทั่วไป

นามสกุลหรือการเพิ่มไฟล์

ไฟล์ข้อความที่มีสถานะส่วนขยายคือไฟล์ที่มีอยู่แล้ว และคุณต้อง ขยาย คุณต้องเพิ่มช่องใหม่ที่เรากำหนดในตารางต่อไปนี้

ไฟล์ข้อความที่มีสถานะเพิ่มเติมคือไฟล์ใหม่ที่ Google แผนการเดินทางแนะนำ ส่วนขยายการจำหน่ายตั๋ว คุณต้องสร้างไฟล์เหล่านี้ตาม คำจำกัดความช่องที่ระบุหลังตารางต่อไปนี้ อย่าลืม รวมไฟล์เหล่านี้ไว้ในฟีดของคุณ

ชื่อไฟล์ รัฐ นิยาม
agency.txt ส่วนขยาย เพิ่ม agency.ticketing_deep_link_id
routes.txt ส่วนขยาย เพิ่ม routes.ticketing_deep_link_id
trips.txt ส่วนขยาย เพิ่ม trips.ticketing_trip_id และ trips.ticketing_type
stop_times.txt ส่วนขยาย เพิ่ม stop_times.ticketing_type
ticketing_identifiers.txt เป็นการเพิ่มเติม ไฟล์ใหม่ ดูรายละเอียดเพิ่มเติมได้ที่คำจำกัดความของช่อง
ticketing_deep_links.txt เป็นการเพิ่มเติม ไฟล์ใหม่ ดูรายละเอียดเพิ่มเติมได้ที่คำจำกัดความของช่อง

คําจํากัดความของช่อง

agency.txt (ขยายไฟล์แล้ว)

ชื่อช่อง การมีบุคคลอยู่ รายละเอียด
ticketing_deep_link_id ไม่บังคับ

(รหัสจาก ticketing_deep_links.txt) กำหนด Deep Link ที่จะใช้สำหรับการดำเนินการนี้ เอเจนซี เขียนทับได้ใน routes.txt

routes.txt (ขยายไฟล์แล้ว)

ชื่อช่อง การมีบุคคลอยู่ รายละเอียด
ticketing_deep_link_id ไม่บังคับ (รหัสจาก ticketing_deep_links.txt) กำหนด Deep Link ที่จะใช้สำหรับการดำเนินการนี้ เส้นทาง หากมี ระบบจะเขียนทับช่องใน agency.txt

trips.txt (ขยายไฟล์แล้ว)

ชื่อช่อง การมีบุคคลอยู่ รายละเอียด
ticketing_trip_id ไม่บังคับ

(รหัส) ตัวระบุที่จะส่งใน Deep Link ไม่จำเป็นต้องซ้ำ

หาก ticketing_trip_id ว่างเปล่า ระบบจะใช้ค่าของ trip_id แทน

ticketing_type ไม่บังคับ

(Enum) ระบุว่าการจำหน่ายตั๋วผ่าน Deep Link พร้อมใช้งานสำหรับการเดินทางนี้หรือไม่

  • 0 หรือว่างเปล่า:
    • หากคุณกำหนด ticketing_deep_link_id สำหรับเส้นทางหรือเอเจนซี นี่คือ พร้อมใช้งาน
    • ไม่สามารถใช้งานได้
  • 1: ไม่พร้อมใช้งาน

stop_times.txt (ขยายไฟล์แล้ว)

ชื่อช่อง การมีบุคคลอยู่ รายละเอียด
ticketing_type ไม่บังคับ

(Enum) กำหนดว่าการจำหน่ายตั๋วผ่าน Deep Link พร้อมใช้งานสำหรับเวลาสิ้นสุดนี้ไหม ถ้า คุณกำหนด stop_times.ticketing_type การดำเนินการนี้จะลบล้างค่าที่ตั้งไว้ใน trip.ticketing_type

  • ว่างเปล่า: ใช้ค่าจาก trip.ticketing_type
  • 0:
    • หากคุณกำหนด ticketing_deep_link_id สำหรับเส้นทางหรือเอเจนซี นี่คือ พร้อมใช้งาน
    • ไม่สามารถใช้งานได้
  • 1: ไม่พร้อมใช้งาน

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

ช่องนี้แปลผ่านภาษาtranslations.txtไม่ได้

android_intent_uri ไม่บังคับ

(URI) URI ที่จะส่งไปยังแอป Android ที่มาพร้อมเครื่อง Intent android.intent.action.VIEW

หากเว้นว่างไว้ หมายความว่าคุณไม่สามารถทำ Deep Link ไปยังแอป Android ที่มาพร้อมเครื่อง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Deep Link บน Android โปรดดูสร้าง Deep Link เพื่อ เนื้อหาแอป

ช่องนี้แปลผ่านภาษาtranslations.txtไม่ได้

ios_universal_link_url ไม่บังคับ

(URL) URL ของลิงก์สากลที่จะเรียกใช้ใน iOS

หากเว้นว่างไว้ การทำ Deep Link จะไม่แสดงใน iOS

ดูข้อมูลเพิ่มเติมได้ที่ลิงก์ทั่วไปบน iOS

ช่องนี้แปลผ่านภาษาtranslations.txtไม่ได้

ตัวยึดตำแหน่งช่องในการเรียก API

Google เรียก URL ที่ระบุไว้ใน ticketing_deep_links.txt ด้วยข้อมูลต่อไปนี้ ได้แก่

ชื่อช่อง รายละเอียด
service_date

(วันที่ ทำซ้ำได้) วันที่ใช้บริการของการเดินทาง

ใช้ฟิลด์นี้เพื่อดูวันที่ที่การเดินทางออกจากจุดแวะแรก

ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON

ticketing_trip_id

(รหัสจาก trips.txt ทำซ้ำได้) ตัวระบุของการเดินทาง

ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON

from_ticketing_stop_time_id

(ทำซ้ำได้) ตัวระบุของ stop_time ที่จุดเริ่มต้นของขา

สำหรับเวลาหยุดที่เจาะจง ค่าจะเป็นดังนี้

  • ticketing_stop_id ที่กำหนดไว้ใน ticketing_identifiers.txt สำหรับ agency_id และ stop_id ของ stop_time

  • แต่ในทางกลับกัน จะกลับไปที่ stop_sequence

ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON

to_ticketing_stop_time_id

(ใช้ซ้ำได้) ตัวระบุ stop_time ที่จุดสิ้นสุดของขา

ดูคำอธิบายเกี่ยวกับที่มาของค่านี้ได้ที่ from_ticketing_stop_time_id

ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON

boarding_time

(ISO 8601, ทำซ้ำได้) เวลาออกเดินทาง departure_time stop_time ที่จุดเริ่มต้นของขา

ใช้ฟิลด์นี้สำหรับวันที่และเวลาจริงที่ผู้โดยสารขึ้นรถ

ค่าเวลาของฟิลด์นี้สอดคล้องกับ ISO 8601 พร้อม รูปแบบสตริงต่อไปนี้:

YYYY-MM-DDThh:mm:ss±hh:mm

เวลาทั้งหมดด้านล่างนี้เหมือนกันในเขตเวลาต่างๆ:

  • ในลอนดอน สหราชอาณาจักร: 2019-07-29T18:26:00+01:00
  • ในนิวยอร์ก, US-NY: 2019-07-29T13:26:00-04:00
  • ในโตเกียว ญี่ปุ่น: 2019-07-30T02:26:00+09:00

ช่องนี้จัดรูปแบบเป็นอาร์เรย์ JSON

arrival_time

(ISO 8601, ทำซ้ำได้) เวลาถึง, เวลาถึงที่หมายเวลา ที่เวลาแวะพัก สิ้นสุด

ค่าเวลาของฟิลด์นี้สอดคล้องกับ ISO 8601 ในรูปแบบสตริงต่อไปนี้

YYYY-MM-DDThh:mm:ss±,hh:mm

เวลาทั้งหมดด้านล่างนี้เหมือนกันในเขตเวลาต่างๆ:

  • ในลอนดอน สหราชอาณาจักร: 2019-07-29T18:46:00+01:00
  • ในนิวยอร์ก, US-NY: 2019-07-29T13:46:00-04:00
  • ในโตเกียว ญี่ปุ่น: 2019-07-30T02:46:00+09:00

ช่องนี้จัดรูปแบบเป็นอาร์เรย์ 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

stop_id, stop_name

si1,"ปารีส Gare-de-Lyon"

si2,"ลียอน พาร์ท-ดิว"

routes.txt

route_id route_long_name ticketing_deep_link_id

ri1,"TGV inOui Paris-Lyon",tdl1

trips.txt

trip_id,service_id,route_id,trip_short_name, ticketing_trip_id

ti1,ทุกวัน,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

trip_id,stop_sequence,stop_id,arrival_time, departure_time

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

stop_id agency_id ticketing_stop_id

si1,agency1,4924

si2,agency1,4676

ticketing_deep_links.txt

ticketing_deep_link_id web_url android_intent_uri ios_universal_link_url

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 แผนการเดินทาง

หลักเกณฑ์
แชร์ Deep Link ระหว่างเอเจนซีหรือเส้นทางเมื่อเป็นไปได้

ในฟีดแบบคงที่ เมื่อใดก็ตามที่เอเจนซีหรือเส้นทางหลายแห่งมี URL ของ Deep Link เดียวกัน แต่จะต้องใช้ค่าเดียวสำหรับช่อง ticketing_deep_link_id ช่วงเวลานี้ ช่วยให้สามารถถ่ายโอนระหว่างบริษัทหรือเส้นทางได้

กำหนดค่าที่สอดคล้องกันสำหรับ ticketing_type

ค่า ticketing_type สำหรับจุดแวะที่เฉพาะเจาะจงต้องสอดคล้องกันในทุกจุด แถวในไฟล์ stop_times.txt

แมป ticketing_stop_id สำหรับจุดแวะพักของทั้งผู้เผยแพร่โฆษณาหลักและย่อย ทำการแมปป้ายจอดรถหลักและผู้เผยแพร่โฆษณาย่อยทั้งหมดที่ต้องมีการจำหน่ายตั๋ว ใน ticketing_identifiers.txt ค่า ticketing_stop_id ไม่ เผยแพร่ระหว่างการหยุดระดับบนและหน่วยโฆษณาย่อย
แมป ticketing_stop_id สำหรับแต่ละเอเจนซีที่ใช้จุดแวะพักเดียวกันใน ฟีด

ในฟีดแบบคงที่ หากเอเจนซีหลายรายที่เปิดใช้การขายตั๋วร่วมแสดงจุดแวะพักเดียวกัน ต้องมีการทำแผนที่สำหรับแต่ละหน่วยงาน

ดูรายละเอียดเพิ่มเติมได้ที่ส่วนคำจำกัดความของช่อง เป็นเวลา ticketing_identifiers.txt

ใช้ 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