All posts
Functional4 min read

Booking Appointments and Scheduling Services in Odoo

Use Odoo Appointments to let customers book service time slots online - integrating with the sales process to convert bookings into sale orders and managing service team calendars.

Online Appointment Booking in Odoo#

Service businesses - consultants, clinics, repair shops, training providers - need an online booking system that integrates with their ERP. Odoo Appointments lets customers self-schedule, fills the calendar automatically, and can trigger sale orders for billable sessions.

Prerequisites#

Apps → Appointments → install.

Creating an Appointment Type#

Appointments → Configuration → Appointment Types → New:

  • Name: ERP Consulting Session
  • Duration: 1 hour
  • Location: Video Call (Zoom link auto-generated) or On-Site
  • Available Staff: select which employees can handle this booking type
  • Availability: Mon–Fri, 9:00–17:00 (based on their work schedule)
  • Booking Lead Time: minimum 24 hours before the session (prevents last-minute bookings)
  • Cancellation Policy: up to 48 hours in advance

Publishing the Booking Page#

Appointments → [Appointment Type] → Publish:

  • A booking page appears at yourdomain.com/appointment/erp-consulting
  • Customers see: available time slots based on staff calendars
  • Choose a slot → enter name, email, optional note → confirm

The appointment appears in:

  • The employee's Odoo calendar
  • A confirmation email to the customer with calendar invite

Integration with Sales#

Configure automatic sale order creation on booking:

Appointments → Configuration → Settings → Appointment Product:

  • Link each appointment type to a billable service product
  • When a booking is confirmed: a draft sale order is created for the customer
  • After the session: confirm the SO → invoice the customer

Rescheduling and Cancellation#

Customer receives a link in the confirmation email:

  • Reschedule: customer picks a new slot (within the lead time window)
  • Cancel: cancellation recorded, slot freed for other bookings
  • Staff notified by email of any changes

Group Bookings (Webinars, Workshops)#

For events with multiple attendees:

  • Capacity: max 20 participants per slot
  • Each participant books individually → when capacity is reached, slot shows as full
  • Attendee list is exported for preparation

Calendar Overview for Managers#

Appointments → Calendar → view all upcoming bookings by:

  • Employee: which consultants are busy this week?
  • Type: how many consulting sessions vs. training sessions?
  • Location: on-site vs. remote

Identifies staffing gaps: if 20 sessions are booked and only 3 staff are available, add capacity.

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free