diff --git a/content/applications/productivity/calendar.rst b/content/applications/productivity/calendar.rst index 6fbf6b454..6390b54ea 100644 --- a/content/applications/productivity/calendar.rst +++ b/content/applications/productivity/calendar.rst @@ -1,9 +1,284 @@ -:nosearch: +:show-content: ======== Calendar ======== +Odoo **Calendar** is a scheduling app that allows users to integrate a company's business flow into +a single management platform. By integrating with the other apps in Odoo's ecosystem, **Calendar** +allows users to schedule and organize meetings, schedule events, plan employee appraisals, +coordinate projects, and more – all from the same platform. + +Upon opening the :menuselection:`Calendar app`, users have an overview of their current meetings. +The selected view option appears as a :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or +:guilabel:`Year` drop-down menu. Under the view options drop-down menu, users can also enable or +disable :guilabel:`Show weekends`. + +.. image:: calendar/calendar-overview.png + :alt: Overview of Calendar app. + +.. tip:: + Depending on the selected view option, users can click the :icon:`oi-arrow-left` + :icon:`oi-arrow-right` :guilabel:`(left or right arrow)` buttons to switch between days, weeks, + etc., and switch back to the current day with the :guilabel:`Today` button. + +Sync third-party calendars +-------------------------- + +Users can sync Odoo with existing :doc:`Outlook ` and/or +:doc:`Google ` calendars, by heading to +:menuselection:`Calendar app --> Configuration --> Settings`. From here, enter +:guilabel:`Client ID` and :guilabel:`Client Secret`. There is also an option to pause +synchronization by ticking the checkbox, or automating synchronization by keeping it blank. + +Once the desired configurations are complete, be sure to click :guilabel:`Save` before moving on. + +Events created in synced calendars automatically appear across the integrated platforms. + +.. seealso:: + - :doc:`Synchronize Outlook calendar with Odoo ` + - :doc:`Synchronize Google calendar with Odoo ` + +Create activities from chatter +------------------------------ + +Instantly create new meetings anywhere in Odoo through an individual record's chatter, like +in a **CRM** opportunity card or task in the **Projects** app. + +From the chatter, click on the :guilabel:`Activities` button. In the :guilabel:`Schedule Activity` +pop-up window, select the desired :guilabel:`Activity Type`, which populates a set of buttons, +depending on the activity. + +Activities that involve other schedules, like :guilabel:`Meeting` or :guilabel:`Call for Demo`, link +to the **Calendar** app. Select one of these activities to link to the **Calendar** app, then hit +:guilabel:`Open Calendar` to navigate back to the app. Alternatively, it is also possible to +:guilabel:`Schedule & Mark as Done` to close out the activity, or select :guilabel:`Done & Schedule +Next` to keep the :guilabel:`Schedule Activity` window open to create another. + +.. seealso:: + :doc:`Schedule activities in Odoo <../essentials/activities>` + +Plan an event +------------- + +To put an event on the calendar, open the :menuselection:`Calendar app`, and click into the target +date. On the :guilabel:`New Event` pop-up window that appears, start by adding the event title. + +.. image:: calendar/calendar-schedule-event.png + :alt: Schedule an event window on Calendar app. + +The target date auto-populates in the :guilabel:`Start` field. This can be changed by clicking +into the date section, and selecting a date from the calendar. For multi-day events, select the end +date in the second field, then click :guilabel:`Apply`. + +Tick the :guilabel:`All Day` checkbox if there is no specific start or end time. + +For events with specific start and stop times, ensure the :guilabel:`All Day` checkbox is unticked +to enable time selection. With the :guilabel:`All Day` checkbox unticked, time selections appear in +the :guilabel:`Start` field. + +The signed-in user auto-populates as the first attendee. Additional :guilabel:`Attendees` can be +added or created from here, as well. + +For virtual meetings, copy and paste the URL into the space provided in the +:guilabel:`Videocall URL` field. Or, click :icon:`fa-plus` :guilabel:`Odoo meeting` to create a +link. + +Next, either create the event by clicking :guilabel:`Save & Close`, or select :guilabel:`More +Options` to further configure the event. + +.. tip:: + Once the event is created, users can click into the virtual meeting directly from the calendar + event to access more configuration options. + +.. image:: calendar/calendar-new-meeting.png + :alt: The full event form for a new calendar event. + +The :guilabel:`Description` field allows users to add additional information and details about the +meeting. + +Click :guilabel:`More Options` to navigate to the meeting form, which provides additional +configurations for the event: + +- :guilabel:`Duration`: Define the length of the meeting in :guilabel:`hours`, or toggle the + :guilabel:`All Day` switch. +- :guilabel:`Recurrent`: Tick the checkbox to create a recurring meeting. Once selected, this + opens new fields: + + - :guilabel:`Timezone`: Select the timezone for which this meeting time is specified. + - :guilabel:`Repeat`: Select the recurring period of this meeting. Depending on what type of + recurrence has been selected, a subsequent field appears, in which users can indicate when the + meeting should recur. For example, if :guilabel:`Monthly` is selected as the :guilabel:`Repeat` + option, a new field appears, in which the user decides on what :guilabel:`Day of Month` the + meeting should recur. + - :guilabel:`Until`: Select the limited :guilabel:`Number of repetitions` this meeting should + recur, the :guilabel:`End date` of when the recurrences should stop, or if the meetings should + recur :guilabel:`Forever`. +- :guilabel:`Tags`: Add tags to the event, like `Customer Meeting` or `Internal Meeting`. These can + be searched and filtered in the **Calendar** app when organizing multiple events. +- :guilabel:`Appointment`: Link existing or new appointments. These can be configured through the + :ref:`Share Availabilities ` button from the main **Calendar** + dashboard. +- :guilabel:`Privacy`: Toggle between visibility options to control who can view the event. +- :guilabel:`Organizer`: This is defaulted to the current Odoo user. Select a new one from + existing users, or create and edit a new user. +- :guilabel:`Description`: Add additional information or details about the meeting. +- :guilabel:`Reminders`: Select notification options to send to attendees. Choose a default + notification, or configure new reminders. + +Coordinate with teams' availability +----------------------------------- + +When scheduling an event for multiple users, on the **Calendar** app dashboard, tick the checkbox +next to :guilabel:`Attendees` to view team members' availability. Tick (or untick) the checkbox next +to listed users to show (or hide) individual calendars. + +.. image:: calendar/calendar-attendees.png + :alt: View of Attendees section on Calendar app. + +.. _calendar/share-availabilities: + +Share Availabilities +-------------------- + +On the **Calendar** app main dashboard, click the :guilabel:`Share Availabilities` button at the top +of the page. Next, click and drag to select the available times and dates on the calendar to add +them as options in the invitation. + +.. tip:: + To remove a selected time range, hover over the availability to click the :icon:`fa-trash` + :guilabel:`(trash)` icon. + +.. note:: + Within the :guilabel:`Share Availabilities` feature, selecting times is only possible on the + *Day* calendar views. + +Once availability has been selected, click the :icon:`fa-external-link` :guilabel:`Open` button to +navigate to the associated appointment. + +.. image:: calendar/calendar-meeting-share-availability.png + :alt: Share availability window on Calendar app. + +Several configuration options are available on the appointment form: + +In the :guilabel:`Scheduling` field, set a minimum hour window to ensure appointments are confirmed +a specified amount of time in advance. For example, set `01:00` to require attendees to confirm at +least one hour before their appointment time. + +In the :guilabel:`Allow Cancelling` field, set a maximum hour window before the appointment that +attendees are able to cancel. + +The :guilabel:`Availability on` field enables attendees to book :guilabel:`Users` or +:guilabel:`Resources`, such as meeting rooms or tables. After selecting :guilabel:`Users` or +:guilabel:`Resources`, type in the desired user or resource in the space below. + +The :guilabel:`Front-End Display` field is used to choose :guilabel:`No Picture` or +:guilabel:`Show Pictures` related to the selected user or resource on the appointment page. + +If :guilabel:`Resources` has been selected in the :guilabel:`Availability on` field, users have an +option to :guilabel:`Manage Capacities`. + +Tick the checkbox to limit the maximum amount of people that can use the resource at the same time. + +The :guilabel:`Assignment Method` field enables the order in which attendees book their time and +user/resource: + +- :guilabel:`Pick User/Resource then Time` +- :guilabel:`Select Time then User/Resource` + +If :guilabel:`Resources` has been selected in the :guilabel:`Availability On` field, a third option +is available, :guilabel:`Select Time then auto-assign`. + +Optionally, configure the following tabs: + +- :ref:`calendar/appointment-schedule` +- :ref:`calendar/appointment-options` +- :ref:`calendar/appointment-questions` +- :ref:`calendar/appointment-messages` + +Click the :guilabel:`Preview` button to see how the appointment link looks for attendees. + +Once the configurations are finished, click the :guilabel:`Share` button to generate a link to send +directly, or click :guilabel:`Publish` to publish the appointment selection on the connected Odoo +website. + +.. _calendar/appointment-schedule: + +Schedule tab +~~~~~~~~~~~~ + +In the :guilabel:`Schedule` tab of the appointment form, time slots can be managed. The target date +and time populate as the first time slots. + +To add a new time slot, hit :guilabel:`Add a line`. Click into the new blank space under the +:guilabel:`From` field, then select and enter the new target start date and time, respectively. +Repeat under the new blank space under :guilabel:`To` to select and enter the new target end date +and time. + +.. _calendar/appointment-options: + +Options tab +~~~~~~~~~~~ + +The :guilabel:`Options` tab provides additional configurations: + +- :guilabel:`Website`: Specify which website this meeting invitation will be published on. +- :guilabel:`Timezone`: This defaults to the company's timezone selected in the **Settings** app. + To change the timezone, select the desired option from the drop-down menu. +- :guilabel:`Location`: Select or create new locations from the drop-down menu. If this field is + left empty, the meeting is considered to be taking place online. +- :guilabel:`Videoconference Link`: Select from :guilabel:`Odoo Discuss` or :guilabel:`Google Meet` + to include a video conference link in the meeting invitation, or leave it blank to prevent + generating a meeting URL. +- :guilabel:`Manual Confirmation`: Only shown if :guilabel:`Resources` has been selected in the + :guilabel:`Availability On` field. Tick the checkbox and enter a maximum percentage of the + selected resource(s)' total capacity to create a manual confirmation requirement to finalize the + meeting. +- :guilabel:`Up-front Payment`: Tick the checkbox to require users to pay before confirming their + booking. Once this is ticked, a link appears to :icon:`oi-arrow-right` :guilabel:`Configure + Payment Providers`, which enables online payments. +- :guilabel:`Limit to Work Hours`: If :guilabel:`Users` has been selected in the + :guilabel:`Availability On` field, tick the checkbox to limit meeting time slots to the selected + :doc:`users' working hours <../hr/employees/new_employee>`. +- :guilabel:`Create Opportunities`: When this is selected, each scheduled appointment creates + a new **CRM** opportunity. +- :guilabel:`Reminders`: Add or delete notification reminders in this field. Select the blank space + for additional options. +- :guilabel:`Confirmation Email`: Tick the checkbox to automatically send a confirmation email to + attendees once the meeting is confirmed. Select from the email templates or click + :guilabel:`Search More...`, then :guilabel:`New` to create a custom template. +- :guilabel:`Cancelation Email`: Tick the checkbox to automatically send a cancelation email to + attendees if the meeting is canceled. Select from the email templates or click + :guilabel:`Search More...`, then :guilabel:`New` to create a custom template. +- :guilabel:`CC to`: Add contacts to be notified of meeting updates in this field, regardless if + they attend the meeting. +- :guilabel:`Allow Guests`: Tick the checkbox to allow attendees to invite guests. + +.. _calendar/appointment-questions: + +Questions tab +~~~~~~~~~~~~~ + +In the :guilabel:`Questions` tab, add questions for the attendee to answer when confirming their +meeting. Click :guilabel:`Add a line` to configure a :guilabel:`Question`. Then select a +:guilabel:`Question Type`, optionally add a :guilabel:`Placeholder` answer, and choose whether it is +a :guilabel:`Required Answer`. + +To learn how to create more comprehensive questionnaires, head to the **Survey** app +documentation on :doc:`creating and configuring data-capturing questions +<../marketing/surveys/questions>`. + +.. _calendar/appointment-messages: + +Messages tab +~~~~~~~~~~~~ + +In the :guilabel:`Introduction Message` field of the :guilabel:`Messages` tab, add additional +meeting information that appears on the invitation. + +Information added to the :guilabel:`Extra Message on Confirmation` field appears once the meeting is +confirmed. + .. toctree:: :titlesonly: diff --git a/content/applications/productivity/calendar/calendar-attendees.png b/content/applications/productivity/calendar/calendar-attendees.png new file mode 100644 index 000000000..fae0a9a14 Binary files /dev/null and b/content/applications/productivity/calendar/calendar-attendees.png differ diff --git a/content/applications/productivity/calendar/calendar-meeting-share-availability.png b/content/applications/productivity/calendar/calendar-meeting-share-availability.png new file mode 100644 index 000000000..abc779dc4 Binary files /dev/null and b/content/applications/productivity/calendar/calendar-meeting-share-availability.png differ diff --git a/content/applications/productivity/calendar/calendar-new-meeting.png b/content/applications/productivity/calendar/calendar-new-meeting.png new file mode 100644 index 000000000..85eb3f209 Binary files /dev/null and b/content/applications/productivity/calendar/calendar-new-meeting.png differ diff --git a/content/applications/productivity/calendar/calendar-overview.png b/content/applications/productivity/calendar/calendar-overview.png new file mode 100644 index 000000000..4d4704733 Binary files /dev/null and b/content/applications/productivity/calendar/calendar-overview.png differ diff --git a/content/applications/productivity/calendar/calendar-schedule-event.png b/content/applications/productivity/calendar/calendar-schedule-event.png new file mode 100644 index 000000000..7c233735e Binary files /dev/null and b/content/applications/productivity/calendar/calendar-schedule-event.png differ