व्यवहार में सचिवेली की वास्तविक समय में उपलब्धता दिखाने के लिए, लौटाए गए संख्या को उसकी नवीनता और वाहन लेने की संभवताएँ से जोड़ें। एक निरीक्षण स्रोत द्वारा किसी क्षण के ज्ञात तथ्यों को दर्शाता है; यह गारंटी नहीं देता कि सचिवेली आगमन पर भी मौजूद होगा।
ROOTE मोबिलिटी अनुबंध स्टेशन, व्यक्तिगत वाहन और उनके राज्यों में अंतर करता है। इंटरफ़ेस को इन अंतर को दर्शाना चाहिए बिना अज्ञात मान, खाली स्टेशन और अस्थायी अयोग्य स्रोत को भ्रमित किए।
एक स्टेशन को व्यक्तिगत वाहन से अलग करें
एक स्टेशन सचिवेली और लौटाने की जगहों की गिनती दिखा सकता है। एक व्यक्तिगत वाहन की उपलब्धता की स्थिति और अन्य जानकारी होती है। स्टेशन को सचिवेली या समान स्टॉक वाले गिनतीयों के रूप में गिनने से बचें।
ROOTE मोबिलिटी DTO में, availability.bikes और availability.docks अज्ञात हो सकते हैं। प्रणोदन या बैटरी के फ़ील्ड केवल तब दिखाएं जब वे मौजूद हों और अनुबंध के अनुसार व्याख्यायित हों।
नवीनता और समय-संपर्क पढ़ना
| फ़ील्ड | व्याख्या |
|---|---|
| freshness.state | घोषित स्थिति: fresh, stale, unknown या static |
| freshness.source_updated_at | स्रोत का अद्यतन दिनांक, यदि ज्ञात हो |
| freshness.received_at | अनुबंध द्वारा निर्दिष्ट प्राप्ति दिनांक |
| freshness.expires_at | वेध्यता की समाप्ति दिनांक, यदि ज्ञात हो |
| availability.bikes | ज्ञात मात्रा या अज्ञात मान |
| pickup.enabled और pickup.state | स्टेशन से सचिवेली लेने की जानकारी |
आपकी कॉल का समय स्वचालित रूप से निरीक्षण का समय नहीं होता। 10 बजे प्राप्त परिणाम में 9:45 बजे का अपडेट स्रोत हो सकता है। केवल इंटरफ़ेस प्राप्ति समय से 'अभी ताज़ा' न दिखाएं।
अलग-अलग प्रदर्शन स्थिति योजना बनाएं
| प्राप्त डेटा | प्रदर्शन योजना |
|---|---|
| ज्ञात मात्रा और ताज़ा डेटा | देखी गई मात्रा और समय-संदर्भ |
| मात्रा शून्य है | कोई सचिवेली नहीं मिली, उसके समय संदर्भ के साथ |
| मात्रा null है | उपलब्धता अज्ञात |
| stale स्थिति या समाप्ति पार हो चुकी | पुराना डेटा; ताज़गी का सुझाव दें |
| pickup.enabled=false | गिनती सकारात्मक होने पर भी उठाना उपलब्ध नहीं |
| खोज में त्रुटि | उपलब्धता अस्थायी रूप से अनुपलब्ध, शून्य में परिवर्तित न करें |
unknown या static स्थिति को ताज़ा न मानें। स्टेशन सूचना स्थिर हो सकती है जबकि गिनती तेजी से बदल रही हो। जवाब द्वारा मांगे गए चेतावनी और वितरण भी रखें।
रेंडरिंग से पहले सामान्यीकरण का उदाहरण
निम्नलिखित फ़ंक्शन ROOTE स्कीमा से पहले मान्य स्टेशन से प्रदर्शन स्थिति उत्पन्न करता है। यह पूर्ण जवाब मान्यकर्ता नहीं है। दृश्यमान लेबल आपके इंटरफ़ेस के अनुवाद कुंजियों से आने चाहिए।
function availabilityView(station, now = Date.now()) {
const freshness = station.freshness;
const expiresAt = freshness.expires_at
? Date.parse(freshness.expires_at) : null;
const expired = expiresAt !== null &&
Number.isFinite(expiresAt) && expiresAt <= now;
if (station.pickup.enabled === false ||
station.pickup.state === 'unavailable_now') {
return { state: 'pickup_unavailable', count: null };
}
if (expired || freshness.state === 'stale') {
return { state: 'stale', count: null };
}
const count = station.availability.bikes;
if (freshness.state !== 'fresh' || count === null ||
!Number.isFinite(count) || count < 0) {
return { state: 'unknown', count: null };
}
return {
state: count === 0 ? 'empty' : 'observed', count,
sourceUpdatedAt: freshness.source_updated_at,
receivedAt: freshness.received_at,
pickupState: station.pickup.state
};
}
observed स्थिति में भी pickupState=unknown को पुष्टि किए गए उठान में न बदलें। गिनती एक निरीक्षण बनी रहती है। यदि आपका उत्पाद उपयोगकर्ता को स्टेशन चुनने में मदद करता है तो उठाने का संदर्भ दिखाएं।
अनावश्यक कॉल को बढ़ाए बिना ताज़गी करें
ताज़गी प्रकाशित समाप्ति, सेवा की स्थिति और उपयोगकर्ता व्यवहार के अनुसार समायोजित करें। समान अनुरोधों को समूहित करें, निष्क्रिय पृष्ठ पर पृष्ठभूमि अनुरोधों से बचें और बदली गई खोज के अनुरोधों को स्थगित करें।
स्थानीय कैश विलंब स्रोत की ताज़गी साबित नहीं करता। त्रुटि के बाद अंतिम निरीक्षण संग्रहीत कर सकते हैं यदि आपका इंटरफ़ेस इसे स्पष्ट रूप से पुराना दिखाता है। पहली सफल पुनःप्राप्ति पर यह भेद मिटाएं नहीं अगर स्रोत stale रहता है।
GBFS के साथ संबंध समझना
GBFS साझा मोबिलिटी सेवाओं और प्रकाशित स्थितियों का वर्णन करता है। प्रत्यक्ष एकीकरण को फ़ाइलें, संस्करण और स्ट्रीम के समय-संपर्क की व्याख्या करनी चाहिए। मानकीकृत API के साथ, API अनुबंध का उपयोग करें; GBFS फ़ील्ड बिना जवाब में होने के जोड़ें नहीं।
GTFS, GTFS Realtime और GBFS के बीच चयन करें
पाठक को भ्रमित करने वाली स्थितियों का परीक्षण करें
वास्तविक शून्य, अज्ञात मान, समाप्ति पार, अक्षम उठान और मान्य परिणाम के बाद त्रुटि का परीक्षण करें। प्रदर्शन के लिए समय क्षेत्र भी जांचें। सकारात्मक गिनती कभी 'सचिवेली आरक्षित' नहीं दिखानी चाहिए और अनुपलब्धता कभी काल्पनिक शून्य नहीं।
खाली जवाब और त्रुटियों का प्रबंधन करें
इन नियमों को AI सहायक में लागू करें
सचिवेली खोजने के लिए उपयोगकर्ता गाइड
अक्सर पूछे जाने वाले प्रश्न
क्या सकारात्मक मात्रा मेरी पहुँच पर सचिवेली गारंटीकृत करती है?
नहीं। यह एक निरीक्षण बताती है, जो खोज से पहुँच तक बदल सकती है।
क्या null को शून्य से बदल सकते हैं?
नहीं। null अज्ञात मान दर्शाता है; शून्य ज्ञात मात्रा है और अलग अर्थ रखता है।
क्या हर कुछ सेकंड में ताज़गी करनी चाहिए?
वैधता संकेत, सेवा सीमाएं और आपकी इंटरफ़ेस की आवश्यकता का उपयोग करें। मनमानी आवृत्ति स्रोत को अधिक ताज़ा गारंटीकृत नहीं करती।