این صفحه زیرمجموعه ای از مشخصات GTFS-Ticketing را تعریف می کند که در مرحله ایجاد این سند در مرحله پیشنهاد است. این صفحه همچنین شامل چندین محدودیت اضافی از جانب Google است.
الزامات
فیلد departure_time
در stop_times.txt
ضروری است.
انواع فیلد اضافی
این بخش انواع فیلدهای اضافی و آنهایی که پسوندهای Google دارند را تشریح می کند. برخی از فیلدها به مقادیری به شکل URI نیاز دارند.
- URI : یک شناسه منبع یکنواخت (URI) کاملاً واجد شرایط که شامل این طرح است. هر کاراکتر خاص در URI باید از escape های صحیح استفاده کند. برای توضیح نحوه ایجاد مقادیر URI کاملا واجد شرایط، RFC 3986 Uniform Resource Identifier (URI): Generic Syntax را ببینید.
پسوند یا اضافات فایل
فایلهای متنی با حالت پسوند فایلهایی هستند که از قبل وجود دارند و باید آنها را گسترش دهید. شما باید فیلدهای جدیدی را که در جدول زیر تعریف کرده ایم اضافه کنید.
فایلهای متنی با حالت Addition ، فایلهای جدیدی هستند که توسط افزونههای Google Transit Ticketing معرفی شدهاند. شما باید این فایل ها را مطابق با تعاریف فیلد ارائه شده بعد از جدول زیر ایجاد کنید. حتما این فایل ها را در فید خود قرار دهید.
نام فایل | حالت | تعریف می کند |
---|---|---|
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 | اختیاری | (Enum) تعریف کنید که آیا تهیه بلیط از طریق پیوند عمیق برای این سفر در دسترس است یا خیر:
|
stop_times.txt
(فایل تمدید شد)
نام زمینه | حضور | جزئیات |
---|---|---|
ticketing_type | اختیاری | (Enum) تعیین می کند که آیا بلیط از طریق پیوند عمیق برای این زمان توقف در دسترس است یا خیر. اگر
|
ticketing_identifiers.txt
(فایل اضافه شد)
رایج ترین مورد برای تهیه بلیط این است که هر ایستگاه دارای یک شناسه برای پردازش صورت حساب است. آژانس های مختلف ممکن است از یک شناسه برای هر توقف معین استفاده کنند. هنگامی که چندین آژانس یک ایستگاه را ارائه می دهند، این نقشه برداری را برای هر آژانس تکرار کنید.
نام زمینه | حضور | جزئیات |
---|---|---|
ticketing_stop_id | ضروری | (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 | اختیاری | (URI) URI برای انتقال به یک برنامه Android بومی با هدف اگر خالی باشد، به این معنی است که نمی توانید به یک برنامه اندرویدی بومی پیوند عمیق بدهید. برای اطلاعات بیشتر درباره پیوندهای عمیق در Android، به ایجاد پیوندهای عمیق به محتوای برنامه مراجعه کنید. این فیلد از طریق |
ios_universal_link_url | اختیاری | (URL) URL پیوند جهانی برای فراخوانی در iOS. اگر خالی باشد، پیوند عمیق در 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، قابل تکرار) Time of Departure, از این قسمت برای تاریخ و زمان واقعی سوار شدن مسافر به وسیله نقلیه استفاده کنید. مقدار زمانی این فیلد مطابق با ISO 8601 با فرمت رشته ای زیر است: همه زمانهای زیر در مناطق زمانی مختلف یکسان است:
این فیلد به صورت آرایه JSON فرمت می شود. |
arrival_time | (ISO 8601، قابل تکرار) زمان رسیدن، زمان رسیدن_زمان توقف_زمان که در آن پا به پایان می رسد. مقدار زمانی این فیلد مطابق با ISO 8601 با فرمت رشته ای زیر است: همه زمانهای زیر در مناطق زمانی مختلف یکسان است:
این فیلد به صورت آرایه JSON فرمت می شود. |
مثال ها
در این مثال، موارد زیر مراحل سفر یک مسافر است:
- در تاریخ سرویس
20190716
، شناسه بلیط سفرti1
از زمان توقف ID11
تا زمان توقف بلیت ID12
شروع می شود. مسافران ساعت 14:00 UTC سوار می شوند و ساعت 14:50 UTC می رسند. - در تاریخ سرویس
20190716
، شناسه بلیط سفرti2
از زمان توقف ID21
تا زمان توقف ID22
شروع می شود. مسافران ساعت 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، هر روز، 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، آژانس1، 4924 si2، آژانس 1، 4676 |
ticketing_deep_links.txt |
---|
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_type تنظیم کنید. | مقدار |
نقشه ticketing_stop_id برای هر دو ایستگاه والدین و فرزند. | نقشه برداری را برای تمام توقفگاه های والدین و فرزندی که نیاز به تهیه بلیط دارند، انجام دهید. در فایل ticketing_identifiers.txt ، مقادیر ticketing_stop_id بین ایستگاه والدین و فرزندان آن منتشر نمی شود. |
نقشه ticketing_stop_id برای هر آژانسی که از یک توقف در فید استفاده می کند. | در فید استاتیک، اگر چندین آژانس که امکان خرید بلیط را فراهم میکنند، توقف یکسانی دارند، نقشهبرداری باید برای هر یک از آژانسها وجود داشته باشد. برای جزئیات بیشتر، به بخش تعاریف فیلد برای |
هنگامی که به یک پیوند عمیق به یک برنامه Android نیاز است، از پیوندهای برنامه Android استفاده کنید. | اگر شریک میخواهد یک برنامه Android را از یک پیوند عمیق باز کند، پیوند عمیق را به عنوان پیوند برنامه Android تنظیم کنید. |
هنگامی که به یک پیوند عمیق به یک برنامه iOS نیاز است، از پیوندهای جهانی iOS استفاده کنید. | اگر شریک میخواهد یک برنامه iOS را از یک پیوند عمیق باز کند، پیوند عمیق را به عنوان پیوند جهانی iOS تنظیم کنید. |