ACI Documentation

Attendance Scanning

Executive Summary

Attendance Scanning is the day-centre check-in console. Front-desk staff select a facility and start a full-screen scanning session on a touch-screen or card-reader device. Clients scan their membership card (or type the number on the on-screen keypad) as they arrive and leave, and the system finds the client's visit for the day in AlayaCare and clocks that visit in or out. Every scan is saved to a history log with a status and message, so staff can review what happened, step through previous days, filter by client, and export the day to Excel. A closing PIN prevents clients from leaving the scanning screen.

Key Features

  • Start a full-screen scanning session for the selected facility, showing the facility name, the service day, and the agency logo when one is configured
  • Scan a membership card or type the number using the on-screen numeric keypad
  • Automatically clock the client's visit in on the first scan, and out on the next scan, in AlayaCare
  • Record every scan (successful or skipped) with a status, message type, and message
  • Optionally block repeat scans of the same card within a set number of minutes
  • Require a closing PIN to end the scanning session
  • Review scan history by day, move to the prior or next day, and filter by client name
  • Export the displayed history to Excel
  • Open the scanned client in AlayaCare from the history grid (when permitted)
  • Configure the facility, PIN prompt text, closing PIN, minimum time between scans, and visit-override behaviour in the page settings

Typical Workflow

  1. Confirm the Facility (it defaults to the facility chosen in the page settings).
  2. Click Start. The full-screen scanning session opens on the Scan Your Membership Card prompt.
  3. As each client arrives, scan the membership card (or type the number) and select Continue. The first scan of the day clocks the visit in; a later scan clocks it out. A message confirms the result, and the screen returns to the prompt for the next client.
  4. When the session is over, select Close (or the close icon), enter the closing PIN, and select Continue.
  5. Click Show History to review the day's scans. Use Prior Day / Next Day or the Scan Date picker to change the day, filter by client name if needed, and click Export History to save the list to Excel.

Configurable Settings

Open View Settings or Edit Settings from this screen (when permitted) to change these options.

GroupSettingTypePurpose
GeneralFacility For Day Center RegistrationDropdownFacility used for attendance scanning. It is pre-selected on the page, and Start is blocked until a facility is selected.
GeneralAttendance Scan Pin Form LabelTextHeading shown above the PIN entry box when the session is being closed.
GeneralClosing Pin Day Attendance ScanningTextPIN that must be entered to close a scanning session.
GeneralAttendance Scan Minimum Time For New Scan (In Minutes)NumberMinimum number of minutes before the same client can be scanned again at this facility. Leave at 0 to allow any repeat scan.
Visit OverridesOverlapping VisitsYes/NoAllows the visit update made at clock-in to go through even if it overlaps another visit.
Visit OverridesService InstructionsYes/NoBypasses the AlayaCare service-instructions validation at clock-in.
Visit OverridesReason CodeYes/NoBypasses the AlayaCare reason-code validation at clock-in.
Visit OverridesLocked VisitYes/NoAllows clock-in on a visit that is locked in AlayaCare.
Visit OverridesBlocked EmployeeYes/NoAllows clock-in when the assigned employee is blocked for the client or service.
Visit OverridesUnavailable EmployeeYes/NoAllows clock-in when the assigned employee is marked unavailable at the visit time.
Visit OverridesBlocked FacilityYes/NoAllows clock-in when the facility is blocked for scheduling.
Visit OverridesAuthorizationYes/NoBypasses AlayaCare authorization checks at clock-in.

Two further options affect scanning but are maintained outside this dialog: the agency logo shown at the top of the scanning screen, and whether clock-in and clock-out use the scheduled visit times (the default) or the actual time of the scan.

Available Permissions

The following permissions are available to be assigned to AlayaCare Roles:

AttributeWhat It Controls
ViewOpen the page
Settings ViewOpen View Settings to see the page configuration
Settings EditOpen Edit Settings and change the page configuration
Client Scan View In AlayaCareShow View Client In AlayaCare on the right-click menu of the history grid

Main Grid

Scan history is hidden until you click Show History. The grid then lists every scan recorded for the selected facility on the selected date (20 rows per page).

