बुकिंग ऐप कैसे बनाएँ: स्लॉट, उपलब्धता, रिमाइंडर और डिपॉज़िट
बुकिंग ऐप बनाने के लिए चार चीज़ें एक साथ काम करनी चाहिए: बुक की जा सकने वाली चीज़ों की सूची (सेवाएँ, कमरे, स्टाफ़), हर एक कब उपलब्ध है इसके नियम, एक बुकिंग प्रवाह जो केवल सचमुच खाली स्लॉट दिखाए, और एक निजी दृश्य जहाँ व्यवसाय आई हुई बुकिंग संभाले। एक AI ऐप बिल्डर कुछ मिनटों में छोटे विवरण से पहला काम करने वाला संस्करण बना सकता है; असली काम नियम तय करना है: स्लॉट की लंबाई, बफ़र, रद्दीकरण, टाइम ज़ोन, और यह जाँचना कि डबल बुकिंग असंभव है।
शुरू में तय करें कि आपके लिए “बुकिंग” क्या है
बुकिंग ऐप ऊपर से एक जैसे दिखते हैं, पर अंदर से बहुत अलग होते हैं। पहले ये सवाल तय करें:
- क्या बुक होता है? कोई सेवा (बाल कटवाना), कोई व्यक्ति (ट्यूटर), कोई संसाधन (मीटिंग रूम, कोर्ट, वैन), या किसी सत्र में एक जगह (12 सीटों वाली योग क्लास)।
- इसमें कितना समय लगता है? हर सेवा के लिए तय, या ग्राहक खुद चुनता है?
- यह कौन देता है? एक व्यक्ति, अपने समय वाले कई स्टाफ़, या कोई नहीं (एक कमरा)?
- बुकिंग के बाद क्या होता है? तुरंत पुष्टि, या मालिक की मंज़ूरी वाला अनुरोध?
- क्या पैसा शामिल है? मुफ़्त, मौके पर भुगतान, पहले से डिपॉज़िट, या पूरा अग्रिम भुगतान?
“समय माँगें, मालिक ईमेल से पुष्टि करेगा” बनाना “तीन स्टाफ़ कैलेंडर और डिपॉज़िट के साथ तुरंत बुकिंग” से कहीं सरल है। दोनों सही हैं; पहले संस्करण के लिए वह चुनें जिसकी आपको सचमुच ज़रूरत है।
ऐप को क्या चाहिए
डेटा
| टेबल | मुख्य फ़ील्ड |
|---|---|
| सेवाएँ | नाम, अवधि, कीमत, बाद का बफ़र, सक्रिय हाँ/नहीं |
| स्टाफ़ या संसाधन | नाम, कौन सी सेवाएँ देते हैं |
| उपलब्धता | हर स्टाफ़ के साप्ताहिक काम के घंटे, साथ ही अपवाद (छुट्टियाँ, एक बार की बंदी) |
| बुकिंग | सेवा, स्टाफ़, शुरू का समय, अंत का समय, ग्राहक का विवरण, स्टेटस (लंबित, पुष्ट, रद्द), भुगतान स्टेटस |
| ग्राहक | नाम, ईमेल, फ़ोन, नोट्स — शुरू में वैकल्पिक; बुकिंग के भीतर भी रह सकते हैं |
हर बुकिंग पर अंत का समय भी सहेजें, सिर्फ़ शुरू का नहीं। इससे ओवरलैप की जाँच बहुत आसान हो जाती है।
पेज
- सार्वजनिक: सेवाओं की सूची, स्लॉट चुनने वाला, बुकिंग फ़ॉर्म, पुष्टि पेज, और रद्द या पुनर्निर्धारण का लिंक।
- निजी (मालिक या स्टाफ़): आज का शेड्यूल, आने वाली बुकिंग, समय ब्लॉक करने का तरीका, और सेवाओं व घंटों की सेटिंग्स।
अनुमतियाँ
ग्राहक केवल खाली या व्यस्त स्लॉट देखें — कभी दूसरे ग्राहकों के नाम नहीं। स्टाफ़ शायद केवल अपना शेड्यूल देखे; मालिक सब कुछ। इसे लिखकर रखें, क्योंकि यही तय करता है कि आपको लॉगिन और भूमिकाएँ चाहिए या नहीं। विकल्पों के लिए हमारी अपने ऐप में लॉगिन कैसे जोड़ें गाइड देखें।
कठिन हिस्से, और उन्हें कैसे संभालें
डबल बुकिंग
क्लासिक बग: दो लोग पेज खोलते हैं, दोनों को 10:00 खाली दिखता है, और दोनों उसे बुक कर लेते हैं। इसका हल यह है कि बुकिंग सेव होते समय सर्वर पर दोबारा जाँच करें, और अगर अब कुछ ओवरलैप करता है तो उसे अस्वीकार करें। यह साफ़ माँगें:
बुकिंग सेव करते समय सर्वर पर दोबारा जाँचो कि उसी स्टाफ़ के लिए कोई पुष्ट या लंबित बुकिंग अनुरोधित समय से ओवरलैप नहीं करती (बफ़र सहित)। अगर करती है, तो बुकिंग अस्वीकार करो और दिखाओ “वह समय अभी-अभी भर गया — कृपया दूसरा समय चुनें।”
फिर इसे दो ब्राउज़र विंडो से जाँचें।
टाइम ज़ोन
हर समय UTC में सहेजें और दिखाने के लिए बदलें। तय करें कि बुकिंग पेज किसका टाइम ज़ोन दिखाए — आमतौर पर व्यक्तिगत सेवाओं के लिए व्यवसाय का, और ऑनलाइन कॉल के लिए ग्राहक का — और उसे पेज पर लिखें। डेलाइट सेविंग बदलाव के आसपास की बुकिंग भी जाँचें।
बफ़र, सूचना और सीमाएँ
पहले से तय करने लायक आम नियम: अपॉइंटमेंट के बीच बफ़र, न्यूनतम सूचना (“2 घंटे से कम पहले की बुकिंग नहीं”), लोग कितना आगे तक बुक कर सकते हैं, और प्रतिदिन की सीमा। इनमें से हर एक प्रॉम्प्ट का एक वाक्य है; इन्हें छोड़ने का मतलब है कि AI आपके लिए डिफ़ॉल्ट चुन लेगा।
रद्दीकरण और नो-शो
हर पुष्टि के साथ एक रद्द लिंक दें जिसमें एक अनोखा टोकन हो, ताकि ग्राहक को खाते की ज़रूरत न पड़े। रद्दीकरण की अवधि और यह तय करें कि डिपॉज़िट वापस होंगे या नहीं, और भुगतान से पहले यह नीति दिखाएँ।
रिमाइंडर
रिमाइंडर ईमेल या SMS को ऐसी चीज़ चाहिए जो शेड्यूल पर चले (“हर 15 मिनट में, 24 घंटे में शुरू होने वाली बुकिंग के लिए रिमाइंडर भेजो”)। जाँचें कि आपका बिल्डर और होस्टिंग शेड्यूल्ड जॉब कैसे संभालते हैं। अगर वे नहीं संभालते, तो कोई बाहरी शेड्यूलर इस्तेमाल करें जो आपके ऐप के एंडपॉइंट को कॉल करे, या पुष्टि ईमेल के साथ कैलेंडर इनवाइट जोड़ें ताकि ग्राहक का अपना कैलेंडर उसे याद दिलाए। प्रोवाइडर वाले हिस्से के लिए अपने ऐप से ईमेल कैसे भेजें देखें।
डिपॉज़िट और भुगतान
Stripe के साथ आम पैटर्न:
- ग्राहक एक स्लॉट चुनता है; ऐप एक लंबित बुकिंग बनाता है जो कुछ समय (जैसे 15 मिनट) के लिए स्लॉट रोक कर रखती है।
- ऐप उसे डिपॉज़िट के लिए Stripe Checkout पर भेजता है।
- भुगतान सफल होने पर Stripe एक webhook से आपके ऐप को सूचित करता है; बुकिंग पुष्ट हो जाती है।
- अगर समय पर भुगतान नहीं होता, तो लंबित बुकिंग समाप्त हो जाती है और स्लॉट फिर खाली हो जाता है।
Stripe का मानक शुल्क हर सफल कार्ड भुगतान पर एक प्रतिशत और एक निश्चित राशि है, बिना मासिक शुल्क के (सितंबर 2026 तक)। दरें देश के अनुसार अलग हैं, इसलिए अपने देश के लिए Stripe का मूल्य निर्धारण पेज देखें। सब कुछ काम करने तक टेस्ट मोड और टेस्ट कार्ड इस्तेमाल करें। भुगतान जोड़ने का चरण-दर-चरण तरीका हमारी अपने ऐप में भुगतान कैसे जोड़ें गाइड में है।
एक काम करने वाला पहला प्रॉम्प्ट
Northside Barbers के लिए एक बुकिंग ऐप बनाओ। सेवाएँ: Haircut (30 मिनट, $25), Beard trim (15 मिनट, $12), Haircut + beard (45 मिनट, $32)। दो बार्बर, Sam और Ali, दोनों मंगलवार–शनिवार 9:00–18:00 काम करते हैं। ग्राहक एक सेवा चुनता है, फिर एक बार्बर या “कोई भी बार्बर”, फिर अगले 14 दिनों के केवल खाली 15-मिनट वाले शुरुआती समय देखता है, और नाम, फ़ोन और ईमेल भरता है। बुकिंग एक डेटाबेस में सहेजो, हर अपॉइंटमेंट के बाद 10 मिनट का बफ़र रखो, और डबल बुकिंग रोकने के लिए सेव करते समय उपलब्धता दोबारा जाँचो। पुष्टि पेज पर एक रद्द लिंक दिखाओ। मालिक के पास एक निजी पेज हो जिसमें आज और आने वाली बुकिंग दिखें, वह बुकिंग रद्द कर सके और समय ब्लॉक कर सके। समय दुकान के स्थानीय टाइम ज़ोन में हो। साफ़, मोबाइल-पहले डिज़ाइन।
इसमें सेवाएँ, स्टाफ़, घंटे, नियम और मालिक का दृश्य सब कुछ नाम से है — वह सब जो AI अन्यथा अनुमान लगाता।
बनाने के चरण
- पहले मुख्य बुकिंग प्रवाह। सेवाएँ → स्लॉट → फ़ॉर्म → सहेजी गई बुकिंग → पुष्टि। जब तक यह फ़ोन पर ठीक से न चले, कुछ और नहीं।
- मालिक का दृश्य। आज की सूची, आने वाली सूची, रद्द करना, समय ब्लॉक करना।
- मालिक के पेज सुरक्षित करें। असली डेटा डालने से पहले लॉगिन जोड़ें।
- नियम। बफ़र, सूचना अवधि, बुकिंग की सीमा, छुट्टियाँ।
- ईमेल। कैलेंडर इनवाइट और रद्द लिंक के साथ पुष्टि।
- डिपॉज़िट, अगर चाहिए, पहले Stripe के टेस्ट मोड में।
- किनारे के मामले जाँचें। दो विंडो से एक ही स्लॉट बुक करना, आधी रात के पार की बुकिंग, डेलाइट सेविंग की तारीख, और रद्द बुकिंग से स्लॉट का खाली होना।
- प्रकाशित करें, और साझा करने से पहले खुद एक असली बुकिंग करें।
आम गलतियाँ
- उपलब्धता केवल ब्राउज़र में जाँचना। यह सही दिखता है और फिर भी डबल बुकिंग हो जाती है।
- बिना टाइम ज़ोन के स्थानीय समय सहेजना। यह तब तक चलता है जब तक घड़ियाँ नहीं बदलतीं।
- सार्वजनिक कैलेंडर में ग्राहकों के नाम दिखाना। केवल खाली या व्यस्त दिखाएँ।
- पहले दिन ही स्टाफ़ शेड्यूलिंग, लॉयल्टी पॉइंट और SMS बनाना। मुख्य प्रवाह लॉन्च करें, फिर वह जोड़ें जो ग्राहक सचमुच माँगते हैं।
- मालिक के लिए समय ब्लॉक करने का तरीका न होना। पहला बीमारी वाला दिन नो-शो पैदा करेगा।
कब Calendly (या ऐसा कोई टूल) बेहतर विकल्प है
अगर आप अकेले व्यक्ति हैं और कॉल के लिए अपनी उपलब्धता साझा करते हैं, तो शेड्यूलिंग टूल को हराना मुश्किल है। सितंबर 2026 तक, Calendly के मुफ़्त प्लान में एक इवेंट टाइप, एक कैलेंडर कनेक्शन और एक-पर-एक शेड्यूलिंग के साथ अनुकूलन योग्य बुकिंग पेज है, और पेड प्लान और इवेंट टाइप व टीम सुविधाएँ जोड़ते हैं। ऐसे टूल आपके मौजूदा कैलेंडर से सीधे जुड़ जाते हैं, जबकि कस्टम ऐप को यह करने के लिए बनाना पड़ता है।
अपना ऐप तब बनाएँ जब आपको ऐसे नियम चाहिए जो वे टूल सपोर्ट नहीं करते, कई बुक होने योग्य संसाधन, हर जगह अपनी ब्रांडिंग, ऐसी बुकिंग जो दूसरे डेटा (ग्राहक, ऑर्डर, सदस्यताएँ) से जुड़ी हों, या आप किसी और को बेचने के लिए बुकिंग प्रोडक्ट बना रहे हैं।
Mythex के साथ बनाना
Mythex पर आप बुकिंग ऐप को चैट में बताते हैं, वह लाइव प्रीव्यू में बनता है, और जब बुकिंग सहेजनी हो तो एक Postgres डेटाबेस जोड़ता है। Mythex के बुकिंग पेज उपयोग-केस में सुझाव है कि एक अनुरोध फ़ॉर्म और एडमिन सूची से शुरू करें, फिर बाकी जोड़ें। साफ़ रहें कि क्या अंतर्निहित है और क्या आप खुद जोड़ते हैं: Mythex में कैलेंडर सिंक, SMS रिमाइंडर या डिपॉज़िट प्रोडक्ट इनबिल्ट नहीं हैं। ईमेल आपके अपने प्रोवाइडर से जाता है, डिपॉज़िट आपकी अपनी Stripe कीज़ से होते हैं जो प्रोजेक्ट सीक्रेट्स के रूप में सहेजी जाती हैं (Stripe रेसिपी), और डबल-बुकिंग व टाइम-ज़ोन के नियम वे हैं जो आप ऊपर बताए अनुसार निर्दिष्ट और परखते हैं।
/test कमांड एजेंट को प्रीव्यू में बुकिंग प्रवाह पर क्लिक करवाता है और बताता है कि क्या टूटता है। शुरुआती प्रॉम्प्ट के लिए बार्बरशॉप बुकिंग वेबसाइट या मीटिंग बुकर टेम्पलेट आज़माएँ, या सभी ऐप टेम्पलेट देखें।
सवाल
बुकिंग ऐप में कौन सी सुविधाएँ होनी चाहिए?
कम से कम: अवधि के साथ सेवाओं की सूची, केवल खाली टाइम स्लॉट दिखाने का तरीका, एक बुकिंग फ़ॉर्म, पुष्टि, और एक निजी पेज जहाँ व्यवसाय बुकिंग देखे और प्रबंधित करे। रिमाइंडर, डिपॉज़िट और स्टाफ़ कैलेंडर बाद में आते हैं।
डबल बुकिंग कैसे रोकूँ?
बुकिंग सेव होते समय सर्वर पर उपलब्धता दोबारा जाँचें, सिर्फ़ पेज लोड होते समय नहीं, और अगर इस बीच स्लॉट भर गया हो तो बुकिंग अस्वीकार करें। इसे जाँचने के लिए दो अलग ब्राउज़र विंडो से एक ही स्लॉट बुक करने की कोशिश करें।
क्या कस्टम बुकिंग ऐप डिपॉज़िट ले सकता है?
हाँ। आम तरीका यह है कि ग्राहक को डिपॉज़िट के लिए Stripe Checkout पेज पर भेजा जाए, और भुगतान सफल होने पर ही बुकिंग की पुष्टि हो। इसके लिए आपका अपना Stripe खाता और कीज़ चाहिए।
बुकिंग ऐप बनाऊँ या Calendly इस्तेमाल करूँ?
अगर एक व्यक्ति को सिर्फ़ अपनी उपलब्धता साझा करनी है और प्रवाह में कुछ अनोखा नहीं है, तो Calendly जैसा शेड्यूलिंग टूल तेज़ और चलाने में सस्ता है। अपना ऐप तब बनाएँ जब आपको अपने नियम, कई संसाधन, हर जगह अपनी ब्रांडिंग, या ऐसी बुकिंग चाहिए जो आपके रखे दूसरे डेटा से जुड़ी हों।