Google Transit के टिकट एक्सटेंशन

इस पेज पर GTFS-टिकट बेचने की खास बातों के एक सबसेट के बारे में बताया गया है, जो प्रस्ताव के चरण में है को बनाने के दौरान किया गया था. इस पेज पर, विज्ञापन से जुड़ी दूसरी पाबंदियों के बारे में भी जानकारी दी गई है Google.

ज़रूरी शर्तें

stop_times.txt में departure_time फ़ील्ड आवश्यक है.

फ़ील्ड के अन्य टाइप

इस सेक्शन में, दूसरे तरह के फ़ील्ड के साथ-साथ, Google के एक्सटेंशन वाले फ़ील्ड के बारे में बताया गया है. कुछ सूचनाएं मिल रही हैं फ़ील्ड में, यूआरआई के रूप में वैल्यू होनी चाहिए.

फ़ाइल एक्सटेंशन या जोड़ा गया

एक्सटेंशन स्थिति वाली टेक्स्ट फ़ाइलें वे होती हैं जो पहले से मौजूद होती हैं और आपको विस्तार. आपको वे नए फ़ील्ड जोड़ने होंगे जिन्हें हमने इस टेबल में शामिल किया है.

स्थिति जोड़ वाली टेक्स्ट फ़ाइलें, Google Transit से पेश की गई नई फ़ाइलें हैं टिकट बेचने वाले एक्सटेंशन. आपको ये फ़ाइलें इसके मुताबिक बनानी होंगी नीचे दी गई टेबल के बाद दी गई फ़ील्ड की परिभाषाएं. कृपया इन फ़ाइलों को अपने फ़ीड में शामिल करें.

फ़ाइल का नाम स्थिति बताता है
agency.txt Extension agency.ticketing_deep_link_id को जोड़ता है.
routes.txt Extension routes.ticketing_deep_link_id को जोड़ता है.
trips.txt Extension trips.ticketing_trip_id और trips.ticketing_type को जोड़ा जाएगा.
stop_times.txt Extension 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 वैकल्पिक

(Enum) बताएं कि डीप लिंक से टिकट बेचने की सुविधा, इस यात्रा के लिए उपलब्ध है या नहीं:

  • 0 या खाली:
    • अगर आपने रास्ते या एजेंसी के लिए ticketing_deep_link_id तय किया है, तो यह उपलब्ध हैं.
    • अन्य मामलों में उपलब्ध नहीं है.
  • 1: मौजूद नहीं है.

stop_times.txt (फ़ाइल बढ़ाई गई है)

फ़ील्ड का नाम मौजूदगी ब्यौरा
ticketing_type वैकल्पिक

(Enum) इससे पता चलता है कि डीप लिंक से टिकट बेचने की सुविधा, इस स्टॉप टाइम के लिए उपलब्ध है या नहीं. अगर आपने आप 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 वैकल्पिक

(यूआरएल) डीप लिंकिंग के लिए इस्तेमाल किया जाने वाला यूआरएल.

translations.txt से इस फ़ील्ड का अनुवाद नहीं किया जा सकता.

android_intent_uri वैकल्पिक

(यूआरआई) वह यूआरआई जो android.intent.action.VIEW इंटेंट.

अगर यह खाली है, तो इसका मतलब है कि किसी खास Android ऐप्लिकेशन से डीप लिंक नहीं किया जा सकता.

Android पर डीप लिंक के बारे में ज़्यादा जानकारी के लिए, ऐप्लिकेशन का कॉन्टेंट भी दिखेगा.

translations.txt से इस फ़ील्ड का अनुवाद नहीं किया जा सकता.

ios_universal_link_url वैकल्पिक

(यूआरएल) iOS पर शुरू किया जाने वाला यूनिवर्सल लिंक यूआरएल.

अगर खाली है, तो iOS पर डीप लिंकिंग नहीं दिखती.

ज़्यादा जानकारी के लिए, iOS पर यूनिवर्सल लिंक देखें.

translations.txt से इस फ़ील्ड का अनुवाद नहीं किया जा सकता.

एपीआई कॉल में फ़ील्ड प्लेसहोल्डर

Google, ticketing_deep_links.txt में बताए गए यूआरएल को इन चीज़ों के साथ कॉल करता है पैरामीटर:

फ़ील्ड का नाम ब्यौरा
service_date

