إضافات تذاكر Google Transit

تحدد هذه الصفحة مجموعة فرعية من مواصفات تذاكر GTFS، وهي في مرحلة تقديم العرض أثناء إنشاء هذا المستند. تتضمّن هذه الصفحة أيضًا العديد من القيود الإضافية التي تفرضها Google.

المتطلّبات

يجب ملء الحقل departure_time في stop_times.txt.

أنواع الحقول الإضافية

يوضح هذا القسم أنواع الحقول الإضافية وتلك التي تحتوي على إضافات من Google. وتتطلّب بعض الحقول قيمًا على شكل معرّف موارد منتظم (URI).

  • معرّف الموارد المنتظم (URI): معرّف موارد منتظم (URI) مؤهل بالكامل يتضمن المخطط. ويجب أن تستخدم أي أحرف خاصة في معرّف الموارد المنتظم (URI) أحرف الإلغاء الصحيحة. وللحصول على وصف لكيفية إنشاء قيم معرّف الموارد المنتظم (URI) المؤهَّلة بالكامل، يُرجى الاطّلاع على معرّف الموارد المنتظم (URI) لمعيار RFC 3986: البنية العامة.

امتدادات أو إضافات الملفات

الملفات النصية التي لها الحالة الإضافة هي ملفات متوفرة مسبقًا وتحتاج إلى تمديدها. يجب إضافة الحقول الجديدة التي نعرّفها في الجدول التالي.

الملفات النصية التي تحمل الحالة إضافة هي ملفات جديدة تقدّمها إضافات تذاكر Google Transit. يجب إنشاء هذه الملفات وفقًا لتعريفات الحقول الواردة بعد الجدول التالي. تأكَّد من تضمين هذه الملفات في خلاصتك.

اسم الملف الحالة التعريف
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 إجراء اختياري

(رقم التعريف من ticketing_deep_links.txt) تحدّد الرابط لصفحة معيّنة في التطبيق المطلوب استخدامه لهذه الوكالة. يمكن استبداله في routes.txt.

routes.txt (تم تمديد الملف)

اسم الحقل التواجد في المنزل التفاصيل
ticketing_deep_link_id إجراء اختياري (رقم التعريف من ticketing_deep_links.txt) تحدّد رابط الصفحة في التطبيق المطلوب استخدامه لهذا المسار. في حال توفّره، يستبدل الحقل في agency.txt.

trips.txt (تم تمديد الملف)

اسم الحقل التواجد في المنزل التفاصيل
ticketing_trip_id إجراء اختياري

(رقم التعريف) هو المعرّف المطلوب تمريره في الرابط لصفحة معيّنة. ولا يجب أن تكون فريدة.

إذا كانت السمة ticketing_trip_id فارغة، يستخدِم النظام قيمة trip_id بدلاً منها.

ticketing_type إجراء اختياري

(العدد) حدِّد ما إذا كانت تذاكر هذه الرحلة متوفّرة من خلال رابط لصفحة في التطبيق:

  • 0 أو فارغ:
    • سيكون هذا الخيار متاحًا في حال تحديد ticketing_deep_link_id للمسار أو الوكالة.
    • غير متاح في الحالات الأخرى
  • 1: غير متاح.

stop_times.txt (تم تمديد الملف)

اسم الحقل التواجد في المنزل التفاصيل
ticketing_type إجراء اختياري

(التعداد) تحدد ما إذا كانت التذاكر من خلال رابط لصفحة في التطبيق متاحة لوقت التوقف هذا. في حال تحديد 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 مطلوب (رقم التعريف) تحدد رقم تعريف لرابط الصفحة في التطبيق.
web_url إجراء اختياري

(عنوان URL) عنوان URL المطلوب الانتقال إليه للربط بصفحة معيّنة.

لا يمكن ترجمة هذا الحقل من خلال translations.txt.

android_intent_uri إجراء اختياري

(معرّف الموارد المنتظم (URI)) معرّف الموارد المنتظم (URI) المطلوب تمريره إلى تطبيق Android أصلي لغرض android.intent.action.VIEW.

إذا كانت فارغة، يعني ذلك أنّه لا يمكنك إنشاء رابط لصفحة معيّنة في تطبيق Android أصلي.

لمزيد من المعلومات عن الروابط لمواضع معيّنة على Android، يُرجى الاطّلاع على إنشاء روابط لصفحات معيّنة في محتوى التطبيق.

لا يمكن ترجمة هذا الحقل من خلال translations.txt.

ios_universal_link_url إجراء اختياري

(عنوان URL) عنوان URL للرابط العام المطلوب استدعاءه على نظام التشغيل iOS.

إذا كان هذا الحقل فارغًا، لا يظهر الربط بصفحة معيّنة على نظام التشغيل iOS.

لمزيد من المعلومات، يُرجى الاطّلاع على الروابط العامة على نظام التشغيل iOS.

لا يمكن ترجمة هذا الحقل من خلال translations.txt.

العناصر النائبة للحقل في طلب بيانات من واجهة برمجة التطبيقات

يستدعي محرّك بحث 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
  • في نيويورك، الولايات المتحدة-نيويورك: 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
  • في نيويورك، الولايات المتحدة-نيويورك: 2019-07-29T13:46:00-04:00
  • في طوكيو، اليابان: 2019-07-30T02:46:00+09:00

يتم تنسيق هذا الحقل كمصفوفة JSON.

أمثلة

في هذا المثال، في ما يلي مقدمة رحلة الراكب:

  • في تاريخ الخدمة 20190716، يبدأ رقم تعريف إصدار التذاكر للرحلة ti1 من رقم تعريف حجز تذاكر وقت التوقّف 11 إلى رقم تعريف حجز تذكرة الوقت 12. يمكن للركّاب الصعود إلى الطائرة الساعة 2:00 بعد الظهر بالتوقيت العالمي المنسّق، والوصول في الساعة 2:50 بعد الظهر بالتوقيت العالمي المُنسّق.
  • في تاريخ الخدمة 20190716، يبدأ رقم تعريف إصدار التذاكر للرحلة ti2 من رقم تعريف حجز تذاكر وقت التوقّف 21 إلى رقم تعريف حجز تذكرة الوقت 22. وقت الصعود إلى الطائرة في الساعة 3:00 بعد الظهر بالتوقيت العالمي المنسّق (UTC) ويصل عند الساعة 3:50 بعد الظهر بالتوقيت العالمي المنسَّق.

في هذا المثال، قيمة السمة 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،"باريس غار دو ليون"

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,everyday,ri1,"TGV INOUI 6603",FR_SNCF_6603

ti2,Everyday,ri1,"TGV INOUI 6681",FR_SNCF_6681

ti3,everyday,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,وكالة1,4924

si2,وكالة1,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

إذا تم تقديم الطلب في 2019-07-19 وكانت أوقات 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 Transit:

الإرشادات
شارِك روابط لصفحات معيّنة بين الوكالات أو المسارات، كلما أمكن ذلك.

في الخلاصة الثابتة، عندما يكون لوكالات أو مسارات متعدّدة عناوين URL نفسها لروابط صفحات التطبيق، يجب أن تشترك هذه الوكالات أو المسارات في قيمة واحدة للحقل 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 Links عند الحاجة إلى رابط لصفحة معيّنة في تطبيق Android.

إذا أراد الشريك فتح تطبيق Android من خلال رابط لصفحة معيّنة، يجب إعداد الرابط لصفحة معيّنة في التطبيق على أنّه رابط تطبيق Android.

استخدِم الروابط العامة في iOS عندما يكون رابط لصفحة معيّنة في تطبيق iOS مطلوبًا. إذا أراد الشريك فتح تطبيق iOS من خلال رابط لصفحة معيّنة في التطبيق، يجب إعداده كرابط عام على iOS.