Salesforce में डबल बुकिंग कैसे रोकें
Validation rule दूसरे रिकॉर्ड नहीं देख सकते। यही एक सीमा है जिसकी वजह से ज़्यादातर Salesforce बुकिंग सिस्टम को अपने टकराव एक दिन देर से पता चलते हैं।
डबल बुकिंग समय की समस्या है। जब तक स्टैंडर्ड Salesforce में कुछ भी आपको बता पाता है कि रूम भरा हुआ है, तब तक यूज़र उसे चुन चुका होता है, बाकी फ़ॉर्म भर चुका होता है, और आगे बढ़ चुका होता है।
जाने-पहचाने तरीके काम क्यों नहीं करते
| टूल | यह क्या कर सकता है | कहाँ चूकता है |
|---|---|---|
| Validation rule | सहेजे जा रहे रिकॉर्ड के फ़ील्ड जाँचना | दूसरे रिकॉर्ड की क्वेरी बिल्कुल नहीं कर सकता |
| Duplicate rule | फ़ील्ड के बराबर होने पर मिलान | 9:00 से 10:00 और 9:30 से 10:30 टकराते हैं, पर मेल नहीं खाते |
| Record-triggered flow | सहेजते समय क्वेरी करके रोकना | यूज़र के कमिट करने के बाद चलता है; लापरवाही से लिखा जाए तो bulk में असुरक्षित |
| कस्टम कोड | पूरा नियंत्रण, ओवरलैप का सही लॉजिक | फिर भी सहेजते समय ही मना करता है, और अब कोड आपकी ज़िम्मेदारी है |
इन सबका ढाँचा एक ही है: यूज़र को चुनने के बाद मना करना। सही कस्टम समाधान भी आखिर में "यह स्लॉट भरा है, फिर से कोशिश करें" ही दिखाता है, जो स्लॉट को कभी पेश ही न करने से बुरा अनुभव है।
ओवरलैप का मतलब बराबरी नहीं
Duplicate rule लोगों को लुभाते हैं, इसलिए नियम यह है। दो बुकिंग तब टकराती हैं जब एक, दूसरी के खत्म होने से पहले शुरू हो और दूसरी के शुरू होने के बाद खत्म हो। 9:00 से 10:00 वाली और 9:30 से 10:30 वाली बुकिंग आधे घंटे के लिए ओवरलैप करती हैं, जबकि उनके किसी फ़ील्ड का मान एक जैसा नहीं होता। मानों के मिलान पर टिका कोई भी तरीका इसे हर बार चूक जाएगा।
टकराव और क्षमता अलग-अलग समस्याएँ हैं
इन्हें अक्सर एक ही चीज़ मान लिया जाता है।
टकराव
एक ही चीज़ रख सकने वाले संसाधन के लिए दो चीज़ों की होड़। एक रूम, एक इंटरव्यूअर, एक वाहन।
क्षमता
ऐसा संसाधन जो कई रख सकता है। सवाल यह है कि कितनी जगह बची है। बीस सीटों वाली क्लास, चार नर्सों की ज़रूरत वाली शिफ़्ट, साठ जगहों वाला डेस्क ज़ोन।
क्षमता वाले संसाधन को टकराव वाला संसाधन मानने का मतलब है कि आप दूसरे व्यक्ति को कभी बुक ही नहीं कर पाएँगे। टकराव वाले संसाधन को एक की क्षमता वाला मानना तकनीकी रूप से चल जाता है, पर वे गिनतियाँ खो जाती हैं जिन पर आप शायद रिपोर्ट बनाना चाहें।
तीन समझदार व्यवहार
"रोक दो" हमेशा सही नहीं होता। जब कोई बारह तारीखें चुनता है और उनमें से दो टकराती हैं, तो पूरा सबमिशन ठुकरा देना रूखा है। काम के सिस्टम विकल्प देते हैं:
Block
सहेजने से मना करें और टकराव बताएँ। तब सही, जब हर तारीख मायने रखती हो।
Skip
खाली दस सहेजें, बाकी दो की रिपोर्ट दें। कई तारीखें एक साथ चुनने पर आम तौर पर यही सबसे सहज डिफ़ॉल्ट है।
Allow
ओवरलैप जान-बूझकर होने दें। कुछ व्यवसाय सोच-समझकर ओवरबुक करते हैं।
असली समाधान पहले होता है
ऊपर का हर तरीका सहेजने के समय काम करता है। समाधान है जाँच को चुनने के समय पर ले आना: कैलेंडर लोड होते ही जो पहले से मौजूद है उसकी क्वेरी करें, उसे ग्रिड पर दिखाएँ, और जो स्लॉट जा चुका है उसे कभी पेश न करें। सहेजते समय की जाँच तब भी बैकअप के रूप में चलती है, उस असली होड़ वाली स्थिति के लिए जब दो लोग एक ही खाली स्लॉट देख रहे हों, पर वह बचाव की पहली दीवार नहीं रह जाती।
चुनने के समय ही डबल बुकिंग रोकें
लाइव डेमो में एक स्लॉट बुक करें और देखें कि भरे हुए समय ग्रिड से कैसे हट जाते हैं।
- $20/यूज़र/माह, हर फ़ीचर
- 30 दिन का फ़्री ट्रायल, कार्ड नहीं
- 100% नेटिव Salesforce
- कोई Apex नहीं
- जल्द ही Salesforce AppExchange पर