Espiritu Santo Tourism Management System
The Travel Planner Enquiry System is intended to manages travel planning requests for Espiritu Santo, Vanuatu Tourism operators. It captures customer travel preferences, automatically notifies relevant vendors, and provides a centralized interface for tracking and managing booking enquiries. The system is a precursor requirement of Solomon Airlines for Tourism associated operator members to access group rates for direct bookings. This requirements specification has been produce by Klaas Sybranda who owns the URL gotosanto.com
The system encompasses:
For detailed functional requirements including booking submission, vendor notifications, and administrative interface specifications, please refer to the full requirements document sections 2.1 through 2.3.
REQ-NF-001: The booking form submission SHALL complete within 3 seconds (excluding email delivery).
REQ-NF-002: The booking list view SHALL load within 2 seconds for up to 100 bookings.
REQ-NF-003: Email notifications SHALL be sent asynchronously without blocking the user experience.
REQ-NF-009: All database operations SHALL be protected by Row Level Security (RLS) policies.
REQ-NF-010: Anonymous users SHALL be able to INSERT bookings but not SELECT, UPDATE, or DELETE.
REQ-NF-011: Authenticated users SHALL be able to view all booking enquiries and vendor notifications.
REQ-NF-013: Customer contact information SHALL be transmitted securely over HTTPS.
REQ-NF-014: The booking form SHALL be responsive and accessible on mobile devices, tablets, and desktop computers.
REQ-NF-018: Vendor information SHALL be managed via external configuration file to allow updates without code deployment.
Capabilities:
Restrictions:
Capabilities:
Capabilities:
Identification:
role = 'admin'
in the profiles tableBR-001: All bookings initially receive status "pending".
BR-002: A booking reference ID is automatically generated using UUID for unique identification.
BR-003: Guest bookings (submitted by unauthenticated users) have NULL user_id.
BR-006: Vendors are only notified for categories relevant to the booking requirements.
BR-007: A vendor appearing in multiple relevant categories receives only one notification.
BR-008: Vendor notifications are sent via EmailJS service.
BR-011: All bookings with preferred_date >= current date are considered "future bookings".
BR-014: Dates are stored in ISO 8601 format (YYYY-MM-DD).
BR-015: Valid status values are: pending, confirmed, cancelled.
BR-016: Status transitions allowed:
REQ-INT-001: The system SHALL integrate with EmailJS for email delivery.
REQ-INT-002: The following environment variables SHALL be configured:
REQ-INT-004: Vendor data SHALL be retrieved from: http://gotosanto.com/vendors.json
REQ-INT-007: The system SHALL use Supabase as the primary database.
REQ-UI-001: The form SHALL be presented in a card-style layout with rounded corners and shadow.
REQ-UI-003: The form SHALL use a two-column grid on desktop, collapsing to single column on mobile.
REQ-UI-015: Primary brand color SHALL be teal (#0D9488 and variants).
REQ-UI-017: Status indicators SHALL use semantic colors:
REQ-UI-036: The system SHALL be fully responsive across device sizes:
REQ-PR-001: Booking data SHALL be retained indefinitely for historical record-keeping.
REQ-PR-002: Customer contact information SHALL be stored securely in the database.
REQ-PR-006: The system SHALL display appropriate privacy notices to users submitting bookings.
REQ-PR-007: Users SHALL be informed that their information will be shared with relevant vendors.
REQ-ERR-001: Form validation errors SHALL be displayed inline near the relevant field.
REQ-ERR-002: Submission errors SHALL display an alert with actionable message.
REQ-ERR-005: Email delivery failures SHALL be logged but not prevent booking creation.
REQ-TEST-001: All form validation rules SHALL be tested with valid and invalid inputs.
REQ-TEST-002: Booking submission SHALL be tested with and without authentication.
REQ-TEST-005: Email notification system SHALL be tested with EmailJS service.
REQ-TEST-006: Database operations SHALL be tested against Supabase.
REQ-DEP-001: All environment variables SHALL be properly configured before deployment.
REQ-DEP-002: The vendors.json file SHALL be deployed to the production URL.
REQ-DEP-004: Email delivery success/failure rates SHALL be monitored.
The following features are identified for potential future implementation: