mirror of
https://github.com/odoo/documentation.git
synced 2025-12-12 07:29:27 +07:00
225 lines
10 KiB
ReStructuredText
225 lines
10 KiB
ReStructuredText
:show-content:
|
|
:hide-toc:
|
|
|
|
============
|
|
Appointments
|
|
============
|
|
|
|
Odoo's **Appointments** app is a self-service scheduling app that simplifies the process of booking
|
|
meetings, consultations, or services. Integrated with Odoo's suite of business apps, it allows
|
|
companies to automate appointment scheduling, reduce manual coordination, and provide a seamless
|
|
experience for clients. Appointments can be linked to calendars, **CRM** opportunities, employee
|
|
schedules, and more, making it an ideal tool for service-based businesses seeking efficiency and
|
|
organization.
|
|
|
|
Configuration
|
|
=============
|
|
|
|
The **Appointments** app allows for new appointments to be scheduled based on the availability of
|
|
users, or the availability of *resources*, such as meeting rooms or seating areas. To create a new
|
|
resource, or manage existing resources, navigate to :menuselection:`Appointments --> Configuration
|
|
--> Resources`. This opens a list of the available resources in the database, as well as their
|
|
individual capacity.
|
|
|
|
.. _appointments/resources:
|
|
|
|
Resources
|
|
---------
|
|
|
|
Click :guilabel:`New` to create a new resource. On the blank record, enter a :guilabel:`Name` for
|
|
the new resource. In the :guilabel:`Capacity` field, enter the maximum number of people the resource
|
|
can accommodate. Then, confirm the :guilabel:`Timezone` for this resource.
|
|
|
|
If desired, select one or more :guilabel:`Linked Resource` from the drop-down. This option
|
|
designates one or more resources that can be used in combination to handled a bigger demand.
|
|
|
|
.. important::
|
|
*Linked resources* are only used when using the :ref:`auto-assign <appointments/configure>`
|
|
:guilabel:`Assignment Method`.
|
|
|
|
Lastly, add a :guilabel:`Description` for this resource. The contents of the :guilabel:`Description`
|
|
tab are visible to customers when booking an appointment online.
|
|
|
|
Resource capacity
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
When booking an appointment based on resource availability, the website only displays capacity up to
|
|
`12`. This occurs even if the resource has a higher capacity. To avoid this, a new *System
|
|
Parameter* needs to be added to the database.
|
|
|
|
First, ensure that :ref:`developer mode <developer-mode>` is enabled. Then, navigate to the
|
|
:menuselection:`Settings app --> Technical --> Parameters --> System Parameters`. Click
|
|
:guilabel:`New` to add a new parameter.
|
|
|
|
In the :guilabel:`Key` field, enter `appointment.resource_max_capacity_allowed`. In the
|
|
:guilabel:`Value` field, enter the maximum capacity that should be allowed. Click
|
|
:icon:`fa-cloud-upload` :guilabel:`(Save manually)` when finished.
|
|
|
|
.. image:: appointments/system-parameter.png
|
|
:alt: The new system parameter for capacity limits.
|
|
|
|
.. _appointments/configure:
|
|
|
|
Appointment type configuration
|
|
==============================
|
|
|
|
Before appointments can be scheduled or booked, an appointment type must be created. Navigate to the
|
|
:menuselection:`Appointments` app dashboard and click :guilabel:`New`. On the new blank record,
|
|
enter an :guilabel:`Appointment Title`, then set a :guilabel:`Duration` for this appointment type.
|
|
|
|
Next, set a :guilabel:`Pre-Booking Time`. This is the minimum amount of time between when an
|
|
appointment can be booked and when the appointment can begin. If the :guilabel:`Pre-Booking Time` is
|
|
`1` hour, appointments must be booked *at least* `1` hour in advance.
|
|
|
|
.. example::
|
|
An appointment type is created for `Tennis Courts`, with a :guilabel:`Duration` of `1` hour, and
|
|
a :guilabel:`Pre-Booking Time` of `1` hour. At `02:00` PM, a customer attempts to book an
|
|
appointment for the same day at `02:45` pm. The first available time is `04:00` pm.
|
|
|
|
.. image:: appointments/pre-booking-example.png
|
|
:alt: An example of the booking calendar showing available times.
|
|
|
|
Select a :guilabel:`Scheduling Window`:
|
|
|
|
- Select :guilabel:`Available now` to allow customers to book an appointment immediately. Use the
|
|
:guilabel:`Up to X days into the future` field to define how far in advance customers can schedule
|
|
appointments. For example, if `14` is entered, customers cannot book anything more than 14 days
|
|
from the current date.
|
|
- Select :guilabel:`Within a date range` to limit bookings to a specific range of dates. After
|
|
selecting this option, click the :guilabel:`From` and :guilabel:`to` fields, and use the calendar
|
|
pop-up window to customize the date and time range.
|
|
|
|
Update the :guilabel:`Allow Cancelling` field to limit the amount of time before an appointment
|
|
where a customer can cancel. If this setting is enabled, customers are unable to cancel within the
|
|
designated time frame.
|
|
|
|
.. note::
|
|
If a customer does try to cancel within the time frame, they receive an error message with
|
|
contact information. If the appointment is for a resource, the contact details are for the user
|
|
that created the appointment type. If the appointment is for a user, the contact details are for
|
|
the user the appointment is with.
|
|
|
|
.. image:: appointments/cancellation-message.png
|
|
:alt: An example of the message a customer sees when cancelling.
|
|
|
|
Next, designate whether this appointment type is based on :guilabel:`Users` or
|
|
:guilabel:`Resources`, by selecting the appropriate radio button. If it is based on users, select
|
|
one or more :guilabel:`Users` in the drop-down. If it is based on :ref:`resources
|
|
<appointments/resources>`, select one or more :guilabel:`Resources` in the drop-down.
|
|
|
|
.. tip::
|
|
User-based appointment types can be used for scheduling sales meetings and demos, as well as
|
|
recruiting interviews.
|
|
|
|
Resource-based appointment types can be used for scheduling time in specific rooms or locations.
|
|
|
|
Selecting :guilabel:`Resources` in the :guilabel:`Availability on` field reveals the
|
|
:guilabel:`Manage Capacities` option. If selected, the appointment limits the number of participants
|
|
based on the capacity of the resources selected.
|
|
|
|
Choose an :guilabel:`Assignment Method` by selecting the appropriate radio button:
|
|
|
|
- :guilabel:`Pick User/Resource then Time`: customers select from a list of available
|
|
users/resources, then select an open time slot.
|
|
- :guilabel:`Select Time then User/Resource`: customers choose a date and time, then select from
|
|
the list of available users/resources.
|
|
- :guilabel:`Select Time then auto-assign`: customers select a time slot and are automatically
|
|
assigned a user/resource.
|
|
|
|
Schedule tab
|
|
------------
|
|
|
|
The :guilabel:`Schedule` tab is used to outline when this appointment type is to be made available.
|
|
The settings define the time slots shown on the booking page.
|
|
|
|
Click :guilabel:`Add a line` to create a new time frame. Select a day of the week from the
|
|
:guilabel:`Every` drop-down menu, then update the times in the :guilabel:`From` and :guilabel:`To`
|
|
fields. Click the :icon:`fa-trash-o` :guilabel:`(trash)` icon to delete an entry. Multiple entries
|
|
can be included for a single day.
|
|
|
|
.. tip::
|
|
If an appointment should not be available at specific times, such as when users are taking lunch,
|
|
include time slots before and after.
|
|
|
|
.. image:: appointments/schedule-tab.png
|
|
:alt: An example of the Schedule tab in an appointment.
|
|
|
|
Options tab
|
|
-----------
|
|
|
|
The :guilabel:`Options` tab is used to customize the display options for this appointment, as well
|
|
as notification settings for customers and users.
|
|
|
|
The :guilabel:`Front-End Display` field determines how the appointment is presented on the website
|
|
to customers. Select the :guilabel:`Show Pictures` radio button to publish the default pictures of
|
|
the user or resources for this appointment on the website.
|
|
|
|
The :guilabel:`Timezone` and :guilabel:`Location` fields automatically populate for resource
|
|
appointments, based on where the resource is located. For user-based appointments, the
|
|
:guilabel:`Location` field defaults to an `Online Meeting`, with a :guilabel:`Videoconference Link`
|
|
automatically generated. If this should not be an online meeting, select a different option in the
|
|
:guilabel:`Location` field.
|
|
|
|
Tick the :guilabel:`Manual Confirmation` checkbox to require approval before a meeting is accepted.
|
|
If this feature is enabled, the appointment time slot is still considered *reserved* until it is
|
|
confirmed or rejected. Leave this checkbox blank to automatically accept meetings created from this
|
|
appointment.
|
|
|
|
The :doc:`Create Opportunities <appointments/create-opps>` feature adds an opportunity to the
|
|
**CRM** app for each scheduled appointment, which is assigned to the responsible user. Tick the
|
|
:guilabel:`Create Opportunities` checkbox to enable this option.
|
|
|
|
.. important::
|
|
This field is only visible if the **CRM** app is installed on the database.
|
|
|
|
The :guilabel:`Reminders` field is used to set how customers are to be contacted before the
|
|
appointment time. Select one or more options from the drop-down, based on the communication method,
|
|
and the time frame.
|
|
|
|
Tick the :guilabel:`Allow Guests` checkbox to grant customers the ability to add additional guests
|
|
when registering for an appointment.
|
|
|
|
.. _appointments/questions:
|
|
|
|
Questions tab
|
|
-------------
|
|
|
|
The :guilabel:`Questions` tab can be used to prompt customers for additional information while they
|
|
are booking an appointment. Click :guilabel:`Add a line` to add a new question.
|
|
|
|
On the :guilabel:`Create Questions` pop-up window, enter the :guilabel:`Question`, then choose an
|
|
:guilabel:`Answer Type`.
|
|
|
|
Tick the :guilabel:`Mandatory Answer` checkbox to require customers to answer this question before
|
|
they are allowed to book an appointment. Click :guilabel:`Save & New` to add another question, or
|
|
:guilabel:`Save & Close` when finished.
|
|
|
|
Messages tab
|
|
------------
|
|
|
|
The :guilabel:`Messages` tab is used by the business to provide additional information to customers
|
|
regarding this appointment type.
|
|
|
|
.. important::
|
|
The content in the :guilabel:`Messages` tab is visible to customers and website visitors.
|
|
|
|
In the :guilabel:`Introduction Message` field, add a short description of the appointment type. This
|
|
can include the topic of the appointment, a meeting agenda, or an introduction to the users
|
|
responsible for the meeting.
|
|
|
|
The :guilabel:`Extra Message on Confirmation` is displayed to a customer after they have booked a
|
|
meeting. Add any additional information here that the customer should be aware of. This can include
|
|
parking information, last minute rules, or additional instructions.
|
|
|
|
Publishing an appointment
|
|
=========================
|
|
|
|
When an appointment is ready to publish, click the :guilabel:`Go to Website` smart button at the top
|
|
of the record. Then, slide the :icon:`fa-toggle-off` :guilabel:`Unpublished` icon to
|
|
:icon:`fa-toggle-on` :guilabel:`Published`.
|
|
|
|
.. toctree::
|
|
:titlesonly:
|
|
|
|
appointments/create-opps
|