Lal Chand
HomeAboutProjectsCase StudiesBlogWork with meContact

Lal Chand

I build AI automation and custom business systems.

Full-stack engineer and founder of Codic Systems. Islamabad, Pakistan.

info@codicsystems.comlalchand.professional@gmail.com+92 310 6846514

Quick Links

HomeAboutExperienceProjectsCase StudiesBlogWork with meContact

Social

UpworkCodic on GitHub

© 2026 Lal Chand. Client work is delivered through Codic Systems (SMC-Private) Limited.

Legal

Privacy PolicyTerms of Service

Case studies · Last updated 10 October 2026

travel-whatsapp-booking-bot: an open-source WhatsApp enquiry workflow

An open-source n8n workflow from Codic Systems that reads inbound WhatsApp travel enquiries, asks for what's missing, logs them and passes complex cases to a person.

The problem

Travel agencies get enquiries on WhatsApp at all hours. Each one needs the same few details before a consultant can quote anything: where, when, how many people and roughly what budget. Someone usually types the same follow-up questions again and again.

What it does

The workflow is open source on GitHub. It runs as a single n8n pipeline triggered by a Meta WhatsApp webhook.

  1. It verifies Meta's signature on every request and rejects the ones that fail.
  2. It drops delivery and read receipts.
  3. It sends anything that is not text, such as images, voice notes and locations, straight to a person.
  4. An LLM turns the message into structured fields: destination, dates as the customer wrote them, number of travellers, budget, trip type and notes.
  5. The workflow checks the result against a list of required fields. If the output can't be parsed, nothing is guessed and a person takes over.
  6. Complete enquiries get a confirmation with a reference and are logged to a sheet. Incomplete ones get a short question asking only for what is missing. Complex ones tell the customer a person will follow up and alert the team.

Decisions that mattered

The model extracts, it does not reply. Replies are templates. That way the bot can't quote a price, promise availability or state a policy. A sales conversation is the wrong place for a language model to improvise.

Escalation rules are explicit. Large groups, multi-city trips, visa questions, changes to existing bookings, medical or accessibility needs and complaints all go to a person.

Fail toward a human. Anything the workflow can't handle with confidence ends with a person, not a guess.

Limits, stated plainly

The README is honest about these, and so am I.

  • It is not a booking engine. It doesn't check availability, hold inventory or take payment.
  • It isn't a multi-turn chatbot. It asks one round of clarifying questions and then hands over.
  • Dates are stored as written. "Early June" stays "early June" for a consultant to interpret.
  • It does not deduplicate. Meta sometimes redelivers a webhook, which can create a duplicate row.
  • It has no template-message support, so replies outside WhatsApp's 24-hour window aren't covered.
  • Arabic and Urdu extraction haven't been properly tested.
  • Data protection is the operator's responsibility: where it's hosted, how long execution data is kept and what the privacy notice says.

What I'd do next

Deduplication and template messages are the two gaps I'd close first. Both are real in production and both are small to fix.

Want something similar? I take on client projects through Codic Systems. Work with me.