Typek Booked – documentation

Installing the Booked Plugin

  1. Initial Steps: Navigate to Plugins > Add New in your WordPress dashboard.
  2. Plugin Installation: Upload the booked.zip file and activate the Booked plugin.
  3. Further Guidance: For additional assistance with plugin installation, refer to our quick guide.

Setting Up a Profile Page (For Registered Booking)

  • Page Creation: Create a new page, titling it as desired, for instance, “Profile”.
  • Shortcode Addition: Insert [booked-profile] into the page to enable user login and profile viewing.
  • Redirection After Booking: In Settings, select “Auto-Detect Profile Page” in the Appointment Booking Redirect section.
  • Enabling User Registration: Go to WordPress Settings > General and activate user registration by checking “Anyone can register”.

Configuring WordPress Date/Time Settings

Adjust the Date/Time settings in Settings > General to influence various aspects of the Booked plugin. This includes setting the Timezone, Date Format, Time Format, and the start day of the week.

Navigating the Booked Settings Panel

Access the settings by visiting Appointments > Settings in your dashboard.

General Settings

  • Booking Type: Choose between ‘Registered’ and ‘Guest’ booking options.
  • Appointment Booking Redirect: Offers three choices – No Redirect, Auto-Detect Profile Page, and Choose a Specific Page.
  • Login Redirect: Set redirection post-login using [booked-login].
  • Custom Login Tab Content: Add text or HTML above login form fields.
  • Time Slot Intervals: Customize intervals for creating time slots.
  • Appointment Buffer: Set a time frame to limit how close appointments can be booked to the current time.
  • Block Appointments: Use date picker options to prevent booking before or after specific dates.
  • Cancellation Buffer: Similar to Appointment Buffer, but for cancellations.
  • Appointment Limit: Restrict the number of active bookings a user can have.
  • New Appointment Default: Choose between manual or automatic approval of new appointments.
  • Display Options: Control what elements are visible on the front-end.
  • Other Options: Additional customization checkboxes.
  • Front-End Color Settings: Personalize calendar and profile appearances.

Email Notifications

Customize email notifications for both customers and administrators. Each email type can be individually disabled by clearing its content field. Use special tokens listed above each form for dynamic content.

Customer Emails
  • Appointment Reminders: Customize reminder emails and set intervals.
  • Registration: Email sent to new users.
  • Appointment Confirmation: Confirmation email for booked appointments.
  • Appointment Approval: Notification upon appointment approval.
  • Appointment Cancellation: Email for cancelled appointments.
Administrative Emails
  • Appointment Reminders: Similar to customer reminders but for administrators.
  • New Appointment Request: Notification for pending new appointments.
  • Appointment Cancellation: Alert when a customer cancels an appointment.
Email Settings
  • Logo Image: Upload a custom logo for email headers.
  • Default Notification Email: Set a default email address for notifications.

Setting Up WooCommerce with Booked

Before utilizing the ‘Payments with WooCommerce’ add-on in Booked, ensure WooCommerce is installed and activated. If not, install WooCommerce to proceed.

Product Creation for Booked

  • Step 1: Navigate to Products > Add Product.
  • Step 2: Name your product, like ‘Bronze Package’ for varied booking packages.
  • Step 3: Bypass the description, and proceed to the Product Data section. If not visible, enable it from Screen Options.
  • Step 4: Select “Booked Appointment Service” and set a price.

Note: Only these steps are mandatory. However, you can incorporate attributes and variable pricing as needed (refer to the section on Attributes/Variable Pricing).

Adding a Product to the Booking Form

  1. Add several products (e.g., Bronze, Silver, Gold packages).
  2. Go to Appointments > Settings, under Custom Fields tab.
  3. Use “+ Paid Service Selector” for product selection.
  4. Name the option, like “Choose a Booking Package”.
  5. Click “+ Booked Appointment Service” to include WooCommerce products.
  6. After adding necessary choices, save the custom fields.

Your setup for paid appointments is now complete!

Attributes and Variable Pricing

For products with variable options affecting price, use WooCommerce’s attributes and variable pricing.

What Happens After Booking?

  • The appointment is booked and marked as “Awaiting Payment”, occupying the time slot.
  • If auto-approve is enabled, the appointment gets approved.
  • The customer is directed to checkout for payment.
  • Post-payment, the appointment status updates to “Paid”.
  • Unfinished payments can be completed later via the Profile page. Unpaid appointments remain as “Awaiting Payment” until resolved.

Managing Unpaid Appointments

In Appointments > WooCommerce Options, find the Auto-Cleanup feature. This tool is essential to automatically remove unpaid bookings from the calendar after a set period. It helps in maintaining an organized calendar without manual intervention.

Booked Plugin: Developer Guide for Actions & Filters

Front-End Filters in Booked

  1. Single Date Display (booked_fe_single_date):
    • Modify how a single date block appears on the front-end calendar.
    • File Location: /includes/functions.php
  2. Calendar Date Appointments (booked_fe_calendar_date_appointments):
    • Alter the presentation of a day’s appointment list on the calendar upon date selection.
    • File Location: /includes/functions.php
  3. Date Content Query (booked_fe_date_content_query):
    • Adjust query arguments for a day’s appointment list on the calendar.
    • File Location: /includes/functions.php

Front-End Actions in Booked

  1. Before Calendar Display (booked_fe_calendar_before):
    • Implement this to introduce content before the booking calendar.
    • File Location: /includes/functions.php
  2. After Calendar Display (booked_fe_calendar_after):
    • Use this to add content following the booking calendar.
    • File Location: /includes/functions.php
  3. Before Calendar Date (booked_fe_calendar_date_before):
    • Insert content before the appointment list for a specific date on the calendar.
    • File Location: /includes/functions.php
  4. After Calendar Date (booked_fe_calendar_date_after):
    • Place content after the appointment list for a specific date.
    • File Location: /includes/functions.php

Admin Filters in Booked

  1. Single Time Slot Form (booked_single_timeslot_form):
    • Customize the Single Time Slot form for adding Default Time Slots.
    • File Location: /includes/admin-functions.php
  2. Bulk Time Slot Form (booked_bulk_timeslot_form):
    • Modify the Bulk Time Slot form for Default Time Slots.
    • File Location: /includes/admin-functions.php
  3. Time Select Field (booked_time_select_field):
    • Filter for the time select dropdown in new time slot addition.
    • File Location: /includes/admin-functions.php

Admin Actions in Booked

  1. Before Single Time Slot (booked_single_timeslot_before($time)):
    • Trigger content before each single time slot. The $time array includes start and end times.
    • File Location: /includes/admin-functions.php
  2. After Single Time Slot (booked_single_timeslot_after($time)):
    • Display content after each time slot block. Uses a $time array for start and end time details.
    • File Location: /includes/admin-functions.php

These actions and filters allow developers to extend and customize the Booked plugin functionality within WordPress.


The website offers a variety of shortcodes to integrate specific functionalities. We’ll begin by exploring the functionalities related to the booking system.

  1. Calendar for Booking Appointments:
    • Use [booked-calendar] to present the booking calendar or a specific day for scheduling appointments.
  2. Calendar Style Customization:
    • Apply [booked-calendar style="list"] to switch between the standard calendar layout and a single day in a list format.
  3. Calendar Switching Feature:
    • Implement [booked-calendar switcher="true"] to enable a feature that allows users to toggle between different calendars.
  4. Displaying Specific Date Ranges:
    • To show a particular year, month, or day, especially in the list view, utilize attributes like [booked-calendar year="2016" month="3" day="15"].
  5. Selecting Specific Calendars:
    • If multiple calendars are created, [booked-calendar calendar="2"] allows the display of a designated calendar using its ID. Otherwise, the default calendar is shown.
  6. Calendar Size Adjustment:
    • The [booked-calendar size="small"] shortcode changes the calendar’s size to a smaller version, suitable for narrow spaces.
  7. Restricted Access for Members:
    • The [booked-calendar members-only="true"] shortcode restricts the appointment calendar visibility to only logged-in users, pairing well with the profile shortcode for a login page.
  8. User Profile Integration:
    • Place [booked-profile] on the desired profile view page. This is effective for ‘Registered Booking’ only.
  9. Separate Login Form:
    • While the default setting displays the login form in the profile shortcode for guests, [booked-login] can be used to position the login form elsewhere.
  10. Viewing Upcoming Appointments:
  • The [booked-appointments] shortcode displays a list of the logged-in user’s forthcoming appointments, ideal for sidebars and similar widgets.