logo
OctoForms
articleName

Calendar And Booking Control Tutorial

This article explains the implementation and usage of the Booking Control in our dynamic forms system. The Booking Control allows system users to define booking templates, generate public booking links, and manage appointments associated with user roles such as hairstylists. It supports anonymous bookings and includes calendar-based reporting for users.

✨ Features Overview
  • Select from default booking templates
  • Copy and share public booking link
  • Anonymous or registered users can make bookings
  • Assign bookings to roles like "Hair Stylist"
  • Configure allowed times (weekdays, Saturdays, Sundays)
  • Assigned user sees bookings in a dashboard calendar

Booking Template Selection

When configuring a form with the Booking Control, the first step is selecting a default booking template. Templates are preconfigured in the system with:

  • A descriptive name
  • The role it applies to (e.g., Hair Stylist, Consultant, Mechanic)
  • Availability settings (per weekday)

UI Behavior:

  • The dropdown displays available templates.
  • Upon selection, template details are loaded.
  • Templates determine the allowed booking structure and constraints.

Public Booking Link Generation

After a template is selected, the control exposes a “Copy Link” button.

  • This link is a public-facing URL (e.g., https://octoforms.com/url?abc123)
  • The link contains the template ID as a query or route parameter.
  • It can be embedded on a website, sent via email, or shared on social platforms.
Anonymous Booking Support:
  • The link works without login.
  • Bookings made this way are still associated with the selected role and template.
  • CAPTCHA or rate-limiting is recommended for spam prevention.

Role Association

Every booking must be associated with a role — such as a Hair Stylist.

  • Roles help route bookings to the correct user or team.
The control either:
  • Uses the role defined in the template, or
  • Allows the form user to select from permitted roles (based on permissions).

Example Roles:

  • Hair Stylist
  • Personal Trainer
  • Consultant
  • Property Inspector
  • Mechanic

Allowed Times Configuration

The Booking Control template includes configurable time slots:

  • The UI disables time slots outside of the defined availability.
  • Time validation is enforced both client-side and server-side.

Booking Calendar Dashboard

Each role-bound user (e.g., a specific hairstylist) has access to a Dashboard Calendar report.

  • View upcoming bookings in a calendar format.
  • Filters by day, week, month or year.
  • Clicking a booking shows full details.
🧪 Example Workflow
  1. Admin creates a form and adds a Booking Control.
  2. They select the "Hair Stylist Consultation" template.
  3. The system generates a public link: https://octoforms.com/url?abc123
  4. The link is embedded on a salon’s website.
  5. Visitors book