Shortcodes & Widgets

Appointment Booking Shortcode

Overview

KiviCare is a WordPress clinic and patient management plugin that provides powerful widgets and shortcodes for integrating appointment booking into your website. These tools allow patients and guest users to book appointments directly from the frontend.

The appointment booking widgets are available as Gutenberg blocks and as shortcodes, making them flexible for use across different editors and page builders.


Available Appointment Booking Widgets

KiviCare offers two primary appointment booking widgets, both powered by the same React-based booking form:

1. Book Appointment Widget

  • Displays the complete multi-step booking form directly on the page.

2. Book Appointment Button Widget

  • Displays a customizable button.
  • Clicking the button opens the booking form in a popup modal.

Both widgets share the same booking logic and features. The main difference lies in their presentation and placement.

Note: Some advanced features—such as multi-clinic selection, doctor filtering by clinic, and custom field ordering—require KiviCare Pro.

Shared Functionality (All Widgets & Shortcodes)

Both appointment widgets and their shortcodes support the following features:

  • Multi-step booking flow:
  • Clinic → Doctor → Service → Date & Time → Patient Details → Confirmation
  • Pre-selection via shortcode parameters: Filter appointments by clinic, doctor(s), or service.
  • Payment integration: Supports available gateways (WooCommerce, PayPal in Pro).
  • Print appointment option: Available on confirmation (configurable in settings).
  • User detection: Logged-in patients have details auto-filled; guests can also book appointments.
  • Timezone handling: Uses the WordPress site timezone.
  • Customization options: Colors, images, prices, loader, and field display via Widget Settings.
  • Access restriction: Hidden for Admin, Doctor, and Receptionist roles (a notice suggests using incognito mode).
  • Responsive modern UI: Built with React-style components and loads without page refreshes.

1. Book Appointment Widget

Gutenberg Block

  • Block Name: kivi-care/book-appointment-widget
  • Block Title: Kivi Appointment Widget
JAVASCRIPT
[kivicareBookAppointment]

Parameters (Attributes)

ParameterTypeDefaultDescriptionPro Only?
clinic_idInteger0Pre-select a specific clinic (filters doctors accordingly)Yes
doctor_idString (comma-separated)“”Pre-select/filter specific doctors (e.g., 10,15)Yes
service_idInteger0Pre-select a specific serviceNo

Shortcode Examples

Basic:

JAVASCRIPT
[kivicareBookAppointment]

Clinic-specific (Pro)

JAVASCRIPT
[kivicareBookAppointment clinic_id=5]

Doctor-specific (Pro):

JAVASCRIPT
[kivicareBookAppointment clinic_id=5 doctor_id=10,15]

Service pre-selected:

JAVASCRIPT
[kivicareBookAppointment service_id=3]

Functionality

  • Displays the full booking form embedded directly on the page
  • Best suited for dedicated appointment booking pages

2. Book Appointment Button Widget

Gutenberg Block

  • Block Name: kivi-care/popup-book-appointment-widget
  • Block Title: Kivi Appointment Button Widget

Shortcode

JAVASCRIPT
[kivicareBookAppointmentButton]

Parameters (Attributes)

ParameterTypeDefaultDescriptionPro Only?
clinic_idInteger0Pre-select clinic for the modal formYes
doctor_idString (comma-separated)“”Pre-select/filter doctorsYes
button_textString“Book Appointment”Custom text on the buttonNo
button_classString“”Additional CSS classes for styling (e.g., “btn-large btn-primary”)No
service_idInteger0Pre-select serviceNo

Shortcode Examples

Basic:

JAVASCRIPT
[kivicareBookAppointmentButton]

Custom text:

JAVASCRIPT
[kivicareBookAppointmentButton button_text="Schedule Now"]

Custom styling:

JAVASCRIPT
[kivicareBookAppointmentButton button_text="Book Now" button_class="btn-lg btn-success"]

Pre-filtered (Pro):

JAVASCRIPT
[kivicareBookAppointmentButton clinic_id=5 doctor_id=10 button_text="Book with Dr. Smith"]

Functionality

  • Renders a button on the page
  • Clicking the button opens the full booking form in a popup modal
  • Includes overlay, close button, and scroll lock
  • Uses the same booking form as the full widget
  • Ideal for headers, sidebars, and call-to-action sections

Widget Settings (Global Customization)

Widget settings can be accessed from:

KiviCare Dashboard → Settings → Widget Settings

Available Customizations
  • Display options: Show or hide images, addresses, experience, specialties, prices, and durations
  • Color settings: Primary and secondary colors with hover states
  • Print settings: Enable print button and post-payment redirection
  • Loader settings: Custom loading indicator
  • Step ordering (Pro only): Drag-and-drop booking step order (date/time steps are fixed)
  • Skip service step: Automatically skips service selection if only one service exists

These settings apply to both widgets and all shortcodes.


Pro Version Enhancements

KiviCare Pro unlocks advanced booking capabilities, including:

  • Multi-clinic support with filtering
  • Doctor filtering based on the selected clinic
  • Advanced widget step ordering
  • Full support for clinic- and doctor-based shortcode parameters

Tips & Troubleshooting

  • Use Gutenberg blocks for visual editing and faster setup
  • Use shortcodes in the Classic Editor or custom templates
  • If the widget does not appear, test in incognito mode (role restrictions may apply)
  • Clear your site and browser cache if visual changes do not reflect immediately

Suggestions & Improvements

Your email address will not be published. Required fields are marked *