User Stories

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

 

💬