בדף הזה מוגדרת קבוצת משנה של מפרט הכרטיסים של GTFS, שנמצא בשלב ההצעה במהלך יצירת המסמך. הדף הזה כולל גם כמה הגבלות נוספות של Google.
דרישות
השדה departure_time
בטבלה stop_times.txt
הוא שדה חובה.
סוגי שדות נוספים
בקטע הזה מפורטים סוגי השדות הנוספים והשדות עם תוספות מ-Google. חלק מהשדות מחייבים ערכים בצורת URI.
- URI: מזהה משאב אחיד (URI) מלא שכולל את הסכימה. בכל התווים המיוחדים ב-URI צריך להשתמש בתו הבריחה הנכון. להוראות ליצירת ערכי URI מלאים, אפשר לקרוא את המאמר RFC 3986 Uniform Resource Identifier (URI): General Syntax.
סיומות או סיומות קבצים
קובצי הטקסט עם המצב Extension הם קבצים שכבר קיימים וצריך להרחיב אותם. צריך להוסיף את השדות החדשים שאנחנו מגדירים בטבלה הבאה.
קובצי הטקסט עם המצב Addition הם קבצים חדשים שהושקו בתוספי Google Transit של 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 |
חובה | (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 מקורית עם
Intent אם השדה ריק, המשמעות היא שלא ניתן לבצע קישור עומק לאפליקציה מקורית ל-Android. מידע נוסף על קישורי עומק ב-Android זמין במאמר יצירת קישורי עומק לתוכן של אפליקציה. אי אפשר לתרגם את השדה הזה באמצעות |
ios_universal_link_url |
אופציונלי |
(כתובת אתר) כתובת האתר של הקישור האוניברסלי להפעלה ב-iOS. אם השדה יישאר ריק, קישורי העומק לא יוצגו ב-iOS. למידע נוסף, ראו קישורים אוניברסליים ב-iOS. אי אפשר לתרגם את השדה הזה באמצעות |
placeholders של שדות בקריאה ל-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, ניתן לחזרה) זמן היציאה, בשדה הזה צריך להזין את התאריך והשעה שבהם הנוסע יעלה על הרכב בפועל. ערך הזמן של השדה הזה תואם ל-ISO 8601, בפורמט המחרוזת הבא:
כל הזמנים שלמטה זהים, באזורי זמן שונים:
השדה הזה מעצב כמערך JSON. |
arrival_time |
(ISO 8601, ניתן לחזרה) שעת ההגעה, arrival_time בשעה stop_time שבה רגל מסתיימת. ערך הזמן בשדה הזה תואם ל- ISO 8601, בפורמט המחרוזת הבא:
כל הזמנים שלמטה זהים, באזורי זמן שונים:
השדה הזה מעצב כמערך 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 |
---|
|
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 Transit, יש לפעול לפי ההמלצות הבאות:
הנחיות | |
---|---|
משתפים קישורי עומק בין סוכנויות או מסלולים כשאפשר. |
בפיד הסטטי, בכל פעם שלמספר סוכנויות או מסלולים יש אותן כתובות URL של קישורי עומק, הן חייבות לשתף ערך אחד עבור השדה |
יש להגדיר ערכים עקביים עבור ticketing_type . |
הערך |
המפה ticketing_stop_id עוצרת גם עבור ההורה וגם עבור הצאצא. |
מבצעים את המיפוי של כל עצירות הביניים וההורים שמחייבות מכירת כרטיסים. בקובץ ticketing_identifiers.txt , הערכים של ticketing_stop_id לא מועברים בין תחנת הורה לבין הצאצאים שלה. |
צריך למפות את ticketing_stop_id לכל סוכנות שמשתמשת באותה עצירה
בפיד. |
בפיד הסטטי, אם כמה סוכנויות שמאפשרות מכירת כרטיסים חולקות את אותה תחנה, חובה שהמיפוי יופיע עבור כל אחת מהסוכנויות. לפרטים נוספים, אפשר לעיין בקטע הגדרות השדות
עבור |
להשתמש בקישורים לאפליקציות ל-Android כשנדרש קישור עומק לאפליקציה ל-Android. |
אם השותף רוצה לפתוח אפליקציה ל-Android מקישור עומק, צריך להגדיר את קישור העומק כקישור לאפליקציה ל-Android. |
משתמשים בקישורים אוניברסליים ל-iOS כשנדרש קישור עומק לאפליקציה ל-iOS. | אם השותף רוצה לפתוח אפליקציה ל-iOS מקישור עומק, צריך להגדיר את קישור העומק כקישור אוניברסלי ל-iOS. |