Rental & Reservation management for Dolibarr

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

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:

  1. reservation / order on WordPress
  2. commercial processing in WooCommerce
  3. stay data coming from the website or a booking plugin such as YITH
  4. transmission to Dolibarr through the WooBook plugin
  5. 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
  • email
  • 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.

Main menus

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.