Skip to content

Link, dialog and inline form

All three use the same booking page. The dialog and the inline form simply show it inside your website.

The panel generates the exact code for each connected site (Website integration). The examples below use the business your-business.

https://zakazi.tempact.app/booking/?company=your-business

Nothing needs to be embedded. The link can sit on a button, on Instagram or in a message.

Parameter Meaning
company The business (required)
location Preselected location
worker Preselected staff member
service Preselected service
theme, themeVersion Theme and version, if you want to pin them
locale Form language, for example en or de. See Languages.
source Where the client came from, for example google or instagram. Lowercase letters, digits and hyphens, up to 30 characters. Shown on the booking in the panel.

The server checks the selection again when booking, so link parameters are never an authorization.

For businesses without a website there is a ready-made page with services, team, work, opening hours, contact and a booking button:

https://zakazi.tempact.app/s/your-business

It takes location and locale. The same page is also at https://zakazi.tempact.app/salon/?company=your-business. See Firm page and QR code.

Add one script to the site and the data-booking-embed attribute to an existing link.

<script src="https://zakazi.tempact.app/embed/booking-embed.js" defer></script>
<!-- Dialog over the site -->
<a href="https://zakazi.tempact.app/booking/?company=your-business&location=ID"
data-booking-embed="dialog">Book</a>
<!-- Inline form -->
<div data-booking-embed="inline">
<a href="https://zakazi.tempact.app/booking/?company=your-business">Book an appointment</a>
</div>
  • The main attribute is data-booking-embed, with the value dialog or inline. Every other setting goes in the link, with the parameters above.
  • Without JavaScript the link still opens the booking page, so booking always works.
  • The script opens the form in an isolated frame (sandbox, referrerpolicy=no-referrer). The inline form follows the height of its content, so it has no inner scroll. It scrolls only if the site section has a fixed height or you set the data-booking-height attribute on the element to a CSS length with a unit, for example data-booking-height="640px" or "80vh". A bare number is not valid.
  • On phones the dialog goes full screen.

After booking, the client gets their own link to view, reschedule or cancel the appointment and to add it to their calendar (.ics). It leads to https://zakazi.tempact.app/booking/manage.html and does not need embedding.