Skip to main content
A booking form is an ordinary form with one extra field in it. The visitor answers your questions, picks a time you are genuinely free, and the slot is held for them.

Making a form take bookings

Add the Appointment slot field from the palette’s Date & time group. That is the whole switch — there is no separate booking product and no appointment types to set up. Two tabs appear as soon as you add it: Availability and Appointments. A booking form is reachable at both of its addresses: app.watx.in/book/<name> and app.watx.in/f/<name>. Both show the same page with the time picker on it.

Availability

Open the Availability tab and press Turn on under Accept bookings. With it off, the time picker shows nothing and nobody can book.

Slot shape

The database guarantee that two people cannot take the same slot applies at Places per slot = 1. Above 1 the slot is meant to be shared, so seats are counted instead.

When you are available

Add a row per stretch of the week: a day, a start time and an end time, read in the timezone above. Two rows on the same day models a lunch break. A row whose end is not after its start is dropped when you save — an end before the start is a typo, not an overnight window. With no rows at all the panel says so, and no times are offered.

Closed dates

A comma-separated list of YYYY-MM-DD dates — holidays and one-off closures. No times are offered on those days, whatever the weekly pattern says. Press Save availability. This tab saves separately from the Build tab’s Save.
Availability is worked out from the bookings made through Watx and nothing else. There is no calendar sync, so a meeting in your own calendar does not remove a slot here. Block the time with a closed date, or narrow your hours.

What the visitor sees

The picker loads the real, currently-free times every time it is opened — a cached list is a list of times that may already be gone.
  • Dates run across the top as a strip of the days that actually have something, each showing how many times are free. Days with nothing are left out, rather than shown greyed.
  • Times are listed in your timezone, with the zone named above the grid.
  • Arrows page a fortnight at a time. An empty period says “No times available in this period” and offers Look further ahead.
When the form is submitted, the chosen time is checked again before it is held, because the list the visitor was looking at may be minutes old. If it has just gone they are told exactly that — “Someone just took that time. Please pick another.” — and their answers are kept on screen. A successful booking replaces the form with a confirmation: You’re booked, the time, the timezone, and the link to change it. The address bar moves to that link at the same moment, so a refresh lands on the booking rather than on a form that has already been sent. Coming back to the same booking form later in the same browser shows a quiet banner — “You already have a booking” — above the form, with a link to it. The form stays usable underneath: booking a second appointment is a normal thing to want. Every booking gets its own link, app.watx.in/book/manage/<token>, and that link is the only thing needed to open it. The customer has no Watx login and never will — asking them to sign in to move an appointment is how a booking product loses to a phone call. On that page they can:
  • Reschedule — the same picker, with the same hours, buffers and notice. Their own current slot does not block them, so nudging a 3:00 to 3:30 works.
  • Cancel — confirmed first, and safe to click twice. A cancelled slot becomes bookable again.
Treat the manage link as a password for that one appointment. It is deliberately kept out of search engines, it is never shown on the Appointments tab, and it opens exactly one booking with no route to any other. Anyone you forward it to can move or cancel that booking.
A booking that has been cancelled cannot be moved; the page says so rather than offering times.

The Appointments tab

Everything booked through this form, split into Upcoming and Past and cancelled, because “what is coming up” and “what happened” are different questions. Each row shows the time, the contact, and a status: Confirmed, Completed, No show or Cancelled. Use the actions on a row to mark what happened, or to open the contact. Refresh re-reads the list — it is loaded when you open the tab. Marking a booking Cancelled here frees the slot and tells the customer’s automations about it. Marking it completed or a no-show is a record for you and sends nothing. Changing an appointment’s status needs the Agent role or above.

Automations

Three triggers fire on their own, with no channel attached — they work whether or not the person has ever messaged you: Inside those automations you can quote the booking: That is how a confirmation gets sent, a reminder gets scheduled and the team gets told — there is no separate reminder system to configure. See Triggers and Variables and expressions. Because a booking is also a submission, the Form submitted trigger fires as well, carrying the answers to everything else the form asked. If you send a confirmation from both, the customer gets two messages — pick one.

Retiring a booking form

Archive it rather than deleting it. Archiving takes the form off its public link and leaves existing appointments intact, so nobody turns up to something that was quietly cancelled. Turning Accept bookings off has the same effect on new bookings without hiding the form.