इस सेक्शन पर जाने से पहले, अगर आपके पास पहले से ऐसा नहीं है, तो ऐसे माइक्रोमोबाइलिटी सिस्टम की पुष्टि करें जिनके लिए आप फ़ीड बना रहे हैं.
नीचे दिए गए सेक्शन में, हर हेडर का फ़ॉर्मैट इस तरह है:
Required|Optional|Conditionally required: Feed name (System supported)
. ये सिस्टम काम करते हैं:
- डॉक किया गया सिस्टम
- बिना डॉक वाला सिस्टम
- डॉक किया गया और बिना डॉक वाला सिस्टम
Google के साथ सही से जुड़ने के लिए, सिर्फ़ वे फ़ाइलें उपलब्ध कराएं जो आपके फ़ीड के बारे में बताती हैं. साथ ही, काम के सेक्शन में शामिल किए गए ज़रूरी फ़ील्ड की जानकारी भी दें. शर्तों के मुताबिक ज़रूरी फ़ील्ड के बारे में दिशा-निर्देश पाने के लिए, फ़ील्ड का ब्यौरा देखें. इसके अलावा, ऐसे वैकल्पिक फ़ील्ड के बारे में भी बताया जा सकता है जो जानकारी जोड़ते हैं और उपयोगकर्ता को बेहतर अनुभव देते हैं.
माइक्रोमोबाइलिटी फ़ीड के लिए ज़रूरी हेडर
माइक्रोमोबाइलिटी फ़ीड ऐसे फ़ीड होते हैं जिनमें डॉक किया गया या बिना डॉक वाला स्ट्रक्चर्ड डेटा दिखाया जाता है. इसके बारे में इस लेख में बताया गया है.
सभी फ़ीड को नीचे दिए गए टेबल में, JSON ऑब्जेक्ट के टॉप लेवल वाले फ़ील्ड को शामिल करना होगा. इसे आम तौर पर जीबीएफ़ सामान्य हेडर के तौर पर जाना जाता है.
फ़ील्ड का नाम | टाइप | ज़रूरी शर्त | ब्यौरा |
---|---|---|---|
last_updated |
टाइमस्टैंप | ज़रूरी है | POSIX टाइमस्टैंप, जो 1 जनवरी, 1970 को 00:00:00 यूटीसी से अब तक के सेकंड की संख्या बताता है.
वह समय सेट करें, जब फ़ीड में डेटा अपडेट किया गया था. |
ttl |
सकारात्मक पूर्णांक | ज़रूरी है | एक गैर-ऋणात्मक पूर्णांक, जो उन सेकंड की संख्या बताता है जो फ़ीड अपडेट करने में तब तक लगते हैं.
अगर डेटा को स्थायी दर पर अपडेट करना ज़रूरी है, तो इस वैल्यू को
|
data |
JSON | ज़रूरी है | JSON, जिसमें अलग-अलग फ़ीड के लिए डेटा फ़ील्ड शामिल हैं. |
उदाहरण के लिए, एग्रीगेट किया गया एक free_bike_status.json
फ़ीड जो
आम तौर पर इस्तेमाल होने वाले GBFS हेडर के बारे में बताता है, वह ऐसा हो सकता है:
{
"ttl": 30,
"last_updated": 1576123774,
"data": {
"bikes": [ ... ] // GBFS free bike status objects.
}
}
ज़रूरी है: System_information.json (डॉक किया गया और बिना डॉक वाला सिस्टम)
ज़रूरत के हिसाब से जीबीएफ़एस की खास बातें देखें.
इस फ़ीड में सिस्टम ऑपरेटर के बारे में जानकारी होती है.
फ़ील्ड का नाम | टाइप | ज़रूरी शर्त | ब्यौरा |
---|---|---|---|
system_id |
आईडी | ज़रूरी है | वाहन के शेयर सिस्टम के लिए, दुनिया भर में पहचाना जाने वाला यूनीक आइडेंटिफ़ायर. इस वैल्यू का मकसद सिस्टम में कोई बदलाव नहीं करना है. हर अलग सिस्टम या भौगोलिक क्षेत्र जिसमें वाहन ऑपरेट किए जाते हैं उनका अपना System_id होना चाहिए. सिस्टम आईडी को रैंडम स्ट्रिंग के बजाय किसी खास सिस्टम से जुड़े होने की पहचान होनी चाहिए. उदाहरण के लिए, bcycle_austin या Biketown_ppx. |
name |
स्ट्रिंग | ज़रूरी है | सिस्टम का नाम, जो ग्राहकों को दिखाया जाता है. |
rental_apps |
चीज़ | ज़रूरी है | JSON ऑब्जेक्ट जिसमें Android और iOS के लिए, किराये की जानकारी देने वाला ऐप्लिकेशन और उनसे जुड़ी फ़ील्ड की जानकारी होती है. |
rental_apps.android |
चीज़ | कुछ शर्तों के मुताबिक ज़रूरी है |
इसमें, store_uri और discovery_uri के फ़ील्ड में, Android प्लैटफ़ॉर्म के लिए किराये पर लेने से जुड़े ऐप्लिकेशन को डाउनलोड करने और ऐप्लिकेशन खोजने की जानकारी शामिल होती है. अगर सिस्टम की सेवा देने वाली कंपनी के पास Android रेंटल ऐप्लिकेशन है, तो यह फ़ील्ड भरना ज़रूरी है.
|
rental_apps.android.store_uri |
यूआरआई | ज़रूरी है | यूआरआई, जहां से रेंटल Android ऐप्लिकेशन डाउनलोड किया जा सकता है. आम तौर पर, यह यूआरआई Google Play जैसे ऐप्लिकेशन स्टोर का यूआरआई होता है. अगर यूआरआई, Google Play जैसे किसी ऐप स्टोर पर ले जाता है, तो हमारा सुझाव है कि यूआरआई, Android के सबसे सही तरीकों का पालन करता हो. ऐसा इसलिए, ताकि देखने वाला ऐप्लिकेशन सीधे वेबसाइट के बजाय, नेटिव ऐप्लिकेशन स्टोर ऐप्लिकेशन में यूआरआई खोल सके. |
rental_apps.android.discovery_uri |
यूआरआई | ज़रूरी है | यूआरआई, जिसका फ़ॉर्मैट your_custom_scheme://your/path/here है.
यूआरआई का इस्तेमाल PackageManager.queryIntentActivities()
करके यह पता लगाने के लिए किया जा सकता है कि डिवाइस पर किराये पर लिए गए Android ऐप्लिकेशन को इंस्टॉल किया गया है या नहीं.
|
rental_apps.ios |
चीज़ | कुछ शर्तों के मुताबिक ज़रूरी है | इसमें store_uri और discovery_uri के फ़ील्ड में, iOS प्लैटफ़ॉर्म के लिए किराये पर लेने से जुड़े ऐप्लिकेशन को डाउनलोड करने और ऐप्लिकेशन खोजने की जानकारी शामिल है. अगर सिस्टम की सेवा देने वाली कंपनी के पास iOS रेंटल ऐप्लिकेशन है, तो यह फ़ील्ड ज़रूरी होता है.
|
rental_apps.ios.store_uri |
यूआरआई | ज़रूरी है | यूआरआई, जहां से रेंटल iOS ऐप्लिकेशन डाउनलोड किया जा सकता है. आम तौर पर, यह Apple App Store जैसे ऐप स्टोर का यूआरआई होता है. अगर यूआरआई, Apple App Store जैसे किसी ऐप स्टोर पर ले जाता है, तो हमारा सुझाव है कि यूआरआई iOS के सबसे सही तरीकों का पालन करे. ऐसा करने से वेबसाइट देखने के लिए यूआरआई को सीधे वेबसाइट के बजाय नेटिव ऐप्लिकेशन स्टोर ऐप्लिकेशन में खोला जा सकता है. |
rental_apps.ios.discovery_uri |
यूआरआई | ज़रूरी है | यूआरआई, जिसका फ़ॉर्मैट your_custom_scheme:// है. यूआरआई का इस्तेमाल UIApplication canOpenURL: के ज़रिए यह पता लगाने के लिए किया जा सकता है कि डिवाइस पर iOS ऐप्लिकेशन इंस्टॉल किया गया है या नहीं.
|
ज़रूरी है: free_bike_status.json (डॉकलेस सिस्टम)
ज़रूरत के हिसाब से जीबीएफ़एस की खास बातें देखें.
इस फ़ीड में, फ़्री-स्टैंडिंग वाले उपलब्ध वाहनों की जगह और एट्रिब्यूट के बारे में बताया गया है. निजता की वजह से, इस फ़ीड में ऐसे वाहन नहीं दिखने चाहिए जो किराये पर लिए जा चुके हों.
फ़ील्ड का नाम | टाइप | ज़रूरी शर्त | ब्यौरा |
---|---|---|---|
bikes |
कैटगरी | ज़रूरी है | फ़िलहाल, उपलब्ध बाइक की एक कैटगरी, हर उस मंज़िल पर रुकी हुई है जहां हर साइकल एक ऑब्जेक्ट है. |
bikes[].bike_id |
आईडी | ज़रूरी है | किसी बाइक का आइडेंटिफ़ायर.
निजता बनाए रखने के लिए, आईडी को हर यात्रा के बाद किसी भी स्ट्रिंग में बदला जा सकता है. |
bikes[].lat |
अक्षांश | ज़रूरी है | दशमलव डिग्री फ़ॉर्मैट में बाइक के WGS 84. |
bikes[].lon |
देशांतर | ज़रूरी है | दशमलव डिग्री फ़ॉर्मैट में, बाइक का WGS 84. |
bikes[].is_reserved |
बूलियन | ज़रूरी है | फ़िलहाल, साइकल इस तरह से बुक की गई है या नहीं:
|
bikes[].is_disabled |
बूलियन | ज़रूरी है | फ़िलहाल, बाइक बंद है या खराब है, यह इस तरह से बताया जा सकता है:
|
bikes[].rental_uris |
चीज़ | ज़रूरी है | JSON ऑब्जेक्ट, जिसमें Android, iOS, और वेब से जुड़े फ़ील्ड में किराये की जानकारी यूआरआई शामिल होते हैं. |
bikes[].rental_uris.android |
यूआरआई | कुछ शर्तों के मुताबिक ज़रूरी है | एक ऐसा यूआरआई जिसे किसी Android ऐप्लिकेशन को
android.intent.action.VIEW
Android इंटेंट के साथ भेजा जा सकता है. यह
Android डीप लिंक के साथ काम करता है. दिए गए rental_uris में,
Android ऐप्लिकेशन के लिंक होने चाहिए, ताकि देखने वाले ऐप्लिकेशन को मैन्युअल तरीके से,
उपयोगकर्ता को ऐप्लिकेशन स्टोर में रीडायरेक्ट को मैनेज करने की ज़रूरत न पड़े. ऐसा
तब होगा, जब उपयोगकर्ता के पास सेवा देने वाली कंपनी का ऐप्लिकेशन इंस्टॉल न हो.
यह यूआरआई एक साइकल का डीप लिंक होना चाहिए, न कि किराये के किसी सामान्य पेज का, जिसमें एक से ज़्यादा साइकल की जानकारी शामिल हो. डीप लिंक उपयोगकर्ता को बिना किसी संकेत, पेज पर अचानक से डाले जाने वाले पेज या लॉगिन के बिना सीधे बाइक पर ले जाना चाहिए. पक्का करें कि उपयोगकर्ता बाइक को देख सकते हैं. भले ही, उन्होंने कभी ऐप्लिकेशन न खोला हो. यूआरआई के लिए, साइकल के अगर पार्टनर के पास Android रेंटल ऐप्लिकेशन है, तो यह फ़ील्ड भरना ज़रूरी है. Android ऐप्लिकेशन के लिंक का उदाहरण:
|
bikes[].rental_uris.ios |
यूआरआई | कुछ शर्तों के मुताबिक ज़रूरी है | यूआरआई, जिसका इस्तेमाल iOS पर, किराये पर ऐप्लिकेशन लॉन्च करने के लिए किया जा सकता है.
इस बारे में ज़्यादा जानकारी के लिए, Apple की कस्टम यूआरएल स्कीम से जुड़े लेख देखें.
दिए गए rental_uris को
iOS यूनिवर्सल लिंक होना चाहिए, ताकि देखने वाले ऐप्लिकेशन को मैन्युअल तरीके से
उपयोगकर्ता को ऐप स्टोर पर रीडायरेक्ट मैनेज करने की ज़रूरत न पड़े. ऐसा तब होगा,
जब उपयोगकर्ता के लिए सेवा देने वाली कंपनी का ऐप्लिकेशन इंस्टॉल न किया गया हो.
यह यूआरआई एक साइकल का डीप लिंक होना चाहिए, न कि किराये के किसी सामान्य पेज का, जिसमें एक से ज़्यादा साइकल की जानकारी शामिल हो. डीप लिंक उपयोगकर्ता को बिना किसी संकेत, पेज पर अचानक से डाले जाने वाले पेज या लॉगिन के बिना सीधे बाइक पर ले जाना चाहिए. पक्का करें कि उपयोगकर्ता बाइक को देख सकते हैं. भले ही, उन्होंने कभी ऐप्लिकेशन न खोला हो. हालांकि, यूआरआई के लिए उस बाइक के Bike_id को शामिल करना ज़रूरी है. बशर्ते, पार्टनर के पास उसकी पहचान करने के दूसरे तरीके हों. उदाहरण के लिए, किराये पर लेने वाला ऐप्लिकेशन यूआरआई के अंदर दूसरे पहचानकर्ताओं का इस्तेमाल करके, साइकल को अलग से पहचान सकता है. अगर पार्टनर के पास कोई iOS रेंटल ऐप्लिकेशन है, तो यह फ़ील्ड ज़रूरी है. iOS यूनिवर्सल लिंक का उदाहरण:
|
bikes[].rental_uris.web |
यूआरएल | ज़रूरी नहीं | ऐसा यूआरएल जिसका इस्तेमाल वेब ब्राउज़र, गाड़ी पर किराये की ज़्यादा जानकारी दिखाने के लिए कर सकता है. यह यूआरएल एक अलग बाइक का डीप लिंक होना चाहिए, न कि किराये की सामान्य कैटगरी का. इसमें एक से ज़्यादा साइकल के बारे में जानकारी होनी चाहिए. डीप लिंक उपयोगकर्ता को बिना किसी संकेत, पेज पर अचानक से डाले जाने वाले पेज या लॉगिन के बिना सीधे बाइक पर ले जाना चाहिए. पक्का करें कि उपयोगकर्ता बाइक को देख सकते हैं. भले ही, उन्होंने कभी ऐप्लिकेशन न खोला हो. यूआरएल के लिए, बाइक के अगर यह फ़ील्ड सेट नहीं है, तो इसका मतलब है कि डीप लिंक वेब ब्राउज़र के लिए काम नहीं करते. उदाहरण वैल्यू:
|
bikes[].vehicle_type_id |
आईडी | ज़रूरी है | वाहन की vehicle_type_id , जो vehicle_types.json सेक्शन में बताई गई है.
|
bikes[].pricing_plan_id |
आईडी | ज़रूरी है | कीमत का वह आइडेंटिफ़ायर जो इस वाहन के टाइप को किराये पर लेने पर लागू किया जाता है, जैसा कि system_pricing_plans.json सेक्शन में बताया गया है.
|
bikes[].current_range_meters |
सकारात्मक फ़्लोट | कुछ शर्तों के मुताबिक ज़रूरी है | अगर vehicle_type से जुड़ी ऐसी परिभाषा है जो वाहन से मेल खाती है, तो उसके लिए यह फ़ील्ड ज़रूरी है.
वाहन में ईंधन या ईंधन के मौजूदा लेवल को ध्यान में रखते हुए, मीटर की दूरी उस दूरी पर तय करें जहां से वाहन, रीचार्ज या ईंधन की ज़रूरत न हो. |
bikes[].last_reported |
टाइमस्टैंप | ज़रूरी नहीं | वाहन के पिछली बार ऑपरेटर की स्थिति बैकएंड में रिपोर्ट करने के लिए, यह समय सेट करें. |
यहां free_bike_status.json
का एक उदाहरण दिया गया है:
"bikes": [{
"bike_id": "xyz123",
"lat": 12.34,
"lon": 56.78,
"is_reserved": true,
"is_disabled": false,
"rental_uris":{
"android": "https://www.example.com/app?sid=1234567890&platform=android",
"ios": "https://www.example.com/app?sid=1234567890&platform=ios",
"web": "https://www.example.com/app?sid=1234567890"
},
"vehicle_type_id": "scooter_electric",
"pricing_plan_id": "sydneyPlan1",
"current_range_meters": 4500,
"last_reported": 1434054678
},
{
"bike_id": "abc123",
"lat": 1.34,
"lon": 146.78,
"is_reserved": false,
"is_disabled": true,
"rental_uris":{
"android": "https://www.example.com/app?sid=1234567890&platform=android",
"ios": "https://www.example.com/app?sid=1234567890&platform=ios",
"web": "https://www.example.com/app?sid=1234567890"
},
"vehicle_type_id": "bike_manual",
"pricing_plan_id": "sydneyPlan1",
"last_reported": 1434054241
}
]
ज़रूरी है: Vehicle_types.json (डॉक किया गया और बिना डॉक वाला सिस्टम)
ज़रूरत के हिसाब से जीबीएफ़एस की खास बातें देखें.
इस फ़ीड में अलग-अलग वाहन की जानकारी दी गई है. इसे free_bike_status.json
सेक्शन में बताया गया है.
फ़ील्ड का नाम | टाइप | ज़रूरी शर्त | ब्यौरा |
---|---|---|---|
vehicle_types |
कैटगरी | ज़रूरी है | ऑब्जेक्ट की कैटगरी, जहां हर ऑब्जेक्ट, सेवा देने वाली कंपनी के कैटलॉग में एक अलग वाहन के बारे में बताता है. किसी भी तरह के वाहन के लिए सिर्फ़ एक ऑब्जेक्ट हो सकता है. |
vehicle_types[].vehicle_type_id |
आईडी | ज़रूरी है | किसी दिए गए वाहन के टाइप के लिए यूनीक आइडेंटिफ़ायर. |
vehicle_types[].form_factor |
Enum | ज़रूरी है | मौजूदा मान्य वैल्यू की सूची में से, एक enum जो वाहन के सामान्य फ़ॉर्म फ़ैक्टर को दिखाता है:
|
vehicle_types[].propulsion_type |
Enum | ज़रूरी है | मौजूदा मान्य वैल्यू की सूची में से, enum का इस्तेमाल करके यह बताया गया है कि वाहन, मुख्य
तरीके से इस्तेमाल किया जाता है:
|
vehicle_types[].max_range_meters |
सकारात्मक फ़्लोट | कुछ शर्तों के मुताबिक ज़रूरी है | अगर propulsion_type को human पर सेट नहीं किया गया है, तो वाहन में मोटर की जानकारी होनी चाहिए. इसलिए, यह फ़ील्ड ज़रूरी है.
जब गाड़ी में पेट्रोल-डीज़ल भरा हो या पूरी तरह चार्ज हो, तो मीटर में सबसे लंबी दूरी पर सेट करें, ताकि वाहन रीचार्ज या ईंधन न भरे. |
यहां vehicle_types.json
का एक उदाहरण दिया गया है:
"vehicle_types": [
{
"vehicle_type_id": "bike_manual",
"form_factor": "bicycle",
"propulsion_type": "human"
},
{
"vehicle_type_id": "scooter_electric",
"form_factor": "scooter",
"propulsion_type": "electric",
"max_range_meters": 10000
}
]
ज़रूरी है: System_pricing_plans.json (डॉकलेस सिस्टम)
ज़रूरत के हिसाब से जीबीएफ़एस की खास बातें देखें.
इस फ़ीड में, फ़्री-स्टैंडिंग वाहनों के लिए कीमत की जानकारी दी जाती है. हम चाहते हैं कि सेवा देने वाली कंपनियां, फ़्री-स्टैंडिंग वाहनों की कीमत की जानकारी दिखाएं.
फ़ील्ड का नाम | टाइप | ज़रूरी शर्त | ब्यौरा |
---|---|---|---|
plans |
कैटगरी | ज़रूरी है | ऑब्जेक्ट की श्रेणी जिसमें हर ऑब्जेक्ट, दी गई कीमत के प्लान के बारे में बताता है. |
plans[].plan_id |
आईडी | ज़रूरी है | ऐसी स्ट्रिंग जो सेवा देने वाली कंपनी के दिए गए पैसे चुकाने के प्लान के लिए यूनीक आइडेंटिफ़ायर दिखाती है. |
plans[].url |
यूआरएल | ज़रूरी नहीं | वह यूआरएल जो असली उपयोगकर्ताओं को कीमत प्लान के बारे में ज़्यादा जानकारी देता है. |
plans[].currency |
स्ट्रिंग | ज़रूरी है | कीमत प्लान के लिए, ISO 4217 स्टैंडर्ड. |
plans[].price |
सकारात्मक फ़्लोट | ज़रूरी है |
कीमत वाले प्लान में, यह बताया जा सकता है कि यह कीमत के हिसाब से नहीं दिया गया है. इसके अलावा, यह भी बताया जा सकता है:
|
plans[].per_km_pricing |
कैटगरी | कुछ शर्तों के मुताबिक ज़रूरी है |
अगर कीमत, तय की गई दूरी के हिसाब से तय की गई है, तो इस फ़ील्ड को भरना ज़रूरी है. ऑब्जेक्ट की श्रेणी जहां हर ऑब्जेक्ट, दिए गए दूरी से जुड़े सेगमेंट के बारे में बताता है. हर सेगमेंट की दिए गए प्लान के कुल शुल्क का पता लगाने के लिए, दिए गए प्लान में अगर यह फ़ील्ड सेट नहीं है, तो दूरी के हिसाब से कोई वैरिएबल कीमत नहीं है. इसलिए, कुल कीमत के हिस्से के तौर पर कोई भी कीमत शामिल नहीं की गई है. |
plans[].per_km_pricing[].start |
सकारात्मक पूर्णांक | ज़रूरी है |
किलोमीटर की संख्या, जिस पर सेगमेंट दर का शुल्क लगाया जाना शुरू होता है.
यह फ़ील्ड,
इनक्लूसिव वैल्यू पर सेट है,
जो सेगमेंट की रेंज शुरू करता है. इसलिए, जब किलोमीटर की संख्या खत्म हो जाती है, तो rate एक बार चार्ज किया जाता है.
|
plans[].per_km_pricing[].rate |
फ़्लोट | ज़रूरी है | वह दर जो हर interval के लिए ली गई है. यह सेगमेंट की शुरुआत start से होती है. अगर यह फ़ील्ड नेगेटिव संख्या पर सेट है, तो यात्री को छूट मिलती है.
|
plans[].per_km_pricing[].interval |
सकारात्मक पूर्णांक | ज़रूरी है |
किलोमीटर में वह अंतराल जिस पर
अगर सेगमेंट का अगर यह फ़ील्ड |
plans[].per_km_pricing[].end |
सकारात्मक पूर्णांक | ज़रूरी नहीं |
कितने किलोमीटर की दूरी पर अगर यह फ़ील्ड सेट नहीं है या खाली है, तो सेगमेंट के लिए |
plans[].per_min_pricing |
कैटगरी | कुछ शर्तों के मुताबिक ज़रूरी है |
अगर कीमत तय किए गए समय के मुताबिक तय की गई है, तो इस फ़ील्ड में डेटा दिखाना ज़रूरी है. ऑब्जेक्ट की श्रेणी जहां हर ऑब्जेक्ट, दिए गए समय के हिसाब से बांटे गए सेगमेंट की जानकारी देता है. हर सेगमेंट की दिए गए प्लान के कुल शुल्क का पता लगाने के लिए, दिए गए प्लान में अगर यह फ़ील्ड सेट नहीं है, तो समय के हिसाब से वैरिएबल की कीमतें नहीं बदली जाती. इसलिए, इसे कुल कीमत के हिस्से के तौर पर शामिल नहीं किया जाता है. |
plans[].per_min_pricing[].start |
फ़्लोट | ज़रूरी है |
मिनट की संख्या, जब सेगमेंट की दर से शुल्क लिया जाना शुरू होता है.
यह फ़ील्ड,
इनक्लूसिव वैल्यू पर सेट है,
जो सेगमेंट की रेंज शुरू करता है. इसलिए, तय समय के बाद rate
का शुल्क एक बार लिया जाता है.
|
plans[].per_min_pricing[].rate |
फ़्लोट | ज़रूरी है | हर interval के लिए दर. यह दर, सेगमेंट के start के हिसाब से शुरू होती है. अगर यह फ़ील्ड नेगेटिव संख्या पर सेट है, तो यात्री को छूट मिलती है.
|
plans[].per_min_pricing[].interval |
सकारात्मक पूर्णांक | ज़रूरी है |
मिनट में मिला वह अंतराल जिस पर हर अगर सेगमेंट का अगर यह फ़ील्ड |
plans[].per_min_pricing[].end |
सकारात्मक पूर्णांक | ज़रूरी नहीं |
कुल समय, जब सेगमेंट के लिए अगर यह फ़ील्ड सेट नहीं है या खाली है, तो
सेगमेंट के लिए |
System_pricing_plans.json के लिए उदाहरण
यह सेक्शन, जानकारी देने वाला system_pricing_plans.json
कोड सैंपल देता है. हर
उदाहरण के साथ काम की जानकारी और नतीजे भी दिए जाते हैं.
System_pricing_plans.json के लिए उदाहरण 1
कीमत का प्लान कोड का यह नमूना, नीचे दिए गए अंतरालों के यात्रा समय के आधार पर शुल्क दिखाता है:
- [0,1): 2 डॉलर
- अगर यात्रा एक मिनट से भी कम होती है, तो उपयोगकर्ता को दो डॉलर चुकाने होंगे.
- उदाहरण: 59-सेकंड की यात्रा
- [1,2): 3 डॉलर
- अगर यात्रा एक मिनट से ज़्यादा है या दो मिनट से भी कम है, तो उपयोगकर्ता को दो डॉलर + एक डॉलर = तीन डॉलर चुकाने होंगे.
- उदाहरण: 1 मिनट की यात्रा; 1 मिनट 45 सेकंड की यात्रा
- x मिनट की संख्या, जहां x 2 से ज़्यादा या उसके बराबर है:
$3 + ($2 + $1) * (x - 2 + 1))
USD
- अगर यात्रा दो मिनट से ज़्यादा की है या दो मिनट से कम समय की है, तो उपयोगकर्ता दो मिनट से भी कम समय के लिए
3 डॉलर चुकाएंगे. साथ ही, $1 [
per_min_pricing
सूची की पहली एंट्री से जारी रहेगा] + दो मिनट [per_min_pricing
सूची की दूसरी एंट्री]) जिसमें दो मिनट लगेंगे. - उदाहरण:
- दो मिनट वाली यात्रा का शुल्क 3 डॉलर (2 डॉलर + 1 डॉलर) = 6 डॉलर
- 2-मिनट 30-सेकंड की यात्रा की कीमत 3 डॉलर (2 डॉलर + 1 डॉलर) = 6 डॉलर
- तीन मिनट वाली यात्रा के लिए तीन डॉलर + ($2 + $1) * 2) = 9 डॉलर
- 10 मिनट की यात्रा की कीमत 3 डॉलर (2 डॉलर + 1 डॉलर) * 9) = 30 डॉलर
- अगर यात्रा दो मिनट से ज़्यादा की है या दो मिनट से कम समय की है, तो उपयोगकर्ता दो मिनट से भी कम समय के लिए
3 डॉलर चुकाएंगे. साथ ही, $1 [
{
"plans": {
"plan_id": "plan1",
"currency": "USD",
"price": 2,
"per_min_pricing": [
{
"interval": 1,
"rate": 1,
"start": 1
},
{
"interval": 1,
"rate": 2,
"start": 2
}
],
}
}
System_pricing_plans.json के लिए उदाहरण 2
इस उदाहरण में, हम कीमत की कीमत के प्लान के लिए कोड का एक नमूना दिखाते हैं, जिसका शुल्क मिनटों और किलोमीटर, दोनों पर लिया जाता है:
- खास तौर पर, असली उपयोगकर्ता से हर कि॰मी॰ के लिए 0.25 कनेडियन डॉलर और हर मिनट 0.50 कनेडियन डॉलर लिए जाते हैं.
- ये दोनों दरें एक साथ होती हैं और एक-दूसरे पर निर्भर नहीं होती हैं.
- इसलिए, 10 मिनट के लिए की जाने वाली एक किलोमीटर की यात्रा के लिए 9 कनेडियन डॉलर लगते हैं. विज्ञापन की कीमत नीचे दी गई है:
- 3 डॉलर, मूल कीमत
- $0.25 * 2, यात्रा की शुरुआत में एक बार और 1 किलोमीटर के मार्क पर शुल्क लिया जाता है.
- $0.5 * 11, हर मिनट की शुरुआत में एक बार लिया जाता है. शुल्क 0 सेकंड से शुरू होते हैं, जिसमें पिछले 10 मिनट का शुल्क लगाया जाता है.
{
"plans": {
"plan_id": "plan2",
"currency": "CAD",
"price": 3,
"per_km_pricing": [{
"start": 0,
"rate": 0.25,
"interval": 1
}],
"per_min_pricing": [{
"start": 0,
"rate": 0.50,
"interval": 1
}]
}
}
कुछ शर्तों के मुताबिक ज़रूरी है: Geofaging_zones.json (डॉक किया गया और बिना डॉक वाला सिस्टम)
ज़रूरत के हिसाब से जीबीएफ़एस की खास बातें देखें.
इस फ़ीड में, फ़्री-स्टैंडिंग वाहनों के लिए जियोफ़ेंसिंग का डेटा दिखाया जाता है. जियोफ़ेंसिंग डेटा में वे भौगोलिक सीमाएं शामिल होती हैं जहां यह बताया जाता है कि वाहनों को कहां से राइड शुरू करनी चाहिए और कहां से सफ़र खत्म करना है. इसके अलावा, इसमें रफ़्तार भी शामिल हो सकती है. यह रफ़्तार या तो वाहन की ज़्यादा से ज़्यादा रफ़्तार या रफ़्तार की सीमा से तय होती है, जो भी इनमें से कम हो. ड्राइवर को स्थानीय कानूनों और नियमों का पालन करना होगा.
हम इस डेटा का इस्तेमाल इसलिए करते हैं, ताकि जब कोई उपयोगकर्ता दिए गए रास्ते की खोज कर रहा हो, तो यात्रा के खत्म होने पर अगर उसके निर्देश खास जियोफ़ेंस से बाहर हो जाते हैं, तो धोखाधड़ी का नतीजा फ़िल्टर कर दिया जाता है. अगर जियोफ़ेंस दिए नहीं गए हैं, तो Google यह मानता है कि वह सेवा सेवा की तरह कोई पाबंदी नहीं है.
फ़ील्ड का नाम | टाइप | ज़रूरी शर्त | ब्यौरा |
---|---|---|---|
geofencing_zones |
चीज़ | ज़रूरी है |
IETF RFC 7946 के मुताबिक FeatureCollection ऑब्जेक्ट, ऑब्जेक्ट है जिसमें features नाम का फ़ील्ड है. features की वैल्यू एक JSON कलेक्शन है.
JSON अरे का हर एलिमेंट एक Feature ऑब्जेक्ट है.
जियोफ़ेंस किए गए हर ज़ोन, इससे जुड़े नियम, और एट्रिब्यूट
और |
geofencing_zones.type |
स्ट्रिंग | ज़रूरी है |
IETF RFC 7946 के मुताबिक, FeatureCollection पर सेट करें. |
geofencing_zones.features |
कैटगरी | ज़रूरी है | JSON कलेक्शन, जहां JSON कलेक्शन का हर एलिमेंट, Feature ऑब्जेक्ट होता है. |
geofencing_zones.features[].type |
स्ट्रिंग | ज़रूरी है |
IETF RFC 7946 के मुताबिक, Feature पर सेट करें. |
geofencing_zones.features[].geometry |
जियोJSON मल्टीपॉलीगॉन | ज़रूरी है | भौगोलिक JSON पॉलीगॉन, जो बताता है कि राइड अन्य सीमाओं के अलावा, कहां से शुरू, खत्म, और खत्म नहीं हो सकतीं. घड़ी की दिशा में बिंदुओं को लगाकर, पॉलीगॉन के आस-पास के इलाके को परिभाषित करता है, जबकि घड़ी से उलटी दिशा में पॉलीगॉन के बाहर का इलाका तय किया जाता है. इस बारे में ज़्यादा जानकारी के लिए, दाईं ओर मौजूद नियम देखें. |
geofencing_zones.features[].properties |
चीज़ | ज़रूरी है | एक ऑब्जेक्ट जो यात्रा की भत्तियों और सीमाओं के बारे में बताता है. |
geofencing_zones.features[].properties.rules |
कैटगरी | ज़रूरी नहीं | ऑब्जेक्ट की कैटगरी, जहां हर ऑब्जेक्ट एक और सिर्फ़ एक नियम के बारे में बताता है. अगर दो या उससे ज़्यादा नियम किसी तरह से ओवरलैप करते हैं, आपस में टकराते हैं या किसी तरह से आपस में टकराते हैं, तो JSON फ़ाइल के क्रम में सबसे पहले तय किए गए नियम को प्राथमिकता दी जाती है. |
geofencing_zones.features[].properties.rules[].vehicle_type_id |
कैटगरी | ज़रूरी नहीं | वाहन के टाइप आईडी की कैटगरी, जहां हर एलिमेंट एक vehicle_type_id है, जिसके लिए कोई भी पाबंदी लागू होनी चाहिए.
अगर कोई vehicle_type_id नहीं बताया गया है, तो सभी तरह के वाहन पर
पाबंदियां लागू होंगी. |
geofencing_zones.features[].properties.rules[].ride_allowed |
बूलियन | ज़रूरी है | फ़्री-स्टैंडिंग कोट और कोट; दोनों में ही साइकल राइड शुरू और खत्म हो सकती है, जैसा कि यहां बताया गया है:
|
यहां geofencing_zones.json
का एक उदाहरण दिया गया है:
"geofencing_zones":{
"type":"FeatureCollection",
"features":[{
"type":"Feature",
"properties":{
"rules":[{
"vehicle_type_id":"scooter",
"ride_allowed": false
}]
},
"geometry":{
"type":"MultiPolygon",
"coordinates":[[[
[-122.66780376434326, 45.49896266763551],
[-122.66810417175292, 45.49824825558575],
[-122.66830801963805, 45.49632305799116],
[-122.66780376434326, 45.49896266763551]
]]]
}
}]
}
ज़रूरी है: Station_information.json (डॉक सिस्टम)
ज़रूरत के हिसाब से जीबीएफ़एस की खास बातें देखें.
इस फ़ीड में, साइकल शेयर करने के लिए सार्वजनिक स्टेशन के बारे में सामान्य जानकारी दी गई है.
फ़ील्ड का नाम | टाइप | ज़रूरी शर्त | ब्यौरा |
---|---|---|---|
stations |
कैटगरी | ज़रूरी है | ऑब्जेक्ट की श्रेणी, जिसमें हर ऑब्जेक्ट एक और सिर्फ़ एक स्टेशन के बारे में बताता है. |
stations[].station_id |
स्ट्रिंग | ज़रूरी है | स्टेशन का आइडेंटिफ़ायर. |
stations[].name |
स्ट्रिंग | ज़रूरी है |
उस स्टेशन की सार्वजनिक भाषा में स्टेशन का सार्वजनिक नाम जहां
स्टेशन मौजूद है. name को स्टेशन पर लगे साइनबोर्ड पर जहां भी इस्तेमाल किया जाना चाहिए वहां बताया जाना चाहिए. साथ ही, क्रॉस स्ट्रीट या स्थानीय लैंडमार्क की मदद से स्टेशन के पते की जानकारी देनी चाहिए.
"St&&tt; जैसे"Street" के लिए शॉर्ट फ़ॉर्म का इस्तेमाल न करें. ऐसा तब तक करें, जब तक कि इसका इस्तेमाल साइनबोर्ड में साफ़ तौर पर न किया गया हो. साथ ही, name को सभी जगहों के लिए बड़े अक्षरों में लिखने के बजाय, अलग-अलग मामलों में एक साथ इस्तेमाल किया जाना चाहिए.
|
stations[].lat |
अक्षांश | ज़रूरी है | स्टेशन का WGS 84, दशमलव डिग्री फ़ॉर्मैट में. |
stations[].lon |
देशांतर | ज़रूरी है | स्टेशन का WGS 84, दशमलव डिग्री फ़ॉर्मैट में. |
stations[].capacity |
सकारात्मक पूर्णांक | ज़रूरी नहीं | एक गैर-ऋणात्मक पूर्णांक, जो स्टेशन पर इंस्टॉल किए गए डॉकिंग पॉइंट की कुल संख्या दिखाता है. |
stations[].rental_uris |
चीज़ | ज़रूरी है |
JSON ऑब्जेक्ट, जिसमें Android, iOS, और वेब से जुड़े फ़ील्ड में किराये की जानकारी यूआरआई शामिल होते हैं. अगर ये यूआरआई तय किए गए हैं, तो वे डिफ़ॉल्ट डीप लिंक को बदल देते हैं. ये लिंक, सेवा देने वाली कंपनी के शामिल होने के बाद सेट किए गए थे. |
stations[].rental_uris.android |
यूआरआई | कुछ शर्तों के मुताबिक ज़रूरी है |
एक ऐसा यूआरआई जिसे किसी Android ऐप्लिकेशन को यह यूआरआई, स्टेशन के अलग-अलग पेजों के लिए डीप लिंक होना चाहिए. इसमें किराये की सामान्य जानकारी वाला ऐसा पेज नहीं होना चाहिए जिसमें एक से ज़्यादा स्टेशन की जानकारी शामिल हो. डीप लिंक उपयोगकर्ता को बिना किसी सूचना, पेज पर अचानक से दिखने वाले पेजों या लॉगिन के बिना सीधे स्टेशन पर जाना चाहिए. पक्का करें कि उपयोगकर्ता स्टेशन देख सकें, भले ही उन्होंने ऐप्लिकेशन कभी न खोला हो. यूआरआई में स्टेशन के लिए अगर पार्टनर के पास Android रेंटल ऐप्लिकेशन है, तो यह फ़ील्ड भरना ज़रूरी है. Android ऐप्लिकेशन के लिंक का उदाहरण:
|
stations[].rental_uris.ios |
यूआरआई | कुछ शर्तों के मुताबिक ज़रूरी है |
यूआरआई, जिसका इस्तेमाल iOS पर स्टेशन के लिए किराये पर ऐप्लिकेशन लॉन्च करने के लिए किया जा सकता है.
इस बारे में ज़्यादा जानकारी के लिए, iOS की कस्टम यूआरएल स्कीम के बारे में Apple के लेख पढ़ें.
यह यूआरआई, स्टेशन के अलग-अलग पेजों के लिए डीप लिंक होना चाहिए. इसमें किराये की सामान्य जानकारी वाला ऐसा पेज नहीं होना चाहिए जिसमें एक से ज़्यादा स्टेशन की जानकारी शामिल हो. डीप लिंक उपयोगकर्ता को बिना किसी सूचना, पेज पर अचानक से दिखने वाले पेजों या लॉगिन के बिना सीधे स्टेशन पर जाना चाहिए. पक्का करें कि उपयोगकर्ता स्टेशन देख सकें, भले ही उन्होंने ऐप्लिकेशन कभी न खोला हो. यह ज़रूरी नहीं है कि यूआरआई में स्टेशन के लिए अगर पार्टनर के पास कोई iOS रेंटल ऐप्लिकेशन है, तो यह फ़ील्ड ज़रूरी है. iOS यूनिवर्सल लिंक का उदाहरण:
|
stations[].rental_uris.web |
यूआरएल | ज़रूरी नहीं | ऐसा यूआरएल जिसका इस्तेमाल करके वेब ब्राउज़र, इस स्टेशन पर गाड़ी किराये पर लेने के तरीके के बारे में ज़्यादा जानकारी दिखा सकता है. यह यूआरएल, अलग-अलग स्टेशन के लिए डीप लिंक होना चाहिए, न कि किराये का सामान्य पेज, जिसमें एक से ज़्यादा स्टेशन की जानकारी शामिल हो. डीप लिंक उपयोगकर्ता को बिना किसी संकेत, पेज पर अचानक से डाले जाने वाले पेज या लॉगिन के बिना सीधे स्टेशन पर जाना चाहिए. पक्का करें कि उपयोगकर्ता स्टेशन देख सकें, भले ही उन्होंने ऐप्लिकेशन कभी न खोला हो. यूआरएल के लिए स्टेशन के अगर यह फ़ील्ड सेट नहीं है, तो इसका मतलब है कि डीप लिंक, वेब ब्राउज़र के साथ काम नहीं करते. उदाहरण वैल्यू:
|
यहां station_information.json
का एक उदाहरण दिया गया है:
"stations": [
{
"station_id": "597",
"name": "Silverthorne Road, Battersea",
"lat": 51.472865,
"lon": -0.148059,
"capacity": 10,
"rental_uris": {
"android": "https://www.example.com/app?sid=1234567890&platform=android",
"ios": "https://www.exampleexample.com/app?sid=1234567890&platform=ios",
"web": "https://www.example.com/app?sid=1234567890&platform=web"
}
},
]
ज़रूरी है: Station_status.json (डॉक किया हुआ सिस्टम)
ज़रूरत के हिसाब से जीबीएफ़एस की खास बातें देखें.
इस फ़ीड में, सार्वजनिक शेयर करने वाले साइकल स्टेशन के बारे में अप-टू-डेट और मौजूदा स्थिति बताई जाती है.
फ़ील्ड का नाम | टाइप | ज़रूरी शर्त | ब्यौरा |
---|---|---|---|
stations |
कैटगरी | ज़रूरी है | ऑब्जेक्ट की कैटगरी, जहां हर ऑब्जेक्ट, एक और सिर्फ़ एक स्टेशन के बारे में बताता है. |
stations[].station_id |
स्ट्रिंग | ज़रूरी है | स्टेशन का आइडेंटिफ़ायर. |
stations[].num_bikes_available |
सकारात्मक पूर्णांक | ज़रूरी है |
ऐसा नॉन-नेगेटिव पूर्णांक जो स्टेशन पर मौजूद फ़ंक्शनल बाइक की संख्या को दिखाता है और हो सकता है कि किराये के लिए दी जा सके. यह पता करने के लिए कि फ़िलहाल स्टेशन स्टेशन को किराये पर ले रहा है या नहीं, आपको स्टेशन के |
stations[].vehicle_types_available |
कैटगरी | ज़रूरी नहीं |
स्टेशन पर उपलब्ध अलग-अलग वाहन के टाइप के आधार पर, वाहनों की कुल संख्या
बताने वाली ऑब्जेक्ट की कैटगरी. हर ऑब्जेक्ट, उससे जुड़े वाहन के टाइप की कुल संख्या दिखाता है. इनमें से हर ऑब्जेक्ट की गाड़ियों की कुल संख्या जोड़ने के लिए, |
stations[].vehicle_types_available[].vehicle_type_id |
आईडी | ज़रूरी है |
स्टेशन पर मौजूद हर तरह के |
stations[].vehicle_types_available[].count |
सकारात्मक पूर्णांक | ज़रूरी है |
vehicle_types.json में बताए गए स्टेशन पर |
stations[].num_docks_available |
सकारात्मक पूर्णांक | कुछ शर्तों के मुताबिक ज़रूरी है |
फ़ील्ड की तब तक ज़रूरत होती है, जब तक स्टेशन के पास डॉकिंग की अनलिमिटेड क्षमता न हो. उदाहरण के लिए, वर्चुअल स्टेशन में डॉक करने की अनलिमिटेड क्षमता होती है और फ़ील्ड की ज़रूरत नहीं होती. एक नॉन-नेगेटिव पूर्णांक, जो स्टेशन पर मौजूद डॉक की कुल संख्या को दिखाता है. इससे वाहन की वापसी को स्वीकार किया जा सकता है. यह पता करने के लिए कि फ़िलहाल स्टेशन, साइकल को लौटाया जा सकता है या नहीं, आपको स्टेशन के |
stations[].is_installed |
बूलियन | ज़रूरी है |
बूलियन, जिससे यह पता चलता है कि यह स्टेशन अभी सड़क पर है और इंस्टॉल किया गया है. अगर सड़क पर स्टेशन इंस्टॉल किया गया है, तो अगर स्टेशन सड़क पर इंस्टॉल नहीं है, तो |
stations[].is_renting |
बूलियन | ज़रूरी है |
बूलियन, जिससे यह पता चलता है कि यह स्टेशन फ़िलहाल बाइक किराये पर लेता है या नहीं. अगर स्टेशन फ़िलहाल बाइक किराये पर लेता है, तो अगर स्टेशन फ़िलहाल बाइक किराये पर नहीं देता है, तो |
stations[].is_returning |
बूलियन | ज़रूरी है |
बूलियन, जिससे यह पता चलता है कि वह स्टेशन बाइक चलाने की सुविधा देता है या नहीं. अगर स्टेशन फ़िलहाल बाइक लौटाने की सुविधा देता है, तो अगर स्टेशन स्टेशन को फ़िलहाल बाइक लौटाने की सुविधा नहीं देता है, तो
|
यहां station_status.json
का उदाहरण दिया गया है:
"stations": [
{
"station_id": "2",
"num_bikes_available": 6,
"vehicle_types_available": [
{
"vehicle_type_id" : "scooter_electric",
"count" : 2
},
{
"vehicle_type_id" : "bike_manual",
"count" : 4
}
],
"num_docks_available": 30,
"is_installed": true,
"is_renting": true,
"is_returning": true,
"last_reported": 1576119631
},
]