This public page lets the customer choose what they want (an item from the Sales catalog) and, if you want, when. Mokapen receives the booking — not an appointment on a salesperson’s calendar, not a simple “please contact me” message.
The template is called Book a service or product: in the same block you offer bookable services (60-min consulting, installation, a course, a treatment) or products with a date/time (rental, pickup, on-site trial). For “a call with Mario” use Appointment booking. For “write to us” use the contact form.
The convenience is all here: the catalog is already in Sales; the form is the public channel. Duration and seats live on the service/product record — do not reinvent them in the form. The customer books, you work the booking like all the others — same status, same contact, same Bookings calendar. No second tool, no inbox of “I’d like the 10 o’clock cut”.
The problem is not “having a calendar on the site”. It is that the catalog lives in the CRM and online booking lives somewhere else. Mokapen closes the gap:
In short: you use this page to get a catalog item booked. You use appointments for a person’s time. You use the contact form for a message with no slot. It is not an e-commerce cart and it does not create a sales order from the form (that checkbox in the editor is disabled): quotes and orders stay in Sales; you link them afterwards if you need them.
Cards with internal title, type badge, form code (slug), Online/Offline, View or preview, three-dot menu (Edit, Duplicate, Delete). Same logic as the contact form: duplicate for a second catalog or another location; delete removes the page, not the bookings already created.
The form does not invent the catalog. Every row you add is a service or a product already bookable in Mokapen:
The times the customer sees depend on the item’s slots in Sales and the organization’s closings. If in the editor the select is empty, go back to Sales → Services (or Products) → enable Bookable, set duration and time windows. If the public calendar is empty but the select is full, the problem is availability/closings/capacity, not the form.
Do not mix “call with a host” and “catalog service” in the same form: you change the block type and you change the entity created (appointment vs booking). Two pages, two URLs, two jobs.
Meet/Teams on the public form belong to the appointments template. On services/products do not tick a video channel the editor does not offer: if the session is a video call, either use the other guide (person as host), or add the link by hand afterwards, or explain it in the description (“we send the Meet link on confirmation”). Do not promise automatic meeting generation from this form.
ONLINE, URL on the site, ads, WhatsApp, QR in store. Snippet if you want the form on the service page. Preview with a test submit to your own address — check the contact record, the booking on the calendar, status, notification, confirmation email.
Before you open it to the public: bookable catalog, closings, form copy and thank-you text. If the status is Confirmed, say “you are on the calendar”. If you confirm by hand (or the org status is Pending), say “we will confirm the slot” — the customer must not believe it is closed if you then reject it. Tracking and hidden fields: like the contact form.
Do not change the slug once the page is already in a campaign. Duplicate for a second catalog (another location, another seasonal list).
form_ + page id.From there the work is that of the Bookings guide: confirm or reject if needed, move, link a deal, archive. Automations on the form (task, deal, ticket, update contact) stay available as on the other forms; for delays and conditions use the Automations module with this page’s slug.
A sales order does not start from this page. If you need the order, you create it in Sales from the record, afterwards.
Here the customer picks a catalog item, not a person. If the question is “who am I meeting?”, use the appointments guide.
In Sales open “60 min consulting”, mark it Bookable, Mon–Fri 9–18, capacity 1. Then Forms → Book a service or product, that one item, single select, calendar on, notify reception@. Offline: you book it yourself, check the booking is on the calendar, status Confirmed, contact in the address book. ONLINE, QR in the window, success: “You are on the calendar, we look forward to seeing you”. Resist putting ten services “because they are there”: each extra item is another decision and a slot you then fail to honour. If after a week nobody picks “3-hour audit”, take it off the form, not off the catalog.
Clone the form. Same items, different description (“Milan” / “Rome”) or a hidden location, two slugs, two QRs. If capacity lives on the service record, both forms book the same seats: a full slot in Milan fills Rome too. If the locations have separate rooms, the catalog needs two bookable services (or products), one per location, each on its own form. Otherwise you reject by hand and the customer who saw Confirmed gets angry. Test both URLs at the same time and see if the second slot disappears: that is how you find out you are sharing capacity without meaning to.
The form creates the slot. Sales, if that visit can become a customer, wants a deal. Automation on the form: tag “Website booking” and, only if there is a company, a deal in the Inbound pipeline. Do not merge the two: in Bookings you work the time (move, reject, no-show); on the deal you work the sale. A “prepare the room” task belongs on the booking or the contact, it does not replace the deal. Do a test submit and open all three cards (contact, booking, deal) before you publish, so you see what is actually created.
Q: There is no service (or product) in the select.
A: Only bookable catalog items. Sales → Services or Products → enable Bookable, duration and time windows. Then reload the form editor.
Q: Is this a sales order?
A: No: it is a booking (slot). Quotes and orders stay in Sales; you can link them afterwards from the record. The “Create an order” checkbox on the form is not available.
Q: The customer booked but I see nothing on the calendar.
A: Form ONLINE? Log on the contact record? Bookings app active and permissions? List/calendar filters (dates, status, archive)? Snippet/URL of this form (slug)?
Q: I want automatic Meet.
A: Meet/Teams from a form belong to the appointments template (person as host). On services/products the channel is the catalog slot. For a video call with sales, use the other guide.
Q: Calendar empty but the service is there.
A: Service time windows, org closings, capacity already full, datepicker turned off by mistake. Check a weekday further out, as on appointments.
Q: Can I put services and products together?
A: One form, one type in the block (services or products). Two pages if you need both.
Q: The status is not what I expected.
A: Default on create: Confirmed. If the org has a different order on the status values, Mokapen can use the first status of the field. Do a test submit and read the record before you write the thank-you.
Need help?