تحدّد هذه الصفحة مجموعة فرعية من مواصفات تذاكر 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 |
عنصر اختياري |
(رقم التعريف من |
routes.txt
(تم تمديد الملف)
اسم الحقل | التواجد في المنزل | التفاصيل |
---|---|---|
ticketing_deep_link_id |
عنصر اختياري | (رقم التعريف من ticketing_deep_links.txt ) يحدّد الرابط لصفحة معيّنة الذي يجب استخدامه لهذا
المسار. في حال توفّره، يتم استبدال الحقل في agency.txt . |
trips.txt
(تم تمديد الملف)
اسم الحقل | التواجد في المنزل | التفاصيل |
---|---|---|
ticketing_trip_id |
عنصر اختياري |
(رقم التعريف) رقم التعريف الذي يتطلّب التمرير في الرابط لصفحة في التطبيق ولا يُشترط أن يكون فريدًا. إذا كانت السياسة |
ticketing_type |
عنصر اختياري |
(Enum) حدّد ما إذا كانت إمكانية بيع التذاكر من خلال رابط لصفحة في التطبيق متاحة لهذه الرحلة:
|
stop_times.txt
(تم تمديد الملف)
اسم الحقل | التواجد في المنزل | التفاصيل |
---|---|---|
ticketing_type |
عنصر اختياري |
(Enum) يحدّد ما إذا كانت إمكانية بيع التذاكر من خلال رابط لصفحة في التطبيق متاحة لوقت الإيقاف هذا. في حال تحديد السمة
|
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 للربط بصفحة معيّنة لا يمكن ترجمة هذا الحقل من خلال |
android_intent_uri |
عنصر اختياري |
(معرّف الموارد المنتظم (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، قابل للتكرار)، وقت الوصول، ووقت_الوصول عند وقت_النهاية عند الساق. تتوافق القيمة الزمنية لهذا الحقل مع 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"] |
في ما يلي معرّف الموارد المنتظم (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,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-07-2019 وكانت أوقات مواصفات الخلاصة العامة للنقل العام (GTFS) بالمنطقة الزمنية بالتوقيت العالمي المُنسَّق 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_type |
يجب أن تكون القيمة |
ربط ticketing_stop_id لكل من محطتَي الوالدَين والطفل. |
نفِّذ عملية الربط لجميع محطات التوقّف الرئيسية والثانوية التي تتطلّب شراء التذاكر. في
ملف ticketing_identifiers.txt ، لا يتم نشر
قيم ticketing_stop_id بين محطة توقّف رئيسية وعناصرها الثانوية. |
ربط ticketing_stop_id لكل وكالة تستخدم المحطة نفسها في الخلاصة |
في الخلاصة الثابتة، إذا كانت الوكالات المتعددة التي تتيح بيع التذاكر تتشارك في المحطة نفسها، يجب أن تكون عملية الربط متاحة لكل وكالة من الوكالات. لمزيد من التفاصيل، راجِع قسم تعريفات الحقول
|
استخدِم Android App Links عند الحاجة إلى رابط لصفحة في تطبيق Android. |
إذا أراد الشريك فتح تطبيق Android من خلال رابط لصفحة في التطبيق، يمكنك إعداد الرابط لصفحة في التطبيق كرابط في تطبيق Android. |
استخدِم الروابط العامة في نظام iOS عندما تحتاج إلى رابط لصفحة في تطبيق iOS. | إذا أراد الشريك فتح تطبيق iOS من رابط لصفحة في التطبيق، يمكنك إعداد الرابط لصفحة في التطبيق كرابط عام لنظام التشغيل iOS. |