ColumnDescription
IDScan number.
Scan TimeDate and time of the scan, shown in the tenant time zone.
Scan ValueThe value that was scanned or typed.
ClientClient last name, first name. Blank when the client could not be identified.
AC UIDAlayaCare client ID.
StatusResult of the scan: Pending (in progress), Success (the visit was clocked in or out), or Skipped (nothing was clocked).
Message TypeINF for an informational (successful) result, ERR for a problem.
Visit IDAlayaCare visit that the scan was matched to. 0 when no visit was matched.
MessageDescription of what happened. Hover over a clipped message to read it in full.

Common messages seen in the Message column:

MessageMeaning
Visit has been clocked in for the first time / for the *n*th timeThe visit had no completed work sessions (or n-1 earlier ones) and was clocked in.
Visit has been clocked out / clocked out for the *n*th timeThe visit was open and has been clocked out.
You have already scanned in within the last n minutes.The minimum time between scans has not passed.
The client AC UID could not be found in AlayaCareThe client number does not exist in AlayaCare.
The client GUID is incorrectThe verification code on the card does not match the client.
No qualifying visit was found for the facility, date and client.The client has no eligible visit at this facility on the service day.
More than 1 qualifying visit was found for the facility, date and client.Two or more eligible visits exist, so the system cannot choose.
Visit details could not be loaded.AlayaCare did not return the visit.
Error clocking in … / Error punching out …AlayaCare rejected the clock-in or clock-out. The AlayaCare reason is included.

Main Grid Filters

FilterPurpose
FacilityFacility whose scans are recorded and shown. Changing it reloads the history when history is visible.
Scan DateDay of scans to display. Shown only while history is visible; changing it reloads the history.
Filter Client NameLimits the history to clients whose first or last name contains the text entered (not case-sensitive).

Click Apply to refresh the list with the client-name filter. Use Clear to reset it.

Actions

ButtonDescription
StartOpens the full-screen scanning session for the selected facility. A warning is shown if no facility is selected.
View SettingsOpens the page settings in read-only mode (when settings view is permitted).
Edit SettingsOpens the page settings for editing (when settings edit is permitted).
Show HistoryDisplays the scan history for the selected facility and date. Replaced by Hide History once history is showing.
Prior DayMoves the history to the previous day.
Next DayMoves the history to the next day.
Hide HistoryHides the history grid and its filters.
Export HistoryExports the rows currently in the grid (after the client-name filter) to an Excel file. A warning is shown if no facility is selected or there is nothing to export.
ApplyApplies the client-name filter.
ClearClears the client-name filter.
View Client In AlayaCare (right-click a row)Opens the client's scheduling page in AlayaCare in a new browser tab. Available only with the Client Scan View In AlayaCare permission.

Dialog Components

Attendance Scanning Session

Opens full-screen from Start. The header reads Attendance Scanning – {Facility} – {service day}, where the service day is today's date. This screen is designed for a touch-screen kiosk: it uses large buttons and an on-screen numeric keypad, and the cursor is returned to the entry box after each action so a card reader can be used without touching the screen.

Prompts

This dialog has no tabs. It shows one of two prompts at a time.

PromptPurpose
Scan Your Membership CardEntry box and numeric keypad for the membership number, with a Continue button. This is the prompt shown when the session opens and after every scan.
PIN promptShown when the session is being closed. The heading is the Attendance Scan Pin Form Label from the settings.

Scanning a card

The membership number has two parts separated by an asterisk: the client's AlayaCare ID, then a four-digit verification code (for example, 12345*6789). Select Continue after scanning or typing it. A short message at the top of the screen reports the outcome, and the prompt clears for the next person. Possible outcomes are:

  • Successfully clocked in. The client's visit for the day was clocked in.
  • Successfully clocked out. The client's visit was already clocked in and is now clocked out.
  • A warning or error message. The scan was not applied (for example, number not found, already scanned recently, no visit found, or more than one visit found). The client should see front reception for help.

Entering nothing and selecting Continue shows "Please enter a membership number". A number that is not in the expected two-part format shows "Member Number Not Found" and is not saved to history. If service codes have not been set up for clocking at the facility, a warning is shown and scanning cannot proceed.

Closing the session

Select Close or the close icon at any time. The session does not close immediately; it switches to the PIN prompt instead. Enter the closing PIN and select Continue to close the session. A blank or incorrect PIN shows a warning and the prompt stays open. Closing the dialog a second time from the PIN prompt returns to the Scan Your Membership Card prompt instead of closing. When the session closes, the history grid refreshes if it is showing.

