
Appointment Booking Suite: Skill-based Routing
Appointment booking with skill-based routing: weighted share, daily and weekly caps, backup members and a visitor preference.
Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0. Technical name bambooforge_booking_routing.
Appointment Booking Suite: Skill-based Routing
An add-on for BambooForge Booking Pro (17.0). Skills as records, a weighted share of the work, daily and weekly caps, backup members, and a preference the visitor can ask for on the booking page.
What Booking Pro already does
Booking Pro hands a booking to a member in one of three ways: first free member, round robin and least busy. All three treat every member as interchangeable. This add-on is for teams where they are not.
Skills
Booking Pro ▸ Skills. A skill is a record: Colour, English, Paediatric. Give each a short description - it is what the visitor reads when a service exposes it as a preference.
Booking Pro ▸ Staff gains a Skills column. Tick what each member holds.
On a service (Who / what is booked):
Required skills - only members who hold every one of them are offered for this service, on the website and by the router. Saving a service whose required skills no member of its team holds is refused: the alternative is a page with no slots and nobody knowing why.
Visitor may ask for - the skills the booking page shows as a preference. The visitor picks one or leaves No preference; the slot grid is recomputed for the members who hold it, the staff dropdown hides the others, and the booking records what was asked for.
Caps
Daily cap and Weekly cap on a member (0 = none) count appointments: a group class with eight seats is one appointment. When a member reaches the cap, the rest of that day - or that week, Monday to Sunday in the member's own timezone - stops being offered for them. Seats in an appointment already on the diary stay open, so a yoga class at its teacher's third-and-last slot of the day still fills.
Backup members
Tick Backup member and the router only hands that member a booking when nobody else is free at that time. The visitor can still choose them by name.
Back office
Caps, skills and weights shape what the website offers. A receptionist placing a booking by hand sees a Skill gap warning when the member lacks what the service requires or the visitor asked for, and can still save. The desk knows things the rules do not.
Technical notes
Extends Booking Pro's hooks only: _slot_staff (who is offered), _pick_staff (who is picked) and _busy_intervals (when a member is full). The double-booking lock in booking_submit is untouched.
The visitor's preference travels as skill_id on /bf_booking/slots and /bf_booking/submit; the controller accepts only skills the service exposes and ignores the rest.
Composes with BambooForge Booking: Multi-location: both filter the staff dropdown by data attributes and both add parameters on the wire.
Community only. No Enterprise module, no external service.
Screens


