Rental & Reservation management for Dolibarr
Booking for Dolibarr
Overview
Booking is an external Dolibarr module dedicated to reservation management, occupancy planning, resources, availability and pricing rules, and synchronization with external channels.
The module turns Dolibarr into a central operational tool for businesses managing bookings: accommodation, rooms, holiday rentals, spaces, equipment, bookable services, or any activity requiring date, capacity and availability tracking.
Rather than being just a website feature, Booking is designed as an internal business layer: it connects bookings to customers, products, orders, planning, statistics and synchronization flows.
Current positioning
The historical native public portal is no longer the recommended mode.
The current target workflow is based on:
- WordPress for the public website
- WooCommerce for online orders
- YITH or equivalent for booking fields and booking logic on the website
- Dolibarr + Booking for internal management, orders, reservations, planning, rules and follow-up
The module includes a dedicated WordPress plugin named WooBook, which sends WooCommerce orders to Dolibarr.
DoliStore availability
The module is distributed on DoliStore.
K.S.I publisher page: View K.S.I modules on DoliStore
Module goals
Booking is designed to:
- centralize reservations inside Dolibarr
- link a reservation to a product, third party and commercial document
- visualize occupancy in a calendar
- manage resources and related services
- apply availability and pricing rules
- synchronize unavailability through iCal feeds
- integrate orders coming from a WordPress / WooCommerce website
- provide activity indicators and reporting
Compatibility
- Dolibarr: v19 to v23
- PHP: PHP 8.x
- Installation type: external module in
htdocs/custom - No core Dolibarr modification
Main features
1. Bookable products
The module allows standard Dolibarr products to be turned into bookable products.
For each bookable product, it is possible to define:
- activation in Booking
- capacity
- booking granularity
- minimum and maximum durations
- people count management
- linked resources
- linked services
- time buffers before and after reservation
- manual confirmation requirement
- optional deposit
- calendar display color
This layer makes it possible to adapt the module to many use cases: nightly stays, time slots, unit booking, full stays, multiple capacity, etc.
2. Back-office reservation entry
The module provides a Take a reservation screen allowing internal users to create a reservation directly from Dolibarr.
A reservation can be linked to:
- an existing third party
- a bookable product
- an arrival / departure period
- a people count
- a rental category
- optional services
- public or private notes
Depending on configuration, this action can generate:
- a proposal
- or an order
Reservation information is propagated to linked commercial documents through the module mechanisms.
3. Reservation list
The module includes a dedicated reservation list.
This view allows users to:
- filter reservations
- review dates
- identify the customer
- display the source document
- track status
- distinguish internal reservations from external blocks
- open archives
- run business actions depending on permissions
4. Calendar / planning
The calendar is one of the central parts of the module.
It allows users to:
- visualize occupancy by period
- filter by resource
- navigate by day, month or year
- display internal reservations
- display external synchronized blocks
- open linked records
- perform actions such as cancellation depending on permissions
The calendar is intended as an operational occupancy view.
5. Resource management
The module manages resources assigned to reservations:
- rooms
- housing units
- halls
- equipment
- teams
- operational assets
Each resource can be linked to a product, categorized, assigned a capacity and displayed with a dedicated color in the calendar.
6. Service management
The module also manages optional services linked to reservations.
Examples:
- cleaning
- breakfast
- additional service
- paid option
- ancillary service
These services can be proposed during reservation handling and included in the overall process.
7. People types
The module includes people type management to refine booking logic according to guest composition.
This can be used to improve capacity rules, people-based calculations and related business rules.
8. Availability and pricing rules
Booking provides a rule engine to adapt module behavior depending on context.
Rules can target:
- availability
- opening / closing booking periods
- pricing
- restrictions
- categories
- resources
- services
- people types
- date ranges
- weekdays
- time slots
The engine makes it possible to:
- open or close periods
- apply priorities
- set a price
- increase or decrease a price
- define a fixed price by product
- manage specific behaviors such as city tax or breakfast
9. Statistics
The module provides a statistics page to track Booking activity.
Available indicators include:
- occupancy rate
- nights sold
- average stay duration
- occupancy by product
- nights per month
- linked revenue
- linked commercial documents
Statistics are based on Booking data and linked Dolibarr documents.
iCal synchronization
Purpose
The module can synchronize availability and unavailability with external iCal / ICS sources.
Typical use cases:
- import occupied periods from external channels
- export occupied periods to external systems
- reduce double-booking risk
- integrate external blocks into the Dolibarr calendar
Available functions
The module provides:
- channel configuration
- iCal import
- ICS export
- export secret generation
- iCal webhook
- manual import
- manual synchronization launch
- dedicated Dolibarr cron task
- synchronization log
- feed diagnostics
- iCal control screen
- cron repair / recreation
- management of external blocks
Supported channels
Depending on configuration, channels may include:
- Airbnb
- Booking.com
- Website
- Google in some synchronization contexts
- manual imports
- manual blocks
iCal control
A dedicated screen helps supervise iCal behavior and block management.
It is useful to:
- understand the origin of an unavailability
- control imports
- manage blocking / unblocking operations
- review synchronization history
WordPress / WooCommerce / YITH integration
General principle
The recommended workflow is:
- reservation / order on WordPress
- commercial processing in WooCommerce
- stay data coming from the website or a booking plugin such as YITH
- transmission to Dolibarr through the WooBook plugin
- creation or update of Dolibarr objects
Included WooBook plugin
The module includes the WordPress plugin:
pluginwoobook/woocommerce-dolibarr-sync.php
This plugin allows:
- configuration of the Dolibarr endpoint
- configuration of the shared secret
- selection of WooCommerce statuses to synchronize
- definition of Woo -> Dolibarr product mappings
- definition of Woo customer -> Dolibarr third party mappings
- transmission of booking-related metadata
Information sent from WooCommerce
The flow can transmit:
- Woo order id
- order status
- customer
- Woo customer id
- order lines
- Woo product
- SKU
- stay dates
- people count
- notes
- amounts
- VAT
- line and order metadata
YITH compatibility
The WooBook plugin is able to recognize common booking metadata, including in YITH contexts.
This allows the module to process:
- start dates
- end dates
- stay information
- people count
without requiring a single rigid structure on the WordPress side.
Dolibarr endpoints
Main Woo synchronization endpoint:
custom/booking/syncwoocommande/receive.php
Test endpoint:
custom/booking/syncwoocommande/ping.php
Woo synchronization security
WooCommerce / Dolibarr communication is protected through signed requests.
Two modes are supported:
- WooBook
- Native WooCommerce webhook
The module verifies signatures before processing data.
Result inside Dolibarr
When a Woo order is synchronized, the module can:
- create or update the third party
- create or update the Dolibarr order
- match lines to the correct Dolibarr product
- create or update the internal Booking reservation
- link the reservation to the order
- update dates
- cancel the reservation if the Woo order is cancelled / refunded / failed
- release linked blocks when needed
Idempotency
The Woo flow is designed to avoid duplication.
If the same event is replayed:
- the module tries to find the existing object
- it updates instead of recreating
- it avoids duplicate orders and reservations
This is an important point in real webhook environments.
Cancellation business logic
The module distinguishes between customer logic and internal logic.
The configured late cancellation window applies to the customer side according to module rules.
However, authorized internal users or administrators may still cancel from the back office depending on permissions and workflow.
Cancellations can also be propagated from linked business documents or from Woo synchronization depending on the scenario.
The module adds a main Reservations menu with entries such as:
- Dashboard
- Take a reservation
- Reservations
- Calendar
- Resources
- Services
- Bookable products
- Rules
- People types
- Synchronizations / Shares
- iCal control
- Setup
Setup
General settings
These settings define for example:
- default behavior
- document generation
- default availability mode
- extrafield management
- Dolibarr document synchronization
- modification rules
- late cancellation window
- global module constants
Synchronization settings
This part allows management of:
- channel / product mappings
- iCal imports
- ICS exports
- secrets
- tokens
- diagnostics
- logs
- cron tasks
- configuration data retention
WooCommerce Sync settings
A dedicated page is provided to configure WooCommerce / Dolibarr integration.
It allows definition of:
- authentication mode
- communication secrets
- Dolibarr base URL
- Woo -> Dolibarr product mappings
- Woo customer -> Dolibarr third party mappings
- specific behaviors such as city tax line creation
- connectivity tests
- WordPress-side setup reminders
Logs, maintenance and diagnostics
The module includes several operational tools:
- synchronization log
- Woo connectivity test
- iCal import / export test
- iCal cron repair
- orphan cleanup
- iCal control tools
- correction tools for Woo / website date misalignment
- synchronization status monitoring
Typical use cases
Accommodation / holiday rentals
- booking on WordPress website
- WooCommerce order
- synchronization to Dolibarr
- reservation visible in Booking
- updated occupancy calendar
- centralized commercial follow-up
Space or room reservation
- bookable products by slot
- assigned resources
- occupancy calendar
- opening / closing rules
- linked commercial documents
Multi-channel activity
- iCal import from external platforms
- management of external blocks
- reduction of double-booking risk
- unified visibility in the Dolibarr calendar
Summary
Booking for Dolibarr is a complete booking management module oriented toward internal operations.
It allows users to:
- structure the bookable offer
- centralize reservations
- link reservations to customers and commercial documents
- manage an operational calendar
- handle resources, services and rules
- synchronize iCal feeds
- properly integrate a WordPress / WooCommerce / YITH website through the included WooBook plugin
The module is intended for organizations that want Dolibarr to remain the central management system while keeping a dedicated website for online sales and reservation handling.