If no closing PIN has been entered in the settings, nothing can be accepted at the PIN prompt, so the session cannot be closed from the screen. Set the PIN before starting a session.

Dependencies

The following tables must be configured for lookups on this view to work:

TableDescription
FacilitiesFacilities offered in the Facility dropdown and in the page settings. The facility's time zone determines the boundaries of the service day.
ServiceCodesService codes marked for facility intervention clocking. Only visits with one of these service codes are eligible to be clocked in or out by a scan.

Processing Overviews

This section describes what happens after you confirm a processing action.

Continue (scan a membership card)

  1. Requires a membership number, and requires that at least one service code is set up for facility intervention clocking.
  2. Splits the number into the client ID and the verification code. If it is not in that two-part format, the scan is rejected and is not saved to history.
  3. Signs in to AlayaCare and looks up the client by ID.
  4. If a minimum time between scans is set and this client was already scanned at this facility within that period, a Skipped history row is saved and the scan is stopped.
  5. Saves a Pending history row for the scan. If the client is not found in AlayaCare, or the verification code does not match the client, the row is updated to Skipped and the scan is stopped. Otherwise the row is updated with the client's name and ID.
  6. Loads the client's visits at the facility for the service day (midnight to midnight in the facility's time zone). Cancelled visits and availability entries are ignored, and only visits with a service code set up for facility intervention clocking are kept.
  7. If no visit remains, or more than one remains, the row is marked Skipped and the scan is stopped. Otherwise the visit is attached to the history row.
  8. Loads the visit's details and its work sessions from AlayaCare to decide whether this scan is a clock-in or a clock-out.
  9. Clock-in (the visit has no work session, or all of its sessions are already clocked out):
    • Updates the visit in AlayaCare using the configured visit overrides.
    • Stops with an error if the assigned employee already has an open work session for the same client and service.
    • Clocks the visit in at the scheduled visit start time, or at the moment of the scan if the settings call for the actual time, and corrects the work-session start time to the visit start when scheduled times are used.
    • Marks the history row Success ("clocked in for the first time" or "clocked in for the *n*th time"). If AlayaCare rejects the clock-in, the row is marked Skipped with AlayaCare's reason.
  10. Clock-out (the visit has an open work session):
    • Clocks the open work session out at the scheduled visit end time, or at the moment of the scan if the settings call for the actual time.
    • Adds a note to the visit in AlayaCare saying it was clocked out by ACIntegration, with the signed-in user and the date and time.
    • Marks the history row Success ("clocked out" or "clocked out for the *n*th time"). If AlayaCare rejects the clock-out, the row is marked Skipped with AlayaCare's reason.
  11. If an unexpected error occurs at any point, the row is marked Skipped with the error text, and a warning is shown.
  12. Clears the screen and returns to the Scan Your Membership Card prompt for the next scan.

Closing PIN (Continue on the PIN prompt)

  1. Requires a PIN to be entered.
  2. Compares it with the closing PIN from the settings. If it does not match, a warning is shown and the prompt stays open.
  3. When it matches, the scanning session closes and the history grid refreshes if it is showing.

Export History

  1. Requires a selected facility and at least one row in the grid after the client-name filter is applied.
  2. Builds an Excel workbook with one sheet, Attendance Scans, listing the rows in scan-time order with these columns: ID, Scan Time, Facility ID, Facility, Timezone, Scan Value, Client, AC UID, Visit ID, Status, Message Type, Message Code, and Message.
  3. Downloads the file, named attendanceScanHistory_{date}_{timestamp}.xlsx, and shows "Exported Successfully".

Tutorial: Connecting MS Entra to ACIntegrations (SSO)

This step-by-step guide shows how an organization configures Microsoft Entra (Azure AD) so that ACIntegrations (ACI) can sign users in through an OpenID Connect (OIDC) connection, and how those users then reach ACI from AlayaCare. It is shown here only as an example tutorial and is not specific to the Attendance Scanning view.

You need access to the Azure portal (portal.azure.com) with permission to register applications and assign users, and an AlayaCare tenant URL. The examples below use the sample tenant name acme.

Part 1: Register the application in MS Entra

Create a separate app registration for each of your production, staging and UAT environments. Name each one so that it reflects the ACI environment it supports.

  1. In the Azure portal home page, select App registrations.
  2. Click New registration.
  3. Type an application Name. We recommend that the value reflect the ACI environment being supported (production, staging or UAT).
  4. Click Register.

