Universal Appointments and Time Reservations v.14
The tool for time-based service management from booking appointment to sale and reviews
This is an Odoo full-featured app to administrate, to control, and to improve service management workflow. The tool let you organize flawless time reservations, control fulfillment, evaluate customer satisfaction, sale and upsell goods in almost any industry. With all options installed the tool represents structured e-shop for your services.
Flexible module setup allows to reflect specifics of your business or even multiple businesses: automate resources distribution or let select those; have predefined appointment duration or let choose it manually; show or hide prices; apply booking restrictions or grant full freedom. Apply own settings to automate provision of your services.
- a core app to manage bookings. It might be used stand-alone for internal control of appointments and scheduling by phone, for example. Its price is 399€.
- an optional module which introduces website booking process and let external users to schedule appointments and control reservations in portal. The features assumed by this add-on are marked by the icon . Its price is 99€.
- an optional free module to introduce service pricing information and to link appointment with sales. The features assumed by this add-on are marked by the icon
- an optional free module to include service price lists and prices into reservation checkout process. The features assumed by this add-on are marked by 2 icons simultaneously: and
- an optional module which let you add and show custom fields for appointments and related objects. The features assumed by this add-on are marked by the icon .
Its price is
- an optional free module which shows custom fields on website and portal pages (frontend). The features assumed by this add-on are marked by 2 icons simultaneously: and
- an optional module which allows to track time spent on each appointment. The features assumed by this add-on are marked by the icon . Its price is 10€.
- an optional free module which allows to consider employees as appointment resources. The features assumed by this add-on are marked by the icon
Smart time slots
Vacant slots for appointments are automatically generated based on working calendars, service peculiarities, and specifics of managed businesses
Set up the structure of resources and services to reflect your company work flows. Assign specialist and equipments manually or automatically. Flexibly manage appointment duration rules
Comfortable scheduling without conflicts
The appointments scheduler allows to make a new reservation in a few clicks. It is quick and simple but with full control over potential intersections
Innovative appointments calendar
Users administrate reservations from the single calendar view: with quick filtering by appointment details and an instant access for required information
Clear website bookings
Let portal partners and website visitors to schedule an appointment through configurable multi-step process of checkout and confirmation
Sell and upsell services
Link bookings with Odoo sale orders and price lists. Boost revenues by upselling accessories
Customer satisfaction and reports
Automatically request client reviews. Analyze appointments by planned and tracked duration, generated revenue
Customizable website and portal pages
Turn on/off optional layout elements. Introduce own titles and welcome texts. Exclude booking steps
Compatible with Odoo standard features
The app is configurable for multi companies and for multi website environments. Appointment resources might be linked with employees, while reservations - with Odoo quotations
Custom details and reminders
Apply popup alarms, add success emails and SMS reminders. Introduce custom fields for reservations, resource types, resources, and services.
Comprehensive and well thought booking app
The app allows backend user to do some simple configuration to make the booking app able to fit in our different business models.
Very good support and also there is module enhancement from time to time with great usability improvements of more use cases.
Innovative backend scheduling
Auto time slots generation
Slots are generated according to configured resource business calendars. Each resource has an own calendar and time offs: it is impossible to schedule appointment for non-working time. If configured, the app would also consider simple meetings of resource responsible users as busy for time slots
The algorithm takes into account service duration. Available time slots have duration depending on a chosen service or one entered manually
Per each resource type define when appointment might be scheduled. For example, time slot is available not later than 2 days before, and not earlier than 30 days before. Similar rules are applicable for re-scheduling and cancellations
Reserved time slots are not available for other bookings. Even not yet confirmed appointments (pre-reservations) temporarily block target slots. Pre-reservation would be canceled if not done within a specified period (you may change this limit on the configuration page)
The tool is also perfect for multi timezone appointments. Either let users choose time zone by themselves (default is a browser tz), or set the same timezone for all cases
Smart Odoo reservations
No appointment might be entered manually, but it should be selected among available slots and according to the principles you set up
To start new scheduling pick up a required time period on calendar - the wizard would be automatically initiated. Chosen dates are used as time range for slots
In the wizard you can change which resource type, resource, service should be scheduled. The tool automatically checks and restricts viable options
As soon as wizard details are filled up, the tool would generate and show time slots. A manager should merely select a desired one. Selection means that this slot is pre-reserved and can not be used for other bookings. You may even let schedule a few appointments simultaneously (regulated by the special setting on the configuration page)
Afterwards, the only thing left is to enter client details
From the appointments calendar you may also re-schedule reservations. To that end just drag and drop an event, and the tool would prepare possible time slots.
Universal website bookings
Scheduling an appointment through Odoo portal and website is organized as multi steps checkout process
A customer searches among resource types and selects a required one. For example, "Beauty salon" or "Class C Cars". The step would not be shown if there is a single published resource type for this website
A customer navigates over available for this type resources and chooses one, a few, or apply any (all). For example, "Hair Dresser John Brown" or "Opel Astra 1234". The step is missed in case there is a single published resource, or a chosen resource type assumes automatic allocation
A customer chooses a desired service among provided by selected resources. For example, "Classic Hair Cutting" or "Car Rent Class C". Clients would not be asked to choose a service, if there is only one published for this website
A customer is shown available time slots. The interface let adopt time frames for search, change time zone, insert duration (for services with manual duration). Each action results in slots recalculation. Website visitors might be optionally allowed to book a few time slots for a chosen service
Slots selection is required and might be not missed. As soon as pre-reservation is done, nobody else can book the same slot. Simultaneously, clients have limited time to make confirmation after which pre-reservation would be canceled (the exact time is up to you)
A customer should enter contact details, set of which might be configured per website. By default required ones are name and email. Previously registered (portal) users would have fields auto populated. Optionally add here a checkbox to agree with terms and conditions
Optionally ask customers to confirm email / mobile or phone number. If confirmation option is turned on, website visitors would be obliged to insert received codes. In case a correct code is not introduced in time (set up on the configuration page), appointments would be canceled. If you selected SMS confirmation (depends on Odoo SMS IAP), but you balance is not sufficient, a confirmation code would be forwarded by email
As soon as all steps are done, a customer receives a confirmation email and is redirected to the success page. For not yet registered users, Odoo would offer to enter the password for Odoo portal
During the whole process customers might see the progress bar (if you have not purposefully turned it off). Progress bar let safely return to any previous step.
Configurable appointment pages
Show / hide progress bar. Introduce your own names for progress steps
Show / hide introduction block, images, short description for resource types, resources, and services
Prepare own full details pages for resource types, resources, and service using Odoo standard website builder. Show / hide links for those pages
Show / hide pre-reservation and confirmation timers
Choose contact details fields required to be entered. Define fields which should be entered for appointments
Define filters and sorting criteria for resource types, resources, and service pages
Show / hide agreement with terms and conditions for portal / public users. Introduce your own text and link for that agreement
Show / hide prices
Portal control of reservations
Customers may control their appointments right in the Odoo portal
Portal users observe the list of planned and done appointments, and may check any of those
The Odoo portal allows to schedule new or repeat existing reservation, cancel or re-schedule planned ones
Each appointment has chatter box which allows direct communication with resource manager and other followers
If an appointment has a linked sale order (sent, confirmed or done) it would be also available through the standard Odoo portal entries 'Quotations' and 'Sale Orders'.
Structured service management
Resource types might be particular businesses you manage. For example, 'beauty salon', 'dentistry', or just 'hairdressers'
Another approach is to consider a resource type as a group of particular resources. For instance, 'class B cars' and 'class C cars' for rental business
Resource types contain main settings of how to organize service provision: how to allocate resources, how to calculate appointment total price, what are time restrictions, which services are possible, etc.
A resource in many service businesses assume certain specialists: For example, 'Dentist John Brown', 'Hairdresser Anna Green'
In other companies it might be a particular equipment or facility. For instance, 'Mercedes A1231', 'Room 12'
Resources are the Odoo object which working calender you are planning. Thus, they define available days, timetable and time offs, responsible users, etc.
An appointment service defines what actually should be done. For instance, 'consultation', 'tooth surgery', 'classic hair cutting', 'car class C rent'
Services are not equal to Odoo products, but they are linked between each other to manage pricing details
Services regulate time settings of appointments (how long should it take and when it can be started), which goods might be suggested as complementaries
3 layers to reflect specifics
The decision what to consider resource types, resources, and services is completely up to you. Such approach let reflect almost any service business
The tool does not force you to have multiple instances for each layer. In simple cases, there might be just a single representative for each step. For example, Lawyers - Attorney Chris Black - Consultation
If there is a single option, the app would reflect that by simplifying appointment scheduling. So, steps without actual choice are auto missed.
Sale and upsell services
Sale orders and appointments
The app let you link appointments and sale orders. You have 3 configuration options
Automatically confirmed sale orders: if chosen, a sale order would be created as soon as appointment is scheduled. The method is suitable in case your service is standard, and final sale positions and details would hardly be changed during appointment. For example, fixed-price hair cutting
Draft sale orders: if chosen, only a quotation would be generated. In such a way you would be more flexible in updating an order during service provision or beforehand. For example, if you want to add extra complementaries during a visit or to grant clients individual discounts
Manual sale orders: if chosen, managers would have to create quotations while providing service. The method might be applicable when most of sale lines become clear only during the visit itself. For example, mobile phone repair business assumes initial diagnostics and only after that offering the price
Until an appointment sale order is not confirmed, you would be also able to update that right from a reservation form. Both service, quantity and complementary products are re-calculated in that case
The tool let you configure pricing method per each resource type
Per planned duration: if chosen, Odoo quotations would be created based on initial reservation plans. For example, it might be suitable for car rent or massage
Per units: if chosen, sale orders consider appointments for the same price disregarding their duration. For example, standard haircutting or tire mounting are invoiced the same disregarding how much time they take
Per tracked (real) duration: when you want to invoice actual time spent on service provision. For example, the approach might be suitable for consultation or legal services
Prices are price list dependent. It means, that a manager might select individual conditions during scheduling. In such a way, it is possible to apply various currencies, discounts, promos
The latter feature is also applicable for website / portal users. In case there are a few to-select price lists, users would be able to choose the most suitable (e.g. in a correct currency). For portal user, their partner price list is selected by default
Complementaries and upselling
When a client finishes scheduling, it seems a good moment to increase a bill by offering complementary products. The tool aims to help you in that
Odoo would show popup wist suggested products for backend managers immediately after reserving a time slot
Website visitors / portal customers would see accessories dialog also when they select time for reservation
The popup allows both adding one / a few of complementaries or merely miss the step if suggested products are not required
The feature is turned on/off on the configuration page: for backend and for each website. Popup would be shown only in case there are complementaries defined for a booked service
Flexible configuration: universal appointment application
In case of a few resources of the same type, the challenge how to distribute appointments among those arises. There are 2 general approaches introduced by the app
Manual allocation - applied when each resource is unique, and you prefer to give clients a right to select among those. For example, customer would like to be consulted by a certain doctor, or to be serviced by a definite hairdresser. Manual allocation does not ask a client to select resource as obligation. This is the right, which might be simply missed by explicitly choosing "any" or a few of resources
Automatic allocation - applied when all resources are considered equally good for clients. For example, customer would hardly compare Opel Astra 1234 vs. Opel Astra 1235. Automatic allocation is configured per each resource type depending on your business specifics
Automatic distribution by resource workload let assign appointments according to the total planned duration of all open appointments. For example, it might be fair in beauty salon to equally spread tasks
Automatic allocation by appointments number does not take into account real duration, but only absolute quantity. For example, it might be suitable for tire mounting where price is set up not per duration but per units
Automatic distribution by order means that each resource has own priority, and allocation is done on a queue basis. Thus, the resource with the highest priority would be always chosen until it has available slots for the target moment. After that, the second-important resource is under consideration until it is also occupied, and so on. For example, such approach might work for facilities booking or car rental
Duration is applied per each service individually according to the set of rules
It is possible both to have rigid duration for service (for example, standard hairdressing always lasts an hour) or let clients / managers select that manually (for example car rental might take from a day or 60 days)
Duration is defined either in hours (for example, it might be suitable for consulting, repair) or in days (for example, applicable for equipment or room rent, conference translator services)
For manual duration it is possible to apply restrictions: what is the maximum/minimum order, what should be the multiplier. For instance, you can simply apply the rule: a service should last not less than an hour, not more than 8 hours, but duration should be always multiplied for 30 minutes (1:20 is not possible, while 01:00 and 01:30 are fine)
The app also allows to define the rule to round time slots start. Sometimes applied restrictions might result in calculated start you do not like. For example, for an hour-long service start at 12:23 is hardly good. To solve the problem you can simply set up rounding for an hour (other available options are 5, 10, 30 minutes; 2 hours; midnight or midday tomorrow)
The app allows to prepare 3 types of appointment alerts: pop-ups, emails, and SMS. You can quickly create those trough the special configuration menu entry. SMS reminders are sent using the Odoo SMS server (make sure that you have sufficient balance for Odoo SMS IAP)
Select default alarms for each resource type. Such alarms would be automatically applied to all new appointments of this type. Otherwise, you may choose those for specific appointments
Define whom not notify: a responsible manager, external followers (clients), internal followers, or all followers. Popup alarms are available only for backend users
Specify a period for alert: it is possible to apply time range in days, hours, or minutes. For instance, 2 days before scheduled date
For SMS and email alarms you should also assign a template which is rendered based on appointment details
Optionally configure automatic requests for a customer review when appointment is done. Clients should select among 3 simple "smiles": satisfied, not satisfied, highly dissatisfied. Final rating is calculated for resource types, resources, and services
The app allows appointment managers to track time spent on providing service. This "real" time might be used not only for statistics, but also to calculate total appointment price.
The tool let link resources and employees to automatically apply working calendars of the latter for appointments of this resource
The tool has an own report view, where you can analyze appointments on pivot and graph views
Appointments have automatic numbering. You may change its logic (suffix, prefix, step, etc.) through configuring the related Odoo sequence
Each appointment has a printing version which might be generated in backend and optionally in portal, and which is attached to all appointment confirmation emails. The printing version relies upon standard Odoo layouts, and might be also used as a service voucher.
The tool introduces an own user rights system to make sure business data is secured. For backend users there are 2 groups which are allowed to work with appointments: "Appointments: Only Own" and "Appointments: Administrator"
Appointments admins are allowed to manage all settings and update any appointment-related objects of their company(s)
The 'only own' group has limitations and its users has rights: (a) only to read resource types and services; (b) to observe only resources, in which they are responsible managers or which do not have such managers at all; (c) to create and to update appointments related to resources which they can observe
Portal and website security is managed independently
Resource types, resources, and services should be website published in order to become available for selection for both public and portal visitors
Any website visitor might schedule appointment and access resources / services without registration if you turned the option "Business appointments on website"
Portal users have the same rights even if the latter option is not turned on, but you switched the option "Business appointments in portal".
Custom attributes' creation does not require any technical knowledge. In order to show a new property, just add a new field and enter details
The tool let prepare new fields for resource types, resources, services, and reservations
It is possible to add custom fields of the following types: single line text (char), simple text without formatting (text), rich text (HTML-formatted text), integer or float numbers, drop-down choice with your own options (selection), checkbox (boolean), date or date and time, binary (a file to upload), reference to another Odoo document (e.g. for a sale order, contact; many2one)
The tool let you comfortably select an interface position of a custom field from a closed list of options. Optionally you may select also portal / website position to make properties visible for public users
For website booking process it is possible to force users select custom appointment details
Have different resource fields depending on resource type (for example, dentists details differ from car details).
Configuration and Installation Tips for Universal Appointments and Time Reservations Odoo v.14
The tool depends on the external Python library 'phonenumbers'. Install this library for your Odoo server through the command:
pip3 install phonenumbers
Frequently Asked Questions about Universal Appointments and Time Reservations Odoo v.14
Voucher is a special pdf attachment prepared for appointments. This attachment is generated automatically based on Odoo web templates. With certain technical skills or with a help of any Odoo partner/vendor, it is possible to modify that template (as it is done per Odoo quotations, invoices, etc). By default, it uses the standard Odoo company layout for reports and printings.
In the backend, it is possible to turn on the ‘Multi scheduling’ option, then the manager will be able to make several bookings for a customer for different services/resources and choose several time slots.
In the portal, there is the ‘Multi scheduling’ option. It allows the customer to book one service/resource, but for several time slots. To book more than one service/resource, the customer should do several bookings.
As soon as all steps are done, a customer receives a confirmation email and he/she is redirected to the success page by default (a pdf with a voucher is attached to such email). On the success page, it is possible to print the voucher as well.
For managers/specialists you may configure subscriptions per resource type and resources. For example, notifications regarding new appointments are linked to the email subtype 'New appointments and recovering'. Besides, the app allows to set up reminders to alarm involved parties. Have a look at the appointments app > Configurations > Reminders.
When a client starts reserving service and chooses a time slot, it becomes unavailable for other users and pre-reservation occurs. In order to make it available again, you need to set the maximum time for the reservation. After this time, if the client didn't complete the reservation, the time slot will be available again.
To set the time for pre-reservation:
1. Open the Appointments app
2. Go to Configuration>Configuration
3. In the 'Maximum Period for Pre-Reservation' set the time
The resource division might be configured differently. One approach is to rely upon Odoo multi companies. As you create resources types/resources/services, you can optionally specify the company they relate to. Or you can make them ‘global’, related to all companies. Thus, the set of resource types/resources/services may be different for each company.
It is also possible, to set the appointments process differently on different websites/branches. Just choose the website to show particular resource type/resources/services. These branches may even be connected to completely different spheres, for example, one site may be used to book English lessons and the second one to book the time in a gym.
Even without assigning different companies or websites, it is possible to set up appointments for different spheres of your business. The app is designed in such a way, that you can on your own decide which step to relate to your businesses. For example, you can consider one resource type as a dentist clinic in the city center and the second one as surgical dentistry in a residential area. This way, using resource types, you will be able to manage different branches and divide the resources by them even without a multi-companies environment.
Yes, a user can create an appointment without creating an account, but only for the first time. As a person makes an appointment, his email is reserved in the base and cannot be used again. So for further registrations, or for existing contacts, it is necessary to log in, in order to make an appointment.
A user can sign up either from confirmation email or right in Odoo. Invitation link is short-lived, so if a user missed the opportunity, he/she would have to reset a password afterwards or ask for your help.
To change the language of an email template:
1. Make sure, that you have the target languages installed in your Odoo.
2. Then, turn on the developer mode and go to Technical > Templates
3. There, find the template 'Appoints: Success Email'
4. Start editing the template, and click on the language icon in the top right corner of the article's template.
5. You will see the article's body in all system languages. Manually translate the target language email, but don't delete the code. Save the result.
After that, you also need to change the contact's language to the preferred one (can be changed on the contact's card in the field 'Language'). Then, such contacts will receive the email in this language.
If a person makes an appointment for the first time on your website, then, by default, the opened site's language will be assigned to them. And the confirmation email in that language will be sent.
The field 'Start round' rounds the time to this number, to avoid cases, when the time doesn't look good. For example, if now the time is 9:48 and I should book a service no later than a day before it, then the first available time tomorrow will be 9:48, which is not a good time. But, if you choose to round for an hour (01:00), then the available time will be 10:00.
To see some more options and examples of the way to round the time ('Help'), hover over the field's title.
You are welcome to customize those. Please find templates under the menus Configuration > Notifications > Email Templates and SMS Templates.
Besides, you may apply different templates for different resource types. Have a look at any resource type > Notifications.
The tool already does it automatically for you:
if there is a single published resource type, the first step would not be shown;
if resource allocation method is automatic or there is a single published resource, the second step would be missed;
if there is a single published service for chosen resource type / resources, then the third step would be missed.
The only step which should be configured is the confirmation page: you may turn it on /off on the configuration page.
According to the current Odoo Apps Store policies:
- every module bought for the version 12.0 and prior gives you an access to the all versions up to 12.0.
- starting from the version 13.0, every version of the module should be purchased separately.
- disregarding the version, purchasing a tool grants you a right for all updates and bug fixes within a major version.
Take into account that faOtools team does not control those policies. By all questions please contact the Odoo Apps Store representatives directly.
The easiest approach is to use the Odoo store built-in workflow:
1. Open the module's page and click the button Deploy on odoo.sh
2. After that, you will be redirected to the GitHub page. Login to your account and click 'Create a new repo' or use the existing one. Please, make sure, that your repository is private. It is not permitted to publish the apps under the OPL-1 license. If necessary, create a new repo for your Odoo.sh project
3. Then, go to odoo.sh and click on the deploy button, submit the decision in the pop-up window and click 'Continue'. The action will trigger the installation process.
These steps would install the app for your project production branch. If you wanted to deploy the apps for other branches or update the module, you should undertake the following actions:
1. Upload the source code for the app from the Odoo store
2. Commit the module to a required GitHub repository. Make sure that none of the app folders/files are ignored (included in the .gitignore of your repo). Repositories are automatically created by odoo.sh, which might add by default some crucial items there (e.g. /lib). You should upload all module directories, subdirectories, and files without exceptions
3. Deploy a target branch of the odoo.sh project or wait until it is automatically built if your settings assume that.
Unzip the source code of the purchased tools in one of your Odoo add-ons' directories;
Re-start the Odoo server;
Turn on the developer mode (technical settings);
Update the apps' list (the apps' menu);
Find the app and push the button 'Install';
Follow the guidelines on the app's page if those exist.
Yes, sure. Take into account that Odoo automatically adds all dependencies to a cart. You should exclude previously purchased tools.
A red/orange warning itself does not influence features of the app. Regretfully, sometimes our modules do not pass standard automatic tests, since the latter assumes behavior which is in conflict with our apps goals. For example, we change price calculation, while standard Odoo module tests compare final price to standard algorithm.
So, first of all, please check deployed database features. Does everything work correctly?
If you still assume that warning influences real features, please contact us and forward full installation logs and the full lists of deployed modules (including core and third party ones).
Regretfully, we do not have a technical possibility to provide individual prices.
No, third party apps can not be used on Odoo Online.
Yes, all modules marked in dependencies are absolutely required for a correct work of our tool. Take into account that price marked on the app page already includes all necessary dependencies.
The price for our modules is set up in euros. The Odoo store converts prices in others currencies according to its internal exchange rate. Thus, the price in US Dollars may change, when exchange rate changes.
Odoo demonstration databases (live previews)
For this app, we might provide a free personalized demo database.
No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.
By your request, we will prepare an individual live preview database, where you would be able to apply any tests and check assumptions for 14 days.
In case you have faced any bugs or inconsistent behavior, do not hesitate to contact us. We guarantee to provide fixes within 60 days after the purchase, while even after this period we are strongly interested to improve our tools.
No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.
Please include in your request as many details as possible: screenshots, Odoo server logs, a full description of how to reproduce your problem, and so on. Usually, it takes a few business days to prepare a working plan for an issue (if a bug is confirmed) or provide you with guidelines on what should be done (otherwise).
Public features requests and module ideas (free development)
We are strongly motivated to improve our tools and would be grateful for any sort of feedback. In case your requirements are of public use and might be efficiently implemented, the team would include those in our to-do list.
Such a to-do list is processed on a regular basis and does not assume extra fees. Although we cannot promise deadlines and final design, it might be a good way to get desired features without investments and risks.
No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.
The technical core to synchronize your cloud storage solution with Odoo245€
The tool to automatically synchronize Odoo attachments with OneDrive files in both ways394€
The tool to automatically synchronize Odoo attachments with Google Drive files in both ways394€
The tool to automatically synchronize Odoo attachments with OwnCloud / NextCloud files in both ways394€
The tool to build deep and structured knowledge base for internal and external use. Knowledge System. KMS
The tool to create website documentation based on your knowledge base
The tool to combine different Odoo events in a few configurable super calendars. Shared calendar. Common calendar.74€