| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Appointments (appointment)
• Calendar (calendar) • Discuss (mail) • Invoicing (account) • Project (project) • Sales (sale_management) • Surveys (survey) • Website (website) • eCommerce (website_sale) • Employees (hr) |
| Lines of code | 9902 |
| Technical Name |
service_booking |
| License | OPL-1 |
| Website | https://www.shadailtech.com/ |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Appointments (appointment)
• Calendar (calendar) • Discuss (mail) • Invoicing (account) • Project (project) • Sales (sale_management) • Surveys (survey) • Website (website) • eCommerce (website_sale) • Employees (hr) |
| Lines of code | 9902 |
| Technical Name |
service_booking |
| License | OPL-1 |
| Website | https://www.shadailtech.com/ |
Service Booking &
Resource Management
A full-featured service booking platform — manage services, resources, equipment, and time slots with an integrated website experience, customer portal, role-based access, and automated notifications.
Service Catalogue
Define services with category, duration, pricing, HD images, rich HTML description, and SEO metadata. Publish/unpublish individually.
Resource Management
Manage technicians with resource types, working calendars, leave integration, and per-service allocation requirements.
Dynamic Slot Engine
Real-time availability computed per service type, resource allocation, leave schedule — no static slot records needed.
Website Booking
Public /services page with category filters, price range, duration, sort, and 3 view modes (grid / list / kanban). Visual slot picker with green/red circles.
Customer Portal
Tabbed /my/bookings page — All, Today, Upcoming, Completed, Cancelled. Reschedule, update address, cancel, and rate from the portal.
Service Ratings
1–5 star ratings with review text. Admin controls visibility per rating. Ratings shown on service cards and detail pages.
Sale Order Integration
Sale order auto-created on confirmation, linked to the booking. Pay Now link in portal for unpaid bookings.
Project & Timesheet
Project task created on confirm. Timesheet start/stop logged when resource starts and completes the service.
Automated Notifications
Confirmation, reminder, completion, and survey emails. Pre-booking reminder configurable in hours. WhatsApp support optional.
Equipment Tracking
Physical assets linked to services. Available quantity auto-calculated from active bookings.
Analytics & Reports
Graph, pivot, kanban, and calendar views. PDF booking confirmation report. Booking report view with grouping and filters.
Role-Based Access
Three roles — Resource, User, Manager — with granular record rules. Admin auto-assigned to Manager on install.
-
Assign User Roles
Go to Settings → Users → [select user] → Service Booking tab and assign a role.
User configuration screen for assigning Service Booking roles. ResourceService Booking / Resource
- View own assigned bookings only
- Start & complete their service
- Cannot create or cancel bookings
UserService Booking / User
- View all company bookings
- Create and edit bookings
- Cannot delete
ManagerService Booking / Manager
- Full unrestricted access
- Create, edit, delete bookings
- Manage all configuration
-
Configure Global Settings
Go to Settings → Service Booking section:
User Service booking configuration settings screen for setting Service Booking parameters. Setting Description Default Default Slot Start Hour Working day start (e.g. 9.0 = 09:00) 9.0 Default Slot End Hour Working day end (e.g. 18.0 = 18:00) 18.0 Advance Booking Min Hours Minimum hours ahead a customer can book 1.0 Advance Booking Max Qty How far ahead bookings are accepted (quantity) 5 Advance Booking Max Duration Unit for the above: days / weeks / months / years days Reminder Email Hours Before Hours before service to send reminder email 24 -
Create Resource Types
Go to Service Booking → Configuration → Resource Types → New.
Create resources types as per required for the services. Examples: Cleaning Specialist, Electrician, Plumber, Supervisor.
Field Description Name Display name (e.g. "Senior Technician") Code Short code (e.g. "ST") Active Uncheck to retire a type -
Create Service Types
Go to Service Booking → Configuration → Service Types → New.
Create Service types as per required for the services. Field Description Service Name Shown on the website and in all booking records Category Cleaning / Handyman / Gardening / Electrical / Plumbing / Pest Control / Other Duration (hours) Length of one booking slot Travel Gap (hours) Buffer added after slot before resource is free again Service Product Links to a product of type Service for invoicing Image HD image shown on website (1024×1024 max, auto-resized) Published on Website Toggle to make bookable online Description Rich HTML shown on the service detail page Resource Allocation tab Which resource types + quantities are required per booking Availability Schedule tab Working hours per weekday for this service 📌Resource Allocation example — Deep Home Cleaning: Add two lines: Cleaning Specialist qty: 2 and Supervisor qty: 1. The system checks all types are satisfied before marking a slot as available. -
Create Resources (Technicians)
Go to Service Booking → Configuration → Resources → New.
Create Resources as per required for the services. Field Description Name Resource display name Resource Type Assign to a type created in Step 3 Employee Link to hr.employee— enables leave checksWorking Schedule Link to resource.calendar; overrides global slot hoursCompany For multi-company setups 📓Leave integration: When an employee is linked, the system checks approved leaves (hr.leave, state=validate) and blocks those periods automatically. -
Create Equipment (Optional)
Go to Service Booking → Configuration → Equipment → New.
Create Equipments as per required for the services. Link equipment items to service types. Available quantity is auto-calculated as Total − units in active bookings.
-
Publish Services on the Website
Open each service type form and toggle Published on Website to make it bookable at
/services. Only published services are visible to the public.
Publish services on webpage to display it to end users. -
Manage Service Ratings
Go to Service Booking → Configuration → Service Ratings.
Manage service ratings on webpage from backend to display it to end users. Customers submit ratings from their portal after service completion. Toggle Show on Website on each rating record to control what's publicly visible. The service's average rating and count update automatically.
| Button | Transition | What happens |
|---|---|---|
| Confirm | Draft → Confirmed | Slot locked for resource · Sale Order created · Project Task created · Confirmation emails sent to customer & resource |
| Start Service | Confirmed → In Progress | Timesheet start time logged |
| Complete Service | In Progress → Done | Timesheet finalised · Satisfaction survey email sent · Completion email sent |
| Cancel | Any → Cancelled | Slot released back to available · Customer notified |
| Print Report | Any state | Generates PDF booking confirmation |
State Descriptions
| State | Description | Customer Can |
|---|---|---|
| Draft | Booking created, awaiting manager confirmation | Reschedule · Update Address · Cancel |
| Confirmed | Slot locked, resources assigned, notifications sent | Reschedule · Update Address · Cancel · Pay Now |
| In Progress | Technician has started the service on-site | View only |
| Done | Service completed, timesheet finalised | Rate This Service |
| Cancelled | Booking cancelled, slot released | View only |
Accessing Your Bookings
Log in to Odoo and go to Service Booking → Bookings → My Bookings. You will only see bookings assigned to your resource record — other bookings are hidden by the record rule.
Available Actions
| Action | When available | What it does |
|---|---|---|
| Start Service | Booking is Confirmed | Transitions to In Progress, logs timesheet start |
| Complete Service | Booking is In Progress | Transitions to Done, finalises timesheet, triggers survey |
Portal Access
If your manager has configured a portal user for your resource account, you can log in to the website and view your assigned bookings at /my/bookings with the same tab navigation as customers.
Leave Management
When your employee record is linked to your resource profile, any approved leave (hr.leave in validated state) automatically blocks your slots. No manual action is required — the system checks your leave schedule in real time.
Working Schedule
Your resource profile can be linked to a specific working schedule (resource.calendar). If no schedule is assigned, the global slot hours configured in Settings apply. Contact your admin to update your schedule.
Step 1 — Browse Services at /services
Click Services in the website navigation. The page shows all published services with HD images, category badges, prices, durations, and star ratings.
Filters
| Filter | Options |
|---|---|
| Category | Cleaning · Handyman · Gardening · Electrical · Plumbing · Pest Control |
| Price | Min and Max number inputs |
| Duration | Any · Under 1 hr · 1–2 hrs · 2–4 hrs · 4+ hrs |
| Company | Shown only when multiple companies exist |
| Sort by | Name A–Z · Name Z–A · Price Low–High · Price High–Low · Highest Rated · Shortest/Longest First |
View Modes
| Mode | Description |
|---|---|
| ⊞ Grid | 3-column responsive cards with image, badge, price, and Book Now button |
| ☰ List | Table rows with thumbnail, name, price, duration, and rating |
| ▣ Kanban | 2-column horizontal cards with left image strip |
Step 2 — Book a Service
-
Click Book Now
Opens the service detail page at
/services/<id>with the full description, ratings, and booking widget.
Select the service you wanted to opt for and click on 'Book Now' button. -
Pick a Date
Click a highlighted date in the calendar widget. Greyed-out dates have no available slots within the advance booking window.
Select the available slot and select the time for the service booking. -
Pick a Time Slot
Available slots appear as green circles showing the start–end time. Booked slots appear as red circles and are disabled. Click a green circle to select it.
-
Enter Service Address
Type the address where the service should be performed. You must be logged in to proceed (sign up or log in is prompted automatically).
Provide a proper service address where the service is going to take place. -
Confirm Booking
Click Confirm Booking. You will receive a confirmation email and be redirected to your booking detail page. If online payment is enabled, you will be taken to the payment page.
Select any one options from Pay now or Pay Later for the service .
Step 3 — Manage Bookings at /my/bookings
Go to My Account → My Bookings or visit /my/bookings directly.
Each tab shows a count badge. Click any booking row to open the booking detail page.
Booking Detail Actions
| Button | When shown | What it does |
|---|---|---|
| Reschedule | Draft or Confirmed, before service date | Opens new slot selector; pick a different date and time |
| Update Address | Draft or Confirmed, before service date | Change the service location |
| Cancel Booking | Draft or Confirmed, before service date | Cancels and releases the slot |
| Pay Now | Confirmed, invoice unpaid | Opens payment page for the linked sale order |
| Rate This Service | Done, not yet rated | Opens the 1–5 star rating form |
Step 4 — Rate a Completed Service
-
Click "Rate This Service"
Appears on the booking detail page once the booking is marked Done and no rating has been submitted yet. Goes to
/my/bookings/<id>/rate. -
Select Star Rating
Click one of the five stars (1 = lowest, 5 = highest). Stars light up as you hover.
-
Write a Review (optional)
Add a text review in the box below the stars.
-
Submit
Click Submit Review. You can only rate each booking once. The rating is immediately reflected on the service's public page (subject to admin visibility setting).
Need Help or a Custom Feature?
Our team at Shadail Technology is here to help you get the most out of Odoo. Reach out for support, customisation, or consulting.
Contact UsService Booking & Resource Management
Table of Contents
Overview
The Service Booking & Resource Management module is an end-to-end service booking platform for Odoo 19, built by Shadail Technology. It covers the full lifecycle of a service appointment: service catalogue management, resource and equipment allocation, calendar-aware slot generation, online/portal booking, timesheet logging, post-service surveys, payment collection, and PDF report generation — all within a single Odoo application.
Key Features
Service Catalogue
- Multi-service catalogue with categories, pricing, duration, and travel gap settings
- Service types linked to resources and equipment
- Configurable booking policies per service
Resource Management
- Technician/resource profiles with individual working calendars
- Automatic monthly slot generation (Monday–Saturday) via scheduled action
- Equipment inventory linked to services and bookings
- Resource availability tracking across bookings
Booking & Scheduling
- Website-facing booking wizard with colour-coded time-slot circles (green = available, red = unavailable)
- Automatic conflict detection to prevent double-booking
- Rescheduling and cancellation support from the customer portal
- Pre-booking email reminders dispatched automatically
- Calendar, Kanban, Pivot, and Graph analytics views
Customer Portal
- Customers can view upcoming and past bookings from the Odoo portal
- Self-service reschedule and cancel before the service date
- PDF booking confirmation downloadable from the portal
Sales & Accounting Integration
- Sales Order created automatically on booking confirmation
- Payment collection via Odoo's payment provider framework
- Invoice generation tied to booking and sale order
Project & Timesheet Integration
- Project task created per booking for work tracking
- HR timesheet entries logged against tasks for labour costing
- Timesheet data visible on project and booking views
Survey & Rating
- Survey dispatched automatically on service completion
- Customer ratings collected and linked to the service booking record
- Rating summary visible per service type
Reporting
- PDF booking report with full booking details, resource, and service info
- Graph and Pivot views for booking trends, resource utilisation, and revenue
- Scheduled action logs for slot generation
Access Control
- Resource role — view own bookings and availability
- User role — create and manage bookings
- Manager role — full access including configuration and reporting
Dependencies
- base
- sale
- sale_management
- website
- website_sale
- calendar
- appointment
- project
- hr_timesheet
- survey
- payment
- account
- resource
- portal
Installation
- Ensure all listed dependencies are installed (most are standard Odoo modules).
- In the Odoo Apps menu, search for Service Booking & Resource Management and click Install.
- The post-install hook runs automatically to seed initial demo data and set up scheduled actions.
Configuration
Service Types
- Go to Service Booking → Configuration → Service Types.
- Create service types with name, category, default duration, price, and travel gap.
- Link resources (technicians) and equipment to each service type.
Resources
- Go to Service Booking → Configuration → Resources.
- Create resource records linked to employees or users.
- Assign a working calendar to each resource to define available hours.
Slot Generation
Slots are generated automatically by the scheduled action Generate Monthly Booking Slots, which runs on the first day of each month. To generate slots manually:
- Go to Service Booking → Configuration → Slot Check Wizard.
- Select the resource and month, then click Generate Slots.
System Settings
- Go to Inventory → Configuration → Settings (or Service Booking → Configuration → Settings).
- Configure:
- Pre-booking reminder interval (hours before appointment)
- Auto-confirm bookings (skip manual approval)
- Survey template used for post-service dispatch
Usage
Online Booking (Website)
- Customers navigate to the website booking page (/service-booking).
- They select a service type, preferred date, and available time slot.
- Available slots are shown as green circles; unavailable as red.
- On confirmation, a booking record and Sale Order are created automatically.
- A confirmation email is sent to the customer.
Backend Booking
- Go to Service Booking → Bookings → New.
- Select the customer, service type, resource, and slot.
- Confirm — the booking transitions to Confirmed state.
- A Sale Order is created and linked to the booking.
Managing a Booking
- Reschedule — Open the booking, change the slot, and save.
- Cancel — Click Cancel on the booking form; the slot is released automatically.
- Mark Complete — Click Mark as Done to trigger survey dispatch and timesheet finalisation.
Portal Self-Service
Customers access their bookings at /my/bookings:
- View upcoming and past booking details
- Click Reschedule to pick a new slot (allowed before service date)
- Click Cancel to cancel (allowed before service date; subject to cancellation policy)
PDF Report
From any confirmed booking, click Print → Booking Confirmation to generate the PDF report containing booking details, resource info, service description, and appointment time.
Data Models
| Model | Purpose |
|---|---|
| service.type | Service catalogue entries with duration, price, resources, and equipment |
| service.resource | Technician/resource profiles with working calendar |
| resource.equipment | Equipment items linked to services and bookings |
| booking.slot | Individual time slots generated per resource per day |
| service.booking | Core booking record linking customer, service, resource, slot, and documents |
| slot.check.wizard | Wizard for manual slot generation and availability checking |
Technical Notes
- Module: service_booking
- Version: 19.0.1.1.0
- Category: Services/Field Service
- Author: Shadail Technology
- Maintainer: Shadail Technology
- Website: https://www.shadailtech.com/
- License: OPL-1
- Application: True
Changelog
19.0.1.1.0
- Odoo 19 port — all deprecated API usages removed
- Calendar-aware slot generation
- Customer portal reschedule and cancel
- Survey dispatch on service completion
- PDF booking report
- Role-based access control (Resource / User / Manager)
Support
For support and customisation requests, contact us at:
- Email: info@shadailtech.com
- Phone: +91 79773 52693
- Website: https://www.shadailtech.com/contactus
- Address: Office no. 602, Raj Oaks, MTNL Rd, Gokul Village, Mira Road East, Mira Bhayandar, MH 401107
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module