1 Month
Travel ServicesCar Rental & Booking

Sunset Tours & Cab Service

A responsive car-rental and travel enquiry platform with server-side booking notifications.

My Role:Full-Stack Software Engineer
Industry:Travel & Transportation
See Project in Action
Technologies:Next.js 16React 19TypeScriptRoute HandlersFramer MotionReact ToastifyWhapi Cloudnext/imageJSON-LD
The Problem & Market Challenge

Turning Fragmented Travel Enquiries Into a Clear Booking Workflow

Travel customers need to compare vehicle options, understand available services, and submit route-specific requests without relying entirely on unstructured phone or messaging conversations. Sunset Tours brings service discovery, fleet browsing, contact details, and validated booking enquiries into one responsive experience while keeping availability and pricing expectations accurate.

01

Presenting rental services, vehicle categories, route details, and quote requirements in one easy-to-scan experience.

02

Collecting service type, pickup city, drop-off city, phone number, vehicle preference, and date in a structured request.

03

Delivering booking notifications to WhatsApp without exposing the Whapi credential in browser code.

04

Communicating uncertain availability and variable pricing honestly instead of promising an instant reservation.

The Engineering Solution

A Content-Led Frontend Connected to Validated Server Workflows

The project uses Next.js App Router architecture. Server-rendered pages provide public marketing, service, fleet, rate, contact, and policy experiences, while focused client components handle fleet filters, booking forms, contact forms, modal requests, and toast feedback. Booking requests are submitted to a server-side API, normalized, validated, rate-limited, assigned a reference, and delivered through the protected Whapi Cloud integration.

Verified Architectural Decisions & Highlights

  • Next.js Route Handlers keep booking validation, rate limiting, idempotency checks, and Whapi communication behind the server boundary.
  • Booking input is normalized and validated against known services and vehicles, with phone, email, and date checks before delivery.
  • The webhook uses a configurable shared secret, normalized event parsing, fast acknowledgements, and duplicate-event protection.
  • Server-only credentials, bounded request limits, retry states, and explicit quote-required messaging keep the workflow safer and more honest.
Core Features & Capabilities

Designed for Clear Travel Discovery and Reliable Enquiries

Service and Fleet Discovery

Visitors can explore self-drive rental, chauffeur service, airport transfers, wedding cars, tours, vehicle imagery, and quote-required pricing states.

Structured Booking Requests

Homepage and vehicle-context forms collect route, date, service, vehicle, and contact details through one consistent workflow.

Protected WhatsApp Delivery

Validated booking requests are formatted into actionable messages and delivered through Whapi Cloud without exposing credentials.

Contact, Policy, and Trust Content

Dedicated contact, privacy, terms, cancellation, and data-retention experiences help visitors understand the service before submitting details.

Measurable Impact & Results

A More Consistent Booking Enquiry Experience

No verified numeric business, revenue, traffic, conversion, performance, user, or production metrics are available. These outcomes describe capabilities supported by the implementation.

ValidatedBooking WorkflowOne API contract normalizes requests and returns a reference after WhatsApp delivery succeeds.
FilteredFleet DiscoveryVisitors can filter the displayed fleet and request details from vehicle context.
QuoteClear ExpectationsAvailability and final rates are presented as confirmation-dependent rather than guaranteed.
ProtectedCommunicationProvider credentials remain server-side and webhook callbacks can reject duplicate events.

Engineering Insights & Key Takeaways

  • • Separate general contact enquiries from booking requests so each workflow can validate and communicate its own business intent.
  • • Keep external messaging credentials and provider-specific error handling behind a server-only integration boundary.
  • • Use allow-listed business data and explicit uncertainty states when inventory, availability, or pricing cannot be guaranteed.
  • • Treat idempotency and rate limiting as workflow requirements while documenting the limitations of in-memory fallbacks before production deployment.

Experience the Project Live

Explore the travel services, fleet discovery, and booking enquiry experience

Have a project or system you would like to build?

Let's collaborate on designing high-performance applications, AI architectures, and scalable web solutions.

Schedule a Consultation