Universal Appointments and Time Reservations v.13
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 selecting 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.
Structured Service Management
The app let structure service management into 3 levels:
- Resource types - particular businesses (for example, beauty salon, dentists, or hairdressers) and groups of resources (for example class B cars & class C cars). Resource type contains 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.
- Resources - certain specialists (for example, Dentist John Brown, Hairdresser Anna Green) and equipment or facility (for example, Mercedes A1231, Room 12). Resource defines available working time, responsible user, and so on.
- Services - what actually should be done. For instance, consultation, tooth surgery, classic hair cutting, car class C rent. Service regulates time settings of appointments (how long should it take and when it can be started), which goods might be suggested as complementaries. Besides, each service might be linked to a standard Odoo product and in such a way it manages pricing details.
The tool does not force you to have multiple instances for each layer. In very simple cases, each level might be even reflected by a single representative. For example, Lawyers - Attorney Chris Black - Consultation. In case a step has a single option, the app would reflect that by simplifying appointment scheduling.
Auto Time Slots Generation and Smart Reservations
Planning appointments calendar is a critical challenge for service businesses. It is important to avoid both deadtime and customer dissatisfaction caused by waiting or cancellations. This tool aims to automate and to secure process through the smart system of vacant time slots based on working calendars, service peculiarities, and business specifics.
In particular, appointment manager / website visitor would see only those slots which are certainly available and suitable for definite service provision:
- Slots are generated according to configured resource business calendars. Each resource has an own calendar and time offs, so it is just impossible to schedule appointment for non-working time.
- Algorithm takes into account service duration. Depending on a chosen service or selected manual duration, available time slots would have the same required period.
- It is possible to apply reservation limits: per each business (resource type) you may 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.
- As soon as a time slot is reserved, this slot would not be available for reservation. The tool introduces the system when even not yet confirmed appointments (pre-reservations) temporarily block other users choice for target slots. It means that nobody else would be able to schedule appointment for the same resource and for the same time. However, pre-reservation would be canceled if not done within a specified period (you may change this limit on the configuration page).
- If configured, the app would also consider simple meetings of resource responsible users as busy for time slots. So, even if an employee is working now, he/she would not be occupied for service provision.
- The tool is also perfect for multi timezone appointments, for example, for video cross-region consulting. You may either let users choose that time zone by themselves (default is a browser tz), or set the same timezone for all cases. Thus, there would be never confusions.
Individual Customization Offer
The tool is universal and it is designed to work for the most service industries. Simultaneously, each company is unique, and it is hardly possible to take into account 100% of peculiarities of your particular business. Often the module might be a very good core but it would not be fully sufficient for your needs. Besides, we understand that the app covers really a lot of aspects and offers significant number of settings: effort would be required to apply all the features and potential. Our team offers to take those responsibilities, and help you in:
- Setting the tool up according to your company workflows
- Customizing and branding of website pages design, backend views, email templates and printings
- Developing extra features
- Creating brand new solutions based on this app know hows
- Adding complementary bridges with other Odoo apps
- Integrating the tool with external services
- Configuring your Odoo standard settings including email servers and cron jobs.
Organize your perfect service management system starting from $500. For details and conditions please contact our customization team using this form - https://itlibertas.com/business-appointment/customize.
Innovative Backend Appointment Calendar and Scheduling
Automatic time slots generation assumes that no appointment might be entered manually, but it should be selected among available slots and according to the principles you set up. To that goal the tool introduces the special wizard, where managers might add client requirements and details to confirm reservation in a few clicks:
- To start new scheduling just pick up required time period on calendar - the wizard would be automatically initiated. Chosen dates are used as time range for slots. Besides, if you also selected filters by resources or by service, that resources and that service are going to be entered as well.
- In the wizard you can change which resource type, resource, service should be scheduled. The tool would automatically check and restrict 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. That's it! Quick and simple!
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 for simple selection.
In such a way you can control bookings and proceed all required actions from the single calendar interface. Simultaneously, it is always possible to open full appointment details by clicking on its calendar card.
Clear Website Booking Process
Scheduling an appointment through Odoo portal and website is organized as multi steps checkout process:
- Customer searches among resource types (businesses) and select 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.
- Customer navigates over available for this type resources and select 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 resource type assumes automatic allocation.
- Customer chooses desired service among provided by selected resources. For example, "Classic Hair Cutting" or "Car Rent Class C". Clients would not be asked to select a service, if there is only one published for this website.
- 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. The only thing needed is to select one which you like the most. Website visitors might be also allowed to book a few time slots for a chosen service (for example to plan appointments for the next few months). The step 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).
- 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. Here you can also optionally place a checkbox to agree with terms and conditions.
- [Optional Step] As the last step you may ask customers to confirm email / mobile or phone number. If confirmation option is turned on, website visitors would be obliged to insert received code. In case correct code is not introduced in time (change allowed period on the configuration page) - appointment would be canceled and time slot would be again available for others. Take into account that if you selected SMS confirmation (depends on Odoo SMS IAP), but you balance is not sufficient, confirmation code would be forwarded by email.
- That's it! Customer is redirected to the success page and receive confirmation email. For not yet registered users, Odoo would also offer to set up the password to control appointments in 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 and get back to active one.
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.
Sale and Upsell Services
Sale Orders and Appointments
The final goal of service provision is to generate profit, which in row requires accurate pricing, transparent sale process, and upselling. The tool takes into account all those aspects, but it does not reinvent the wheel and it relies upon Odoo standard mechanics. In particular, the app let you link appointments and sale orders. You have 3 options to configure that link:
- Automatic confirmed sale order per each booking. 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 order for reservations. 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, it would be suitable to rely upon that approach.
- 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 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.
Depending on your business model and industry specifics, you might prefer different pricing methods. The tool let you configure that per each resource type, and calculate remuneration for service provision:
- Per planned duration. For example, suitable for car rent or massage.
- Per unit: if appointment has the same price disregarding real 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.
Both service and complementary prices are pricelist 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 feature is available for website / portal users as well. In case there are a few to-select price lists, such users would be able to choose the most suitable (e.g. in a correct currency). For portal user, their partner pricelist 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. If configured, Odoo would show popup wist suggested products:
- For backend managers: immediately after reserving a time slot.
- For website visitors / portal customers: also when selecting appropriate time for reservation.
The popup allows both adding one or a few ones of complementaries, and merely miss the step if suggested products are not required.
The feature is turned on/off on the configuration page: for backend and each website individually. Popup would be shown only in case there are complementaries defined for a booked service.
Manual or Automatic Resource Allocation
In case you have a few resources of the same type, you probably face the challenge how to distribute appointments among those. Here are 2 main approaches covered by the tool:
- 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. In such case you should set up manual allocation method for resource type.
- All resources are considered equally good for clients. For example, customer would hardly compare Opel Astra 1234 vs. Opel Astra 1235. Then, allocation should be done automatically.
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 is configured per each resource type depending on your business specifics:
- 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.
- Allocation by appointments number does not take into account real duration of service provision, but only their absolute quantity. For example, it might be suitable for tire mounting where price is set up not per duration but per units.
- 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.
Take into account that resource allocation is applied not only if you choose automatic method, but also in case customer manually selects a few of resources. For example, a user does not know any of dentists, and he leaves a final assignment choice for you.
Appointment Duration according to Business Needs
Duration is applied per each service individually, and might be flexibly configured:
- 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 & 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)
Configurable Structures of Appointment Pages
The tool let you significantly change website and portal pages structures using Odoo standard website customization tools:
- Show / hide progress bar.
- Show / hide introduction block on pages.
- Show / hide resource types, resources, or services images.
- Show / hide short description for resource types, resources, or services.
- Show / hide prices (on the configuration page).
- Show / hide full details pages for resource types, services, resources
- Show / hide pre-reservation and confirmation timers.
- Introduce your own names for progress steps (on the configuration page).
- Choose contact details fields required to be entered (on the configuration page).
- Define fields which should be entered for appointments.
- Define filters and sorting criteria for resource types, resources, and service pages (on the configuration page). Here you can use custom fields.
- Show / hide agreement with terms and conditions for portal / public users (on the configuration page). Introduce your own text and link for that agreement.
- Prepare own full details pages for resource types, resources, and service using Odoo standard website builder.
Customer Ratings and Reviews
Client feedback is critically valuable for managing any service. This is why the tool applies Odoo rating features for appointments to automatically ask reviews. The feature is optional and might be turned on / off per each resource type.
Feedback request is sent to a customer email as soon as a related appointment is marked done. Clients should just select among 3 simple "smiles": satisfied, not satisfied, highly dissatisfied. The choice is done right on the received email, which automatically redirects users to the page where they may optionally leave extra comment. Login is not required: page is available by access token.
Final rating is calculated for resource types, resources, and services. The formula is =Number of Satisfied Reviews / Total Number of Reviews. You can simply evaluate feedback through the button from any named objects or through the special reporting menu.
Custom Appointment and Business Details
Often companies require specific information to explain their businesses and to fulfill certain tasks. To cover such needs the tool introduces custom fields which might be added to appointments, resource types, resources, and services. Adding a new custom field for any of those objects is as simple as creating a new document.
It is possible to prepare fields of various types: single line text (char), simple text without formatting (text), rich text (HTML-formatted text), integer and float numbers, drop-down choice with your own options (selection), checkbox (Boolean), date and date and time, binary (a file to upload), reference to another Odoo document (e.g. for a project task or a support ticket; many2one). Here you can also decide whether a field should be required to be entered before saving. Then, select an interface location where a custom fields should be placed:
- For appointments you may select location on a form view, portal page and website contact details confirmation page.
- For resource types, resources, and service you may add fields also for form and for website full details pages. Besides, you may have different resource fields depending on resource type (for example, dentists details differ from car details).
Portal Control of Reservations
Customers may control their appointments right in Odoo portal. Here the whole list of open and closed bookings is available. Users might schedule new or repeat existing reservation, cancel or re-schedule planned ones. Each appointment also has chatter box which allows direct communication with resource manager and other followers.
Besides, if appointment has a linked sale order (sent, confirmed or done) it would be also available through the standard portal entries Quotations and Sale Orders.
Multi Websites and Multi Service Businesses
The tool is fully compatible with multi companies and multi website environments. Thus, it is possible to assign resource types, resources, and services for various contexts. In such way, you may organize a range of service businesses with different specifics using the same tool in a single Odoo database.
In particular, the most of online appointment features are configured per website. Even titles of progress steps, custom filters and sorting criteria, contact details fields are possible to re-define per each portal environment. For example, you are welcome to have car rental on one website, and beauty salon on another.
Missed or delayed appointments cause direct profit and reputation losses for service businesses. The way to significantly decrease such losses is to remind managers and customers about reservations at the right time. The tool introduces the configurable alarm system which might be set up according to your own company principles.
The app allows to prepare 3 types of alerts: popups, emails, and SMS. You can quickly create those trough the special configuration menu entry. Then, you may select default alarms for each resource type. Such alarms would be automatically applied to all new appointments of this type. So, there would be no need to manually add reminders for each, although their update would be possible (for example, to have unique notifications for very specific appointments). For each reminder you should define:
- Whom not notify: a responsible manager, external followers (clients), internal followers, or all followers. Popup alarms are available only for backend users.
- 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 specify a template which would be rendered based on a definite appointment details.
Take into account that SMS reminders are sent using the Odoo SMS server. So, make sure that you have sufficient balance for Odoo SMS IAP.
The tool introduces the 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". The latter users are allowed to manage all settings and update any appointment-related objects of their company(s). The former group has limitations:
- Users might only read resource types and services.
- Users might observe only resources, in which they are responsible managers or which do not have such managers at all.
- Users might create and update appointments related to resources which they can observe.
Portal and website security is based on different logic:
- All resource types, resources, and services should be website published in order to become available for selection for both public and portal visitors.
- Any 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 the latter option is not turned on, but you switched the option "Business appointments in portal".
- The tool 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.
- All appointments have automatic numbers. You may change numbering logic (suffix, prefix, step, etc.) through configuring related Odoo sequence.
- The tool has an own report view, where you can analyze appointments on pivot and graph views.
- 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.
Configuration and Installation Tips for Universal Appointments and Time Reservations Odoo v.13
Frequently Asked Questions about Universal Appointments and Time Reservations Odoo v.13
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 source code of purchased tools in one of your Odoo add-ons directory
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.
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.
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).
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.
New features and extra Odoo services (individual development)
Each of our apps might be customized and extended to suit your specific requirements.
Our customization team (itlibertas.com) fulfills not only such jobs but also provides a full range of Odoo services. From simple modifications and consultations to complex enterprise projects. The team has completed over 100 implementations since 2012 and might help with any technical or business needs.
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.
The technical core to synchronize your cloud storage solution with Odoo245€
The tool to automatically synchronize Odoo attachments with OneDrive files in both ways394€