(तारीख, दोहराया जा सकने वाला) यात्रा का सेवा का दिन.

इस फ़ील्ड का इस्तेमाल उस तारीख के लिए करें जब यात्रा अपने पहले स्टॉप से रवाना होती है.

यह फ़ील्ड एक JSON कलेक्शन के फ़ॉर्मैट में होता है.

ticketing_trip_id

(trips.txt का आईडी, बार-बार इस्तेमाल किया जा सकने वाला) यात्रा का आइडेंटिफ़ायर.

यह फ़ील्ड एक JSON कलेक्शन के फ़ॉर्मैट में होता है.

from_ticketing_stop_time_id

(दोहराया जा सकने वाला) stop_time का आइडेंटिफ़ायर, जहां से पैर शुरू होता है.

किसी खास स्टॉप समय के लिए, मान नीचे दिया गया होगा:

  • ticketing_identifiers.txt में तय किया गया ticketing_stop_id 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, दोहराया जा सकने वाला) आने का समय, arrival_time उस जगह पर जहां लेग का समय है खत्म होता है.

इस फ़ील्ड का समय मान के अनुरूप है ISO 8601 का इस्तेमाल इस स्ट्रिंग फ़ॉर्मैट में करना होगा:

YYYY-MM-DDThh:mm:ss±,hh:mm

नीचे दिए गए सभी समय, अलग-अलग टाइम ज़ोन में एक जैसे हैं:

  • लंदन, यूनाइटेड किंगडम में: 29-07-2019T18:46:00+01:00
  • NYC, US-NY में: 29-07-2019T13:46:00-04:00
  • टोक्यो, जापान में: 2019-07-30T02:46:00+09:00

यह फ़ील्ड एक JSON कलेक्शन के फ़ॉर्मैट में होता है.

उदाहरण

इस उदाहरण में, यात्री की यात्रा के चरणों के बारे में नीचे बताया गया है:

  • सेवा की तारीख 20190716 को, यात्रा के टिकट आईडी ti1 की सुविधा स्टॉप से शुरू होगी स्टॉप टाइम टिकट आईडी 12 के लिए, टाइम टिकट आईडी 11. यात्री बोर्डिंग का समय, दोपहर 2:00 बजे यूटीसी और दोपहर 2:50 बजे यूटीसी पर.
  • सेवा की तारीख 20190716 को, यात्रा के टिकट आईडी ti2 की सुविधा स्टॉप से शुरू होगी स्टॉप टाइम टिकट आईडी 22 के लिए, टाइम टिकट आईडी 21. यात्री बोर्डिंग का समय, दोपहर 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"]

कोड में बदलने के बाद आखिरी यूआरआई नीचे दिया गया है:

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,"पेरिस-लायन में टीजीवी",tdl1

trips.txt

trip_id,service_id,route_id,trip_short_name, ticketing_trip_id

ti1,हर दिन,ri1,"टीजीवी INOUI 6603",FR_SNCF_6603

ti2,हर दिन,ri1,"टीजीवी INOUI 6681",FR_SNCF_6681

ti3,हर दिन,ri1,"टीजीवी 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

अगर अनुरोध 19-07-2019 को किया गया था और glTFS का समय, टाइम ज़ोन 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 ट्रांज़िट टिकट एक्सटेंशन लागू करने के लिए इन सुझावों का पालन करें:

दिशा-निर्देश
जब भी हो सके, एजेंसियों या रास्तों के बीच डीप लिंक शेयर करें.

स्टैटिक फ़ीड में, जब एक से ज़्यादा एजेंसी या रूट के एक ही डीप लिंक यूआरएल होते हैं, उन्हें 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 ऐप्लिकेशन के लिए डीप लिंक की ज़रूरत होने पर, Android ऐप्लिकेशन के लिंक का इस्तेमाल करें.

अगर पार्टनर किसी डीप लिंक से Android ऐप्लिकेशन खोलना चाहता है, तो डीप लिंक को Android ऐप्लिकेशन का लिंक.

iOS ऐप्लिकेशन के लिए डीप लिंक की ज़रूरत होने पर, iOS यूनिवर्सल लिंक का इस्तेमाल करें. अगर पार्टनर, डीप लिंक का इस्तेमाल करके iOS ऐप्लिकेशन खोलना चाहता है, तो डीप लिंक को iOS यूनिवर्सल लिंक.