diff --git a/content/applications/hr.rst b/content/applications/hr.rst index 1c1f42a30..a4d026834 100644 --- a/content/applications/hr.rst +++ b/content/applications/hr.rst @@ -15,3 +15,4 @@ Human resources hr/time_off hr/recruitment hr/referrals + hr/lunch diff --git a/content/applications/hr/lunch.rst b/content/applications/hr/lunch.rst new file mode 100644 index 000000000..12a6e2be1 --- /dev/null +++ b/content/applications/hr/lunch.rst @@ -0,0 +1,310 @@ +===== +Lunch +===== + +The *Lunch* application in Odoo allows users a convenient way to order food and pay for their meal +directly from the database. + +Before employees can use the *Lunch* application, there are a number of configurations to consider: +settings, vendors, locations, products, product categories, and alerts. Once these are created, +employees can view offerings and order food. + +Settings +======== + +Only two settings are needed to configure in the *Lunch* app: overdraft settings and notifications. +To access the settings, navigate to :menuselection:`Lunch app --> Configuration: Settings`. + +Configure the following: + +- :guilabel:`Lunch Overdraft`: enter the maximum overdraft amount for employees. The currency + format is determined by the localization setting of the company. +- :guilabel:`Reception notification`: set the message users receive via the *Discuss* app when their + food has been delivered. The default message `Your lunch has been delivered. Enjoy your meal!` + populates this field, but can be modified, if desired. + +.. tip:: + If in a database with multiple languages installed, many forms in the *Lunch* application have + the option of entering translations for various fields. + + If translations are available to be configured, a language code appears next to a translatable + field on a form. To add translations for that field, click the two letter language code (for + example, :guilabel:`EN` for English) and a translation pop-up window appears. + + The following is an example for the :guilabel:`Reception notification` field in the settings + menu: + + Navigate to :menuselection:`Lunch app --> Configuration: Settings`. Click the :guilabel:`EN` In + the top-right of the text box beneath the :guilabel:`Reception notification` section. A + :guilabel:`Translate: company_lunch_notify_message` pop-up window loads with the option to enter + a translation for the other languages used by the database. + + The first column lists the different languages in alphabetical order, with the currently selected + language in bold. The second column has the currently configured message in each column. The last + column in the far-right provides a text box to type in a translation for each language. + + Enter the text that should appear for each language, then click :guilabel:`Save`. + + .. image:: lunch/translation.png + :align: center + :alt: The translation text box, with the current language highlighted, and the Arabic + translation field highlighted. + +Vendors +======= + +Before food can be ordered, the restaurants that make the food, referred to as *vendors* in Odoo, +**must** be configured. + +First navigate to :menuselection:`Lunch app --> Configuration: Vendors`, and all currently +configured vendors for the *Lunch* app appear in a default Kanban view. To change to a list view, +click the :guilabel:`≣ (four horizontal lines)` icon in the top-right corner. + +To add a new vendor, click the :guilabel:`New` button in the top-left corner, and a new lunch +supplier form loads. + +Fill out the following fields on the form. + +Vendor information +------------------ + +- :guilabel:`Vendor`: enter a name for the vendor. +- :guilabel:`Vendor`: select the vendor from the drop-down menu. If the vendor has not already been + entered in the system, type in the vendor name and click either :guilabel:`Create "vendor"` to add + them, or :guilabel:`Create and edit...` to create the vendor and edit the vendor form. The vendor + form allows for more detail, aside from the name, to be entered, such as contact information. + + .. note:: + If a selection is made to the drop-down :guilabel:`Vendor` field, the text :guilabel:`Vendor` + field (above the drop-down :guilabel:`Vendor` field) updates with the name of the vendor chosen + from the drop-down menu. + + The list of vendors that is presented in the drop-down menu is pulled from the *Contacts* + application. + +- :guilabel:`Address`: enter the vendor's address in the various fields in this section. +- :guilabel:`Email`: enter the vendor's email in this field. +- :guilabel:`Phone`: enter the vendor's phone number in this field. +- :guilabel:`Company`: if this vendor is only available to a specific company, select the company + from the drop-down menu. If this field is left blank, the vendor's items are available to **all** + companies. + +.. image:: lunch/vendor-info.png + :align: center + :alt: The top portion of the vendor form filled out. + +Availability +------------ + +The :guilabel:`AVAILABILITY` section presents a table with two rows. The days of the week populate +the top row, and the bottom row has checkboxes. Check the corresponding box for each day of the week +the vendor is available. + +By default, Monday through Friday have checkmarks. + +.. image:: lunch/availability.png + :align: center + :alt: The default view of the availability section, with Mon-Fri enabled. + +Orders +------ + +- :guilabel:`Delivery`: using the drop-down menu, select either :guilabel:`Delivery` if the vendor + delivers food to the office, or :guilabel:`No Delivery` if ordered food must be picked up. +- :guilabel:`Location`: select which locations are able to order from this vendor. Multiple + locations can be selected. If this field is left blank, **all** locations can order from the + vendor. + + .. note:: + By default, an `HQ Office` location is created by default when creating a database, and is + available to select from the list. + +- :guilabel:`Send Order By`: click the radio button to select how orders are sent to the vendor. The + available options are :guilabel:`Phone` or :guilabel:`Email`. +- :guilabel:`Order Time`: this field appears if :guilabel:`Email` is selected for :guilabel:`Send + Order By`. Enter the time that an order must be emailed for the order to be accepted. Enter the + time in a `HH:MM` format, then select either :guilabel:`AM` or :guilabel:`PM` from the drop-down + next to the time field. + +.. image:: lunch/orders.png + :align: center + :alt: The orders section of a vendor form, with all fields filled out. + +Extras +------ + +When ordering an item in the *Lunch* app, it is possible to show extra items that can be added to an +order, sometimes referred to as *add-ons*. These can be configured in any manner that suits the +products being offered. + +By default, Odoo allows for three types of extra items, which can be thought of as *categories*. By +default, the first type or *category* of add-ons is labeled `Extras`, the second is labeled +`Beverages`, and the third is labeled `Extra Label 3`. + +.. important:: + When configuring the extras, it is important to keep in mind that all the extras configured will + appear for **every item** offered by the vendor. That means that only items which apply to + **all** products from the vendor should be added. + +Configure extras +~~~~~~~~~~~~~~~~ + +Enter the following information for each of the three available extra sections: + +- :guilabel:`Extra (#) Label`: enter a name for the type of extra, such as `Toppings` or + `Beverages`. This can be thought of as a *category*. +- :guilabel:`Extra (#) Quantity`: select how the extras are allowed to be selected. The options are: + + - :guilabel:`None or More`: select this if the user is not required to select anything. + - :guilabel:`One or More`: select this to **require** the user to make at least one selection. + - :guilabel:`Only One`: select this to **require** the user to make only one selection. + +Add extras +~~~~~~~~~~ + +After the labels and quantities have been configured for an extra category, the individual extra +items must be added for each category. + +Click :guilabel:`Add a line` at the bottom of the list that appears on the right-hand side of the +extra category. Enter the :guilabel:`Name` and :guilabel:`Price` for each item being added. The +price can remain at `$0.00` if there is no cost. This is common for items like disposable silverware +or condiments. + +.. example:: + For a pizzeria that only offers personal pies, see their extras configured as follows: + + The first extra is configured for the various toppings they offer. The :guilabel:`Extra 1 Label` + is set to `Toppings`, and the :guilabel:`Extra 1 Quantity` is set to :guilabel:`None or More`. + The various toppings are then added, with their corresponding costs. + + .. image:: lunch/extras.png + :align: center + :alt: The first of the extras configured for pizza toppings. + + The pizzeria also offers a free beverage with any purchase. To set this up, the :guilabel:`Extra + 2 Label` is set to `Beverages`, and the :guilabel:`Extra 1 Quantity` is set to :guilabel:`Only + One`. The various beverage choices are added, and the cost for each remains zero. + + .. image:: lunch/beverages.png + :align: center + :alt: The second of the extras configured for a free beverage with purchase. + +Locations +========= + +By default, Odoo creates an `HQ Office` location when the *Lunch* application is installed. If a +company has more than one location, they must be configured. + +To add a location, navigate to :menuselection:`Lunch app --> Configuration: Locations`. The +currently configured locations appear in a list view. Click the :guilabel:`New` button in the +top-left corner and a blank line appears beneath the last location in the list. + +Enter the name of the location in the field. Next, click into the :guilabel:`Address` field to the +right of the name, and enter the location's address. It is possible to enter multiple lines in the +address field. + +Repeat this for all locations that need to be added. + +.. image:: lunch/locations.png + :align: center + :alt: A list view of the locations with the new button highlighted. + +Products +======== + +Before any orders can be placed, the individual products that are being offered must be configured, +as no products are pre-configured in Odoo, by default. + +First, navigate to the products page by going to :menuselection:`Lunch app --> Configuration: +Products`. Next click the :guilabel:`New` button in the top-left corner and a blank product form +loads. + +Enter the following information on the form: + +- :guilabel:`Product Name*`: enter the name for the product. +- :guilabel:`Product Category*`: using the drop-down menu, select the category this product falls + under. +- :guilabel:`Vendor*`: using the drop-down menu, select the vendor that supplies this product. +- :guilabel:`Price`: enter the price for the product. The currency is determined by the localization + of the company. +- :guilabel:`Description`: enter a description of the product in this field. This description + appears beneath the product photo when users are viewing the options for the day. +- :guilabel:`New Until`: using the calendar popover, select the date that the product will no + longer be labeled as new. Until this date, a green `New` tag appears on the product. +- :guilabel:`Company`: if the product should only be available to a specific company, select it from + the drop-down menu. If this field is left blank, this product is available for all companies in + the database. +- Image: hover over the image box in the top-right corner of the form, and click the :guilabel:`✏️ + (pencil)` edit icon that appears. A file explorer pop-up window appears. Navigate to the image, + then click :guilabel:`Open`. + + (*) indicates required field. + +.. image:: lunch/product.png + :align: center + :alt: A product form filled out for a nine inch pizza. + +Product categories +================== + +Product categories are a way to organize the offerings in the *Lunch* app, and allows for users to +quickly filter the offerings when reviewing the menu for the day. + +To add or modify categories, navigate to :menuselection:`Lunch app --> Configuration: Product +Categories`. The available categories appear in a list view. In the *Lunch* app, there are four +default categories : :guilabel:`Sandwich`, :guilabel:`Pizza`, :guilabel:`Burger`, and +:guilabel:`Drinks`. + +To add a new category, click the :guilabel:`New` button in the top-left corner, and a blank category +form loads. Enter a name in the :guilabel:`Product Category` field. If the category is +company-specific and should only appear for a certain company, select the :guilabel:`Company` from +the drop-down menu. + +If desired, add a photo for the category. Hover over the image box in the top-right, and click the +:guilabel:`✏️ (pencil)` edit icon that appears. A file explorer pop-up window appears. Navigate to +the image, then click :guilabel:`Open`. + +.. image:: lunch/category.png + :align: center + :alt: The category form, with the fields filled out for a Soup category. + +Alerts +====== + +It is possible to set up alerts that can either be displayed in the *Lunch* app, or be sent to +specific employees via the *Discuss* app. + +No alerts are pre-configured by default. To set up an alert, navigate to :menuselection:`Lunch app +--> Configuration: Alerts`. Click the :guilabel:`New` button in the top-left corner and a blank +lunch alert form loads. Enter the following information on the form: + +- :guilabel:`Alert Name`: enter a name for the alert. This should be short and descriptive, such as + `New Lunch Vendor` or `Order by 11`. This field is **required**. +- :guilabel:`Display`: select whether the alert is visible in the *Lunch* app (:guilabel:`Alert in + app)` or sent to employees via the *Discuss* app in a chat window (:guilabel:`Chat notification`). + + - :guilabel:`Recipients`: this field only appears if :guilabel:`Chat notification` is selected for + the :guilabel:`Display` option. Select who receives the chat alert. The options are: + :guilabel:`Everyone`, :guilabel:`Employee who ordered last week`, :guilabel:`Employee who + ordered last month`, or :guilabel:`Employee who ordered last year`. + +- :guilabel:`Location`: select the locations the alert should appear for from the drop-down menu. + Multiple locations can be selected. This field is **required**, therefore, if the alert applies + to all locations, select all the locations from the drop-down menu. +- :guilabel:`Show Until`: if the alert should expire on a specific date, select the date from the + calendar picker. +- :guilabel:`Active`: this option is on (appears green) by default. To turn off the alert, click the + toggle so that it no longer appears green. +- :guilabel:`Message`: Enter the alert message in this field. This field is **required**. +- :guilabel:`Notification Time`: select the days of the week the alert should be sent. By default, + all seven days are active. Click on a checkbox to change the setting from active to inactive. + + If :guilabel:`Chat notification` was selected for the :guilabel:`Display` option, a + :guilabel:`Time` field also appears. Enter the time the chat message should be sent. Next, select + if the time is either :guilabel:`AM` or :guilabel:`PM` using the drop-down menu to the right of + the :guilabel:`Time` field. + +.. image:: lunch/alert.png + :align: center + :alt: An alert form with al the information filled out for a chat alert sent at 10:30 AM, asking + employees to submit orders by 11:30 AM. diff --git a/content/applications/hr/lunch/alert.png b/content/applications/hr/lunch/alert.png new file mode 100644 index 000000000..b46223693 Binary files /dev/null and b/content/applications/hr/lunch/alert.png differ diff --git a/content/applications/hr/lunch/availability.png b/content/applications/hr/lunch/availability.png new file mode 100644 index 000000000..aad21232b Binary files /dev/null and b/content/applications/hr/lunch/availability.png differ diff --git a/content/applications/hr/lunch/beverages.png b/content/applications/hr/lunch/beverages.png new file mode 100644 index 000000000..809160dce Binary files /dev/null and b/content/applications/hr/lunch/beverages.png differ diff --git a/content/applications/hr/lunch/category.png b/content/applications/hr/lunch/category.png new file mode 100644 index 000000000..9bee324aa Binary files /dev/null and b/content/applications/hr/lunch/category.png differ diff --git a/content/applications/hr/lunch/extras.png b/content/applications/hr/lunch/extras.png new file mode 100644 index 000000000..60b46ad26 Binary files /dev/null and b/content/applications/hr/lunch/extras.png differ diff --git a/content/applications/hr/lunch/locations.png b/content/applications/hr/lunch/locations.png new file mode 100644 index 000000000..4140198b6 Binary files /dev/null and b/content/applications/hr/lunch/locations.png differ diff --git a/content/applications/hr/lunch/orders.png b/content/applications/hr/lunch/orders.png new file mode 100644 index 000000000..8ca166247 Binary files /dev/null and b/content/applications/hr/lunch/orders.png differ diff --git a/content/applications/hr/lunch/product.png b/content/applications/hr/lunch/product.png new file mode 100644 index 000000000..db7303733 Binary files /dev/null and b/content/applications/hr/lunch/product.png differ diff --git a/content/applications/hr/lunch/translation.png b/content/applications/hr/lunch/translation.png new file mode 100644 index 000000000..c0706a55f Binary files /dev/null and b/content/applications/hr/lunch/translation.png differ diff --git a/content/applications/hr/lunch/vendor-info.png b/content/applications/hr/lunch/vendor-info.png new file mode 100644 index 000000000..7905499cd Binary files /dev/null and b/content/applications/hr/lunch/vendor-info.png differ