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
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.zipReadme
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
- Upload the
bookingpress-staffmember-calendar-color-scheme/directory towp-content/plugins/ - Activate via Plugins > Installed Plugins
- BookingPress Pro must be active — the plugin does nothing if it isn't
Usage
- Go to BookingPress > Staff Members
- Add or edit a staff member
- In the dialog, find the Calendar Color Scheme field
- Click one of the 25 color swatches, or leave unset to use the service color
- 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_1 … scheme_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