These use cases are based upon the UML Use Case Diagram and written use case for tour reservation request system.
Epic
Tour Reservation and Booking System
User Stories – Buyer/Customer Features
Tour Discovery & Selection
US-001: As a buyer, I want to browse tours by county so that I can find tours in my desired location.
US-002: As a buyer, I want to view detailed tour information so that I can learn about what the tour includes before booking.
US-003: As a buyer, I want to see a “Book Now Online” button on tour pages so that I can easily start the reservation process.
Booking Process
US-004: As a buyer, I want to select the number of guests for my tour so that I can book for my entire group.
US-005: As a buyer, I want to choose my preferred tour date and time so that I can book when it’s convenient for me.
US-006: As a buyer, I want to add a tour to my shopping cart so that I can review my selection before committing.
US-007: As a buyer, I want to review my cart contents so that I can verify my tour details and pricing before checkout.
US-008: As a buyer, I want to proceed to checkout from my cart so that I can complete my reservation.
Payment & Checkout
US-009: As a buyer, I want to enter my billing details during checkout so that the system has my contact and payment information.
US-010: As a buyer, I want to pay by credit card so that I can complete my reservation immediately.
US-011: As a buyer, I want to pay by cash so that I have flexible payment options.
US-012: As a buyer, I want to pay by check so that I have flexible payment options.
US-013: As a buyer, I want to abandon my transaction at any time so that I’m not forced to complete a purchase I no longer want.
Confirmation & Communication
US-014: As a buyer, I want to see my reservation details on screen after booking so that I have immediate confirmation of my purchase.
US-015: As a buyer, I want to receive a confirmation email after booking so that I have a record of my reservation for future reference.
Error Handling
US-016: As a buyer, I want to be notified if my credit card information is invalid so that I can correct it and complete my purchase.
US-017: As a buyer, I want to be notified if my credit card is declined so that I can use an alternative payment method.
US-018: As a buyer, I want to be warned if I enter an invalid email address so that I can ensure I receive my confirmation email.
User Stories – Tour Operator Features
US-019: As a tour operator, I want to receive an email notification when a reservation is made so that I can prepare for upcoming tours.
US-020: As a tour operator, I want to see customer billing details in reservation notifications so that I know who booked and can contact them if needed.
US-021: As a tour operator, I want to see which payment method was selected so that I know whether to expect cash/check payment or if it’s already processed.
User Stories – System/Technical Features
US-022: As a system, I want to integrate with Stripe payment processor so that I can securely process credit card transactions.
US-023: As a system, I want to verify credit cards with Stripe so that only valid payments are accepted.
US-024: As a system, I want to store Stripe transaction confirmation codes so that I have proof of payment for financial records.
US-025: As a system, I want to store reservation request information so that bookings are permanently recorded in the database.
US-026: As a system, I want to send automated emails to customers and operators so that all parties are informed of reservations.
US-027: As a system, I want to handle Stripe service outages gracefully so that users receive appropriate error messages when payment processing is unavailable.
US-028: As a system, I want to handle email service outages gracefully so that reservations can still be completed even if confirmation emails fail.
Acceptance Criteria Examples
For US-010 (Pay by credit card):
- Given a buyer is on the checkout page
- When they select “Credit Card” as payment method and enter valid card details
- Then the system should contact Stripe to process the payment
- And display a confirmation message if successful
- And store the transaction codes
- And complete the reservation
For US-019 (Tour operator notification):
- Given a buyer has completed a reservation
- When the reservation is stored in the system
- Then an email notification should be sent to the tour operator
- And the email should include buyer details, tour date/time, number of guests, and payment method