डिजिटल युग में, ऑनलाइन होटल बुकिंग सिस्टम यात्रा उद्योग की आधारशिला बन गए हैं। बुकिंग.कॉम, एक्सपीडिया, एयरबीबी और होटल चेन की अपनी वेबसाइटों जैसे प्लेटफॉर्म बिना किसी अड़चन के ग्राहक अनुभव प्रदान करने के लिए निरंतर, विश्वसनीय और स्केलेबल बुकिंग प्रक्रियाओं पर निर्भर हैं।
इस लेख में प्रस्तुत किया गया है व्यापक केस स्टडी एक के ऑनलाइन होटल बुकिंग सिस्टम, एक के उपयोग से मॉडल किया गया है UML अनुक्रम आरेख. हम एक ग्राहक के होटल के कमरे की खोज और बुकिंग के पूरे जीवनचक्र के मार्ग को चलेंगे — प्रारंभिक खोज से अंतिम पुष्टि तक — जिसमें शामिल हैं उपलब्धता जांच, भुगतान प्रसंस्करण, पुष्टि सूचनाएं, और त्रुटि संभालना.
इसे व्यावहारिक और तुरंत उपयोगी बनाने के लिए, हम प्रदान करते हैं पूरी तरह से सत्यापित, उत्पादन-तैयार PlantUML कोड स्निपेट जो एक साफ, मानक-अनुरूप आरेख उत्पन्न करता है। आप इसे किसी भी संगत उपकरण में तुरंत रेंडर कर सकते हैं — डिजाइन कौशल की आवश्यकता नहीं है।
एक ग्राहक होटल बुकिंग वेबसाइट या मोबाइल ऐप पर आता है और निम्नलिखित कार्य करता है:
दर्ज करता है चेक-इन/चेक-आउट तिथियां, गंतव्य (शहर/स्थान), मेहमानों की संख्या, और कमरे का प्रकार (उदाहरण के लिए, स्टैंडर्ड, डेलक्स)।
प्रणाली बहुत सारे होटलों के लिए उपलब्धता की जांच करती है उपलब्धता सेवा.
एक सूची लौटाता है उपलब्ध कमरे, शामिल करके फोटो, कीमतें, सुविधाएं, और रद्दीकरण नीतियां.
मेहमान एक कमरा चुनता है और दर्ज करता है मेहमान विवरण (नाम, ईमेल, संपर्क)।
वैकल्पिक रूप से लागू करता है प्रमो कोड.
प्रणाली प्रक्रिया करती है भुगतान पेमेंट गेटवे के माध्यम से.
सफलता पर:
डेटाबेस में कमरे का आरक्षण करता है।
भेजता है पुष्टि ईमेल/एसएमएस के माध्यम से नोटिफिकेशन सेवा.
प्रदर्शित करता है बुकिंग सफलता यूआई पर।
यदि कोई कमरे उपलब्ध नहीं हैं या भुगतान विफल होता है:
दिखाता है विकल्प सुझाव या त्रुटि संदेश.
पुनर्प्रयास या खोज सुधार की अनुमति देता है।
यह वास्तविक दुनिया के व्यवहार को दर्शाता है: गतिशील उपलब्धता, असमान समय संबंधी भुगतान, और विफलता के प्रति लचीलापन.
| अवधारणा | इस आरेख में भूमिका |
|---|---|
| जीवन रेखा | प्रत्येक सहभागी के लिए ऊर्ध्वाधर बिंदीत रेखाएँ (उदाहरण के लिए अतिथि, बुकिंग सेवा) |
समकालीन संदेश (->) |
सीधा कॉल (उदाहरण के लिए बीएस -> एएस: कमरे की जांच) |
असिंक्रोनस संदेश (-->) |
गैर-ब्लॉकिंग या प्रतिक्रिया (उदाहरण के लिए पीजी --> बीएस: सफलता) |
| एक्टिवेशन बार | सक्रिय प्रक्रिया दिखाने वाला पतला आयत (सक्रिय करें / अक्षम करें) |
| वैकल्पिक फ्रैगमेंट | शर्त: वैकल्पिक कमरे उपलब्ध हैं विरुद्ध विकल्प में कोई कमरा उपलब्ध नहीं है |
| वैकल्पिक फ्रैगमेंट | वैकल्पिक प्रवाह: वैकल्पिक प्रमोशन कोड लागू करें |
| लूप फ्रैगमेंट | यहाँ उपयोग नहीं किया गया है, लेकिन जोड़ा जा सकता है (उदाहरण के लिए, खोज को दोहराएं) |
क्रियाकलाप (अतिथि) |
क्रियाकलाप शुरू करने वाला बाहरी उपयोगकर्ता |
बाहरी सेवा (<<बाहरी>>) |
भुगतान गेटवे, सूचना सेवा |
| प्रतिक्रिया संदेश | परिणाम ले जाएं (उदाहरण के लिए :List<Room> उपलब्ध कमरे) |
| समय का प्रगति | ऊपर से नीचे — समय का तार्किक प्रवाह |
| भागीदार | भूमिका |
|---|---|
अतिथि |
बुकिंग शुरू करने वाला कार्यकर्ता |
वेब ऐप |
फ्रंटएंड यूआई (वेब/मोबाइल ऐप) इनपुट और प्रदर्शन का प्रबंधन करता है |
बुकिंग सेवा |
बुकिंग चक्र का प्रबंधन करने वाला मुख्य नियंत्रक |
उपलब्धता सेवा |
होटलों के बीच कमरे के भंडार की जांच करने वाली सेवा |
भुगतान गेटवे |
बाहरी भुगतान प्रोसेसर (<<बाहरी>>) |
सूचना सेवा |
पुष्टि ईमेल/एसएमएस भेजता है (<<बाहरी>>) |
डेटाबेस |
कमरे की उपलब्धता, बुकिंग और अतिथि डेटा संग्रहीत करता है (अप्रत्यक्ष) |
🔧 इस कोड को इसमें कॉपी-पेस्ट करें PlantUML लाइव या किसी भी संगत उपकरण (जैसे VS Code, विजुअल पैराडाइग्म, कॉनफ्लूएंस) में आरेख को तुरंत उत्पन्न करने के लिए।
@startuml
title ऑनलाइन होटल बुकिंग - कमरे की आरक्षण अनुक्रम आरेख
skinparam monochrome true
skinparam shadowing false
skinparam sequenceMessageAlign center
autonumber "<b>[0]"
actor मेहमान
participant "वेबएप्प" as App
participant "बुकिंग सेवा" as BS
participant "उपलब्धता सेवा" as AS
participant "भुगतान गेटवे" as PG <<external>>
participant "सूचना सेवा" as NS <<external>>
मेहमान -> App: कमरे खोजें (शहर, चेक-इन, चेक-आउट, मेहमान, प्रकार)
activate App
App -> BS: searchAvailability(criteria)
activate BS
BS -> AS: queryRooms(criteria)
activate AS
AS --> BS: availableRooms: List<Room>, prices
deactivate AS
alt कमरे उपलब्ध हैं
BS --> App: displayResults(कमरे, फोटो, दरें)
App --> मेहमान: कमरे के विकल्प और मूल्य दिखाएं
मेहमान -> App: कमरा चुनें और विवरण दर्ज करें (नाम, ईमेल, प्रमो?)
App -> BS: createReservation(selectedRoomId, guestDetails)
activate BS
opt प्रमो कोड लागू करें
BS -> BS: validatePromo(promoCode)
BS --> App: adjustedPrice
end
BS -> PG: processPayment(adjustedPrice, cardDetails)
activate PG
alt भुगतान सफल हुआ
PG --> BS: सफलता, transactionId
BS -> AS: reserveRoom(roomId, dates, guestId)
activate AS
AS --> BS: reservationConfirmed, bookingId
deactivate AS
BS -> NS: sendConfirmation(bookingId, details)
activate NS
NS --> BS: भेजा गया
deactivate NS
BS --> App: bookingSuccess(bookingId, details)
App --> मेहमान: पुष्टि पृष्ठ + विवरण दिखाएं
else भुगतान असफल हुआ
PG --> BS: असफलता, errorCode
BS --> App: paymentError("भुगतान अस्वीकृत। फिर से कोशिश करें?")
App --> मेहमान: त्रुटि दिखाएं और पुनरावृत्ति फॉर्म दिखाएं
end
deactivate PG
else कोई कमरा उपलब्ध नहीं है
BS --> App: noAvailability("कोई कमरा मानदंड के अनुरूप नहीं है। अलग तारीखों की कोशिश करें?")
App --> मेहमान: विकल्प दिखाएं या पास के होटल का सुझाव दें
end
deactivate BS
deactivate App
@enduml
✅ कोई अमान्य रिटर्न कथन — सभी फ्लो में उपयोग किया जाता है ब्रेक, डिएक्टिवेट, और सही नेस्टिंग।
✅ सभी एक्टिवेट/डिएक्टिवेट जोड़े सही तरीके से बंद हैं।
✅ अल्ट और ऑप्ट फ्रैगमेंट्स सही तरीके से नेस्टेड और समाप्त हैं।
✅ <<बाहरी>> स्टेरियोटाइप्स स्पष्टता के लिए उपयोग किया जाता है।
✅ लौटाएँ संदेश सही ढंग से फॉर्मेट किए गए हैं (उदाहरण के लिए :List<Room> उपलब्ध कमरे).
✅ समय ऊपर से नीचे की ओर बहता है — मानक UML प्रथा.
✅ अभी इसका परीक्षण करें: इसे चिपकाएँ https://www.plantuml.com/plantuml → क्लिक करें “उत्पन्न करें” → तुरंत पूरे प्रवाह को रेंडर देखें।
जाएँ PlantUML लाइव
कोड चिपकाएँ → क्लिक करें “उत्पन्न करें”
✅ जीवन रेखाओं, संदेशों और सक्रियता बार के साथ तत्काल दृश्य अनुक्रम आरेख
💡 प्रो टिप: जोड़ें
स्किनपैरामेटर बैकग्राउंड कलर #F8F8F8एक साफ सफेद पृष्ठभूमि के लिए।
खोलें विजुअल पैराडाइम डेस्कटॉप या वीपी ऑनलाइन
एक नया बनाएं अनुक्रम आरेख
उपयोग करें उपकरण > आयात > प्लांटयूएमएल → कोड पेस्ट करें
सही संरचना, जीवन रेखाएँ और सक्रियता बार के साथ स्वचालित रूप से उत्पन्न करता है
उपयोग करें चैट.विजुअल-पैराडाइम.com प्रॉम्प्ट करने के लिए:
“इस होटल बुकिंग अनुक्रम को परतदार संरचना में पुनर्गठित करें: UI (वेबएप्प), कंट्रोलर (बुकिंगकंट्रोलर), सेवाएँ (उपलब्धता सेवा, भुगतान सेवा, सूचना सेवा), रिपॉजिटरी (कमरा रिपॉजिटरी) को अलग करें। इनपुट सत्यापन, त्रुटि संभालने और लॉगिंग जोड़ें।”
वीपी एआई करेगा:
विभाजित करें बुकिंग सेवा में बुकिंग कंट्रोलर, रिजर्वेशन सेवा, भुगतान सेवा
जोड़ें गेस्टइनपुट की जांच करें(), गणना करें कर(), रिजर्वेशन लॉग करें()
जोड़ें <<सेवा>>, <<बाहरी>>, <<गोपनीय भंडार>> स्टेरियोटाइप्स
सुधारें वैकल्पिक/वैकल्पिक विस्तृत त्रुटि मामलों के साथ
लॉग इन करें online.visual-paradigm.com
खोलें OpenDocs → एक नई पृष्ठ बनाएं: “होटल बुकिंग सिस्टम – रिजर्वेशन फ्लो विनिर्देश”
आरेख को इसके माध्यम से सम्मिलित करें AI उत्पादन या PlantUML आयात करें
जोड़ें:
पूर्वशर्तें: “मेहमान को लॉग इन किया गया हो या मेहमान चेकआउट की अनुमति हो”
पोस्ट-शर्तें: “कमरा आरक्षित, भुगतान कैप्चर किया गया, पुष्टि भेजी गई”
अपवाद: “कोई कमरा उपलब्ध नहीं”, “भुगतान समय सीमा पार”, “अमान्य अतिथि डेटा”
लिंक: उपयोग केस आरेख (“होटल कमरा बुक करें”), क्लास आरेख, राज्य मशीन
| लाभ | व्याख्या |
|---|---|
| त्वरित प्रोटोटाइपिंग | PlantUML के साथ सेकंड में UML लिखें |
| AI-संचालित सुधार | परतदार/माइक्रोसर्विस आर्किटेक्चर में पुनर्गठित करें |
| वर्जन नियंत्रण के अनुकूल | कोड को Git में स्टोर करें — कोई बाइनरी फाइलें नहीं |
| स्केलेबल | लॉयल्टी पॉइंट्स, मल्टी-नाइट स्टे, चेक-इन/आउट के साथ विस्तारित करें |
| क्रॉस-टूल संगत | VS Code, Confluence, GitHub आदि में काम करता है |
आगे बढ़ना चाहते हैं? यहां कुछ सामान्य विस्तार हैं:
BS -> BS: validateGuestInput(नाम, ईमेल, फोन)
BS --> App: मान्य? सही/गलत
BS -> BS: calculateTotalPrice(रातें, आधार दर, कर)
BS --> App: कुल राशि
अतिथि -> App: cancelBooking(बुकिंग_आईडी)
App -> BS: cancelReservation(बुकिंग_आईडी)
BS -> PG: refund(लेनदेन_आईडी)
activate PG
PG --> BS: रीफंड प्रोसेस्ड
मुझे बताएं अगर आप इन विकल्पों को पूर्ण PlantUML कोड के रूप में चाहते हैं!
होटल बुकिंग प्रक्रिया केवल आरक्षण के बारे में नहीं है — यह उपलब्धता, विश्वास, भुगतान सुरक्षा, और उपयोगकर्ता अनुभव. इसे से मॉडलिंग करकेUML अनुक्रम आरेख और लाभ उठाकर PlantUML + Visual Paradigm जैसे एआई उपकरण, टीमें कर सकती हैं:
स्पष्टता और निपुणता के साथ डिज़ाइन करें
जल्दी ही किनारे के मामलों को पकड़ें (उदाहरण के लिए, उपलब्धता नहीं, भुगतान विफलता)
उत्पाद, इंजीनियरिंग और QA के बीच सहयोग करें
ऑडिट, ओनबोर्डिंग और प्रशिक्षण के लिए प्रवाह को दस्तावेज़ीकृत करें
✅ अभी शुरू करें: ऊपर दिए गए PlantUML कोड को पेस्ट करेंPlantUML लाइव और अपने होटल बुकिंग प्रवाह को सेकंडों में जीवंत देखें।
उपयोग करें ऑटोनंबर ट्रेसेबिलिटी के लिए।
जोड़ें हाइड फूटबॉक्स फुटर पाठ को हटाने के लिए।
रंग कस्टमाइज़ करें: स्किनपैरामीटर अनुक्रम संदेश पृष्ठभूमि रंग #E0F7FA
रिपोर्ट या प्रस्तुतियों के लिए PNG/SVG/PDF के रूप में निर्यात करें।
📬 मदद की आवश्यकता है?
किसी संस्करण के साथ चाहते हैं वर्ग आरेख, अवस्था मशीनें, या Spring Boot/Node.js बैकएंड के साथ एकीकरण?
बस पूछें — मैं आपके लिए पूरा आर्किटेक्चर मॉडल जनरेट करूँगा।
✨ सटीकता के साथ मॉडल बनाएं। आत्मविश्वास के साथ बनाएं। विश्वास के साथ डिलीवर करें।
UML अनुक्रम आरेख और एआई समर्थन