Part 2: Configure Authentication

  1. Open the new app registration and select Authentication.
  2. Click Add a platform.
  3. Select Web.
  4. Type the Redirect URI. The value is https:// followed by your AlayaCare tenant URL, then .sharedidp. and either acintegrations.ca or acintegrations.com (to match your AlayaCare tenant), followed by /callback. For a tenant named "acme" on the .ca domain the values are:
    • Production: https://acme.sharedidp.acintegrations.ca/callback
    • Staging: https://acme.staging.sharedidp.acintegrations.ca/callback
    • UAT: https://acme.uat.sharedidp.acintegrations.ca/callback
  5. Type the Front-channel logout URL using the same pattern as the Redirect URI. This is required for single sign-out to work correctly.
  6. Click Configure.
  7. To complete the list of Redirect URIs, click Add URI and add a second URI. The second URI is the same address without /callback, ending with a trailing / (the trailing / is required), for example https://acme.sharedidp.acintegrations.ca/.
  8. Click Save.

These two Redirect URIs are sufficient for the application to function. If any issues are encountered during deployment, however, it may be necessary to temporarily add localhost values for support purposes. These would be the same for any environment (do not include staging or UAT anywhere in the values):

  • https://localhost:44336/
  • https://localhost:44336/callback

Part 3: Create a client secret

  1. In the app registration, select Certificates & secrets.
  2. Click New client secret.
  3. Type a Description for the secret and choose when it should expire.
  4. Click Add.
  5. Copy the secret Value to the clipboard and store it in a secure location before continuing. MS Entra only gives you one opportunity to see the Value, and you will need to provide it to ACI.

Part 4: Add the email claim to the token

  1. In the app registration, select Token configuration.
  2. Click Add optional claim.
  3. Set the Token type to ID.
  4. Select email.
  5. Click Add.
  6. When prompted, turn on the Microsoft Graph email permission. It is required for the claim to appear in the token.
  7. Click Add again to confirm.

Part 5: Assign users to the application

The approach for assigning users or groups varies by organization. This guide assigns an individual user.

  1. In the Azure portal, select Enterprise applications.
  2. Select the app registration you just added.
  3. Select Users and groups.
  4. Click Add user/group.
  5. Click None Selected.
  6. Select the applicable user or users.
  7. Click Select.
  8. Click Assign.

The users are now assigned to the application.

Part 6: Provide the values to ACI

ACI needs the following four values from the app registration:

ValueWhere it comes from
Application (client) IDShown on the app registration's Overview page.
Directory (tenant) IDShown on the app registration's Overview page.
Client secret ValueThe value you copied and stored in Part 3. If you no longer have it, create a new secret.
ExpiresThe expiry date of the client secret. ACI warns users when the expiration is approaching so the secret does not expire without notice.

Part 7: Logging in with SSO

  1. On the AlayaCare sign-in page, click Login with SSO.
  2. The MS Entra authentication workflow starts for your AlayaCare environment. Select an available account, or choose Use another account.
  3. Enter your sign-in (email address) and then your password.
  4. After you are logged in to AlayaCare, select the AC Integrations link. The link appears if it has been enabled for at least one of the Roles in your AlayaCare employee profile.
  5. ACIntegrations opens without asking you to log in again.

Part 8: Checking a user's ACI permissions

In AlayaCare

  1. Select Employees.
  2. Find the employee using the email address that is used to authenticate with MS Entra.
  3. Select the employee, then select Demographics.
  4. Select Roles & Permissions and make a note of the Roles assigned to the employee.

In ACI

  1. Open the Administration menu and select AlayaCare Roles.
  2. Click a role to select it.
  3. To see the ACI permissions for that role, right-click and choose Edit, or click the pencil icon in the last column.
  4. Select a menu item in the list (for example Caseloads). The available views appear on the right, with a checkmark where the selected role has the permission.

Exporting the permissions

You can export the permission settings to an Excel document for easier viewing. The menus and their views are the rows, and the AlayaCare Roles are the columns, in the same order as in AlayaCare.

  • To see which ACI actions a role can perform, scan the role's column from top to bottom for checkmarks.
  • To see which roles can perform a specific action, scan the action's row from left to right for checkmarks under the roles.