تحدِّد هذه الصفحة مجموعة فرعية من مواصفات GTFS-Ticketing، وهي في مرحلة الاقتراح أثناء إنشاء هذا المستند. تتضمّن هذه الصفحة أيضًا العديد من القيود الإضافية من Google.
المتطلبات
يجب ملء الحقل departure_time
في stop_times.txt
.
أنواع الحقول الإضافية
يوضّح هذا القسم أنواع الحقول الإضافية والحقول التي تحتوي على إضافات من Google. تتطلّب بعض الحقول إدخال قيم في شكل معرّف موارد منتظم (URI).
- معرّف الموارد المنتظم (URI): معرّف موارد منتظم مؤهَّل بالكامل يتضمّن المخطّط. يجب استخدام أي أحرف خاصة في معرّف الموارد المنتظم (URI) مع علامات الإلغاء الصحيحة. للاطّلاع على وصف لكيفية إنشاء قيم معرّفات موارد منتظمة مؤهَّلة بالكامل، اطّلِع على معيار RFC 3986 معرّف الموارد المنتظم (URI): البنية العامة.
امتدادات الملفات أو إضافاتها
الملفات النصية التي تحمل الحالة تمديد هي ملفات حالية تحتاج إلى تمديدها. عليك إضافة الحقول الجديدة التي نحدّدها في الجدول التالي.
الملفات النصية التي تحمل الحالة إضافة هي ملفات جديدة أدخلتها إضافات Google Transit لإصدار التذاكر. عليك إنشاء هذه الملفات وفقًا ل تعريفات الحقول الواردة بعد الجدول التالي. احرص على تضمين هذه الملفات في خلاصتك.
اسم الملف | الحالة | تعريف |
---|---|---|
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 |
اختياري |
(رقم التعريف من |
routes.txt
(تم تمديد الملف)
اسم الحقل | التواجد في المنزل | التفاصيل |
---|---|---|
ticketing_deep_link_id |
اختياري | (رقم التعريف من ticketing_deep_links.txt ) لتحديد رابط الصفحة في التطبيق المراد استخدامه مع
هذا المسار في حال توفّر هذه القيمة، يتم استبدال الحقل في agency.txt . |
trips.txt
(تم تمديد الملف)
اسم الحقل | التواجد في المنزل | التفاصيل |
---|---|---|
ticketing_trip_id |
اختياري |
(ID) المعرّف الذي سيتم تمريره في الرابط لصفحة في التطبيق ولا يُشترط أن يكون فريدًا. إذا كان الحقل |
ticketing_type |
اختياري |
(قائمة بقيم ثابتة) حدِّد ما إذا كانت خدمة شراء التذاكر من خلال رابط لصفحة في التطبيق متاحة لهذه الرحلة:
|
stop_times.txt
(تم تمديد الملف)
اسم الحقل | التواجد في المنزل | التفاصيل |
---|---|---|
ticketing_type |
اختياري |
(قائمة بقيم ثابتة) تحدِّد ما إذا كان شراء التذاكر من خلال رابط لصفحة في التطبيق متاحًا في وقت التوقف هذا. إذا
حدّدت
|
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 |
مطلوب | (ID) لتحديد رقم تعريف للرابط لصفحة في التطبيق |
web_url |
اختياري |
(عنوان URL) عنوان URL المطلوب الانتقال إليه لإنشاء رابط لصفحة معيّنة في التطبيق. لا يمكن ترجمة هذا الحقل من خلال |
android_intent_uri |
اختياري |
(معرّف الموارد المنتظم) معرّف الموارد المنتظم الذي سيتم تمريره إلى تطبيق Android أصلي باستخدام
إذا كانت فارغة، يعني ذلك أنّه لا يمكنك إنشاء رابط لصفحة معيّنة في تطبيق Android أصلي. لمزيد من المعلومات عن الروابط لصفحات في التطبيق على Android، يُرجى الاطّلاع على مقالة إنشاء روابط لصفحات في التطبيق. لا يمكن ترجمة هذا الحقل من خلال |
ios_universal_link_url |
اختياري |
(عنوان URL) عنوان URL للرابط العام المطلوب استخدامه على نظام التشغيل iOS. إذا كان الحقل فارغًا، لن يتم عرض رابط لصفحة معيّنة في التطبيق على نظام التشغيل iOS. لمزيد من المعلومات، يُرجى الاطّلاع على الروابط العامة على نظام التشغيل iOS. لا يمكن ترجمة هذا الحقل من خلال |
العناصر النائبة للحقول في طلب البيانات من واجهة برمجة التطبيقات
يطلب محرّك بحث 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، يمكن تكرارها) وقت الوصول، arrival_time في وقت التوقف stop_time الذي تنتهي فيه المحطة تتوافق قيمة الوقت لهذا الحقل مع تنسيق ISO 8601 باستخدام تنسيق السلسلة التالي:
جميع الأوقات أدناه متطابقة، ولكن في مناطق زمنية مختلفة:
يتم تنسيق هذا الحقل كصفيف JSON. |
أمثلة
في هذا المثال، في ما يلي مراحل رحلة أحد الركّاب:
- في تاريخ الخدمة
20190716
، يبدأ معرّف تذاكر الرحلةti1
من معرّف تذاكر وقت التوقف11
إلى معرّف تذاكر وقت التوقف12
. يصعد الراكب إلى الطائرة في الساعة 2:00 بعد الظهر بالتوقيت العالمي المنسّق ويصل في الساعة 2:50 بعد الظهر بالتوقيت العالمي المنسّق. - في تاريخ الخدمة
20190716
، يبدأ معرّف تذاكر الرحلةti2
من معرّف تذاكر وقت التوقف21
إلى معرّف تذاكر وقت التوقف22
. يصعد الراكب إلى الطائرة في الساعة 3:00 بعد الظهر بالتوقيت العالمي المنسق ويصل في الساعة 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"] |
في ما يلي عنوان URL النهائي بعد الترميز:
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,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 |
---|
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 تموز (يوليو) 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 للرابط لصفحة معيّنة في التطبيق نفسها،
يجب أن تتشارك قيمة واحدة لحقل |
اضبط قيمًا متسقة لسمة ticketing_type . |
يجب أن تكون قيمة |
خريطة ticketing_stop_id لكل من محطات الوالدَين والطفل |
عليك إجراء عملية الربط لجميع محطات التوقف الرئيسية والثانوية التي تتطلّب شراء تذاكر. فيملف
ticketing_identifiers.txt ، لا تتم
إضافة قيم ticketing_stop_id بين محطة رئيسية ومحطات فرعية. |
يمكنك ربط ticketing_stop_id بكل وكالة تستخدم المحطة نفسها في
الخلاصة. |
في الخلاصة الثابتة، إذا كانت وكالات متعدّدة تتيح بيع التذاكر وتشارك المحطة نفسها، يجب أن يكون الربط متوفّرًا لكل وكالة. لمزيد من التفاصيل، يُرجى الرجوع إلى قسم تعريفات الحقول
للعنصر |
استخدِم ميزة Android App Links عندما يكون مطلوبًا استخدام رابط لصفحة معيّنة في تطبيق Android. |
إذا أراد الشريك فتح تطبيق Android من رابط لصفحة في التطبيق، يجب إعداد الرابط لصفحة في التطبيق على أنّه رابط تطبيق Android. |
استخدِم الروابط العامة لنظام التشغيل iOS عندما يكون مطلوبًا استخدام رابط لصفحة معيّنة في تطبيق iOS. | إذا أراد الشريك فتح تطبيق iOS من رابط لصفحة في التطبيق، يجب إعداد الرابط لصفحة في التطبيق على أنّه "رابط عام لنظام التشغيل iOS". |