WP Manifestindependent plugin directory
manifest / events / bookingpress-staffmember-calendar-color-scheme

BookingPress Staff Member Calendar Color Scheme

WordPress addon plugin for BookingPress Pro (5.6) that colors calendar appointments per staff member instead of per service. Each staff member is assigned one of BookingPress's 25 predefined color schemes, stored in the staffmembers_meta table.

by WAD Labs · github.com/awaxis/bookingpress-staffmember-calendar-color-scheme · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/awaxis/bookingpress-staffmember-calendar-color-scheme/archive/refs/heads/main.zip

Readme

BookingPress Staff Member Calendar Color Scheme

WordPress addon plugin for BookingPress Pro 5.6 that colors calendar appointments per staff member instead of per service.

What it does

BookingPress colors calendar appointments using the service's color scheme. This plugin overrides that behavior: if a staff member has a color scheme assigned, their appointments use that scheme instead. Appointments for staff members without an assigned scheme fall back to the service color — no existing behavior is changed for them.

Requirements

  • WordPress 6.9+
  • BookingPress Pro 5.6 (bookingpress-appointment-booking-pro)

Installation

  1. Upload the bookingpress-staffmember-calendar-color-scheme/ directory to wp-content/plugins/
  2. Activate via Plugins > Installed Plugins
  3. BookingPress Pro must be active — the plugin does nothing if it isn't

Usage

  1. Go to BookingPress > Staff Members
  2. Add or edit a staff member
  3. In the dialog, find the Calendar Color Scheme field
  4. Click one of the 25 color swatches, or leave unset to use the service color
  5. Save

The selected scheme is stored in staffmembers_meta under the key bookingpress_staff_color_scheme. The calendar reads it on every render (cached per request).

File structure

bookingpress-staffmember-calendar-color-scheme/
├── bookingpress-staffmember-calendar-color-scheme.php   # Plugin entry point
├── autoload.php                                         # Constants + class loader
├── core/
│   ├── classes/
│   │   ├── class.bookingpress-staffmember-calendar-color-scheme.php
│   │   ├── class.bookingpress-staffmember-calendar-color-scheme-filter.php
│   │   └── class.bookingpress-staffmember-calendar-color-scheme-admin.php
│   └── views/
│       └── staffmember-color-scheme-field.php
├── css/
│   └── bookingpress-staffmember-calendar-color-scheme-admin.css
├── js/
│   └── bookingpress-staffmember-calendar-color-scheme-admin.js
└── languages/
    ├── bookingpress-staffmember-calendar-color-scheme-de_DE.po/.mo
    └── bookingpress-staffmember-calendar-color-scheme-fr_FR.po/.mo

Technical notes

Scheme storage

The stored value is a key string: scheme_1scheme_25. The calendar filter resolves it to a full color array ['border', 'text', 'bg'] by calling ServicesProviders::get_color_scheme_data() — BookingPress does not perform this resolution automatically.

Hooks used

Hook Type Purpose
bookingpress_modify_single_appointment_details_with_addional_data filter Inject staff color into calendar appointment
bookingpress_staff_member_add_edit_form_column action Render color picker in Add/Edit dialog
bookingpress_staff_member_vue_dynamic_data_fields filter Register staff_color_scheme Vue data field
bookingpress_staff_member_external_details filter Load stored scheme into edit AJAX response
bookingpress_staff_members_save_external_details filter Persist selected scheme after save
bookingpress_staff_member_edit_details_response action (JS) Populate Vue var from edit response
bookingpress_save_staff_member action (JS) Append scheme to AJAX postdata
bookingpress_add_staffmember_model_reset action (JS) Clear Vue var when modal closes

Author

Awaxis (WAD Labs) — wad-labs.fr

Read the full README on GitHub →