Let people book an open time slot from a page on your own domain
Published 2026-10-29
A lot of small team work starts with picking a time: a sales call, a consultation, a pickup window, a demo, an interview. When it happens over email, each person offers a few times, someone else answers a day later, and by then one of those times is gone. Booking tools solve this, but they come with a monthly fee per person, their own branding, and a calendar that lives in someone else's system. ChatGPT or Claude can write a polite scheduling reply or even draft the code for a booking page. The chat cannot put that page online, remember which slots are taken, or send the confirmation when someone books.
What a chat cannot do alone
A booking page has to answer whenever a person opens it, and it has to show the same truth to everyone. If two people click the same slot a minute apart, only one of them should get it. That needs a server that stays up and a table that records each booking as it happens. The chat has neither. It also cannot send a confirmation from your address, cancel a booking when someone asks, or remind you of the day's bookings each morning.
What your assistant builds with Sails
Sails is a coding agent you connect over MCP, with cloud deployment built in. Your assistant writes the code and Sails runs it in the cloud. For booking it builds a few small pieces.
A table of open hours, with the days you take bookings, the start and end of each window, and the slot length. A second table holds each booking with the slot, the person's name and email, a short note, and a private cancel code.
A public page on your domain that lists the next two weeks of open slots and a short form. When someone submits, the handler checks that the slot is still free and saves it in one step, so a second person gets a polite message to pick another time instead of a double booking.
A mailbox that sends the person a confirmation with a private cancel link and sends you a copy. Cancelling frees the slot right away.
A scheduled job written as ordinary shell code with no model in the loop. Every weekday morning it emails you the day's bookings in order, with each person's note.
Why it works
The page carries your name, the bookings stay in your own table, and there is no per-seat fee. Changing your hours is one row in a table instead of a settings screen. In any later chat your assistant can read the bookings and tell you which days fill first or who booked more than once.
Hand it off
Copy this into your assistant:
Add Sails from https://sails.app/start. Build a booking page on my domain. Keep a table of my open hours with days, start and end times, and slot length, and a table of bookings with the slot, name, email, note, and a private cancel code. Host a public page that shows the next two weeks of open slots with a short form, and make sure two people can never book the same slot. Email each person a confirmation from my mailbox with a cancel link, send me a copy, and free the slot on cancel. Write a weekday morning scheduled job in plain shell code with no model involved that emails me the day's bookings. Ask me anything you need before you start.