From 9ae3ffc9253cfaf35e66a9b8d72fefa7731dbc97 Mon Sep 17 00:00:00 2001 From: "Lara Martini (larm)" Date: Fri, 21 Jun 2024 13:00:58 -0400 Subject: [PATCH] [IMP] Attendances: updating hardware to include badges closes odoo/documentation#9892 Signed-off-by: Lara Martini (larm) --- .../applications/hr/attendances/hardware.rst | 120 +++++++++++++----- .../hr/attendances/hardware/badge.png | Bin 0 -> 27157 bytes 2 files changed, 85 insertions(+), 35 deletions(-) create mode 100644 content/applications/hr/attendances/hardware/badge.png diff --git a/content/applications/hr/attendances/hardware.rst b/content/applications/hr/attendances/hardware.rst index 2a06050d7..5910aa02b 100644 --- a/content/applications/hr/attendances/hardware.rst +++ b/content/applications/hr/attendances/hardware.rst @@ -2,56 +2,106 @@ Hardware ======== -Kiosk management -================ +Employees who are **not** database users, and therefore, do **not** have access to the *Attendances* +app, must sign in and out of work using a kiosk. The following are the physical requirements for +setting up a kiosk. -A kiosk is a self-service station that allows employees to check in and check out for work shifts. +Kiosk devices +============= -There are two ways to set up a kiosk: +A kiosk is a self-service station, where employees can :ref:`check in and out of work +` with either a :ref:`badge ` or an +:ref:`RFID key fob `. Typically, these devices are dedicated as kiosks +only, but any device with an internet browser is able to be set up as a kiosk. -- **Laptop and desktop PC** +A kiosk is used by navigating to the webpage specified in the :ref:`configuration +` section of the *Attendances* app. - Running a kiosk in a web browser is the cheapest and most flexible option. You can print employee - badges with any thermal or inkjet printer compatible with your web browser. +Kiosks are set up using one of the following types of devices: -- **Tablet and mobile phone (Android or iOS)** +- Laptop or Desktop computer +- Tablet +- Mobile phone (Android or iOS) - Tablets and mobile phones take up much less space, and their touchscreens are easy to use. - Consider putting them in a secure stand at the front desk or mounting them securely on a wall. +.. tip:: + Touchscreens are easy to use, and tablets and mobile phones take up less space. That's why most + consider using a smaller device with a touchscreen as a kiosk. - .. tip:: - We recommend using an iPad together with the `Heckler Design WindFall Stand - `_ + It is recommended to place kiosks on a secure stand, or mount them securely on a wall. + +.. _attendances/hardware/badges: + +Badges +====== + +Badges are a way for employees to quickly sign in and out from a kiosk, as badges are scanned by the +kiosk's camera to quickly identify the employee. + +To generate a badge, first navigate to the :menuselection:`Employees app`. Next, click on the +desired employee card to open the employee's form, then click the :guilabel:`HR Settings` tab. + +Under the :guilabel:`ATTENDANCE/POINT OF SALE/MANUFACTURING` section, there is a :guilabel:`Badge +ID` field. If this field is blank, click :guilabel:`Generate` at the end of the :guilabel:`Badge +ID` line, and the field is automatically populated with a new badge ID number. Then, click +:guilabel:`Print Badge` at the end of the badge ID number to create a PDF file of the badge. + +If a badge ID number is already present on the employee form, there is no :guilabel:`Generate` +button, only a :guilabel:`Print Badge` button. + +The employee's badge contains the employee's photo, name, job position, company logo, and a barcode +that can be scanned at a kiosk to check in and out. + +Badges can be printed for employees using any thermal or inkjet printer. + +.. image:: hardware/badge.png + :align: center + :alt: A badge for an employee that is created from the Employees app. + +.. note:: + Badges are **not** required, as employees can manually identify themselves on the kiosk. + +Barcode scanners +---------------- + +When using badges to check in and out, the barcode **must** be scanned to identify the employee. +This can be done with the kiosk's camera, if one is available on the device. + +If a camera is **not** available on the kiosk device, an external barcode scanner must be used to +scan badges. + +Kiosks work with most USB barcode scanners. Bluetooth barcode scanners are also supported for +devices without USB ports, or if a wireless connection is desired. + +Follow the manufacturer's instructions on the barcode scanner to properly connect the barcode +scanner to the kiosk device. + +.. tip:: + If the barcode scanner is connected directly to a computer, it :doc:`must be configured + <../../inventory_and_mrp/barcode/setup/hardware>` to use the computer's keyboard layout. + +.. note:: + An IoT box is **not** required to use a barcode scanner. + +.. _attendances/hardware/rfid: RFID key fob readers ==================== -Employees can scan personal RFID key fobs with an RFID reader to manage check-ins and check-outs -quickly and easily. +Instead of using a :ref:`badge `, employees can scan a personal RFID +key fob with an RFID reader to check in and out of work. + +It is **required** to purchase *both* RFID key fobs and an RFID reader to use this method to check +in and out. Follow the manufacturer's directions to install the RFID reader, and set up the RFID key +fob. .. image:: hardware/rfid-reader.jpg :align: center - :width: 40% - :alt: An RFID key fob is placed on an RFID reader + :width: 50% + :alt: An RFID key fob is placed on an RFID reader. .. tip:: - We recommend using the `Neuftech USB RFID Reader `_. + A recommended RFID reader is the `Neuftech USB RFID Reader + `_. .. note:: - An IoT box is **not** required. - -Barcode scanners -================ - -Employees can scan the barcode on their employee badges to manage check-ins and check-outs quickly -and easily. The kiosk mode works with most USB barcode scanners connected directly to a computer. -Bluetooth barcode scanners are also supported natively. - -.. tip:: - We recommend using the `Honeywell product line - `_. If the barcode - scanner is connected directly to a computer, it must be configured to use the computer's keyboard - layout. - -.. note:: - An IoT box is **not** required. + An IoT box is **not** required to use RFID key fobs. diff --git a/content/applications/hr/attendances/hardware/badge.png b/content/applications/hr/attendances/hardware/badge.png new file mode 100644 index 0000000000000000000000000000000000000000..289dc49a66f5e4961c72b2dbbd02e439094e2cb2 GIT binary patch literal 27157 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 vl5