Service Scheduler Manual
Document: 275.01B — Qmatic
Copyright Notice
The information in this document is subject to change without prior notice and does not represent a commitment on the part of Q-MATIC AB. All efforts have been made to ensure the accuracy of this manual, but Q-MATIC AB cannot assume any responsibility for any errors and their consequences. This manual is copyrighted and all rights are reserved. Reproduction is not allowed without written permission from Q-MATIC AB.
COPYRIGHT © Q-MATIC AB, 2025. Feedback and questions: documentation@qmatic.com.
1. What’s New
| Version | Chapter | Change |
|---|---|---|
| 01.A | General | Create manual for Service Scheduler. |
| 01.B | Using Service Scheduler | Add setting to use Max number of tickets in Concierge; add information about multi-language widget configuration; add information about touchscreen schedule. |
2. Introduction
2.1 Introduction
With Service Scheduler, you can schedule the availability of services and buttons on kiosks and in Mobile Ticket. You can also add a keyboard to a touch surface where customers can enter their phone number.
Main features:
- Schedule services and define when they are available on kiosks and in Mobile Ticket.
- Schedule buttons on touch screen kiosks.
- Set up a max number of tickets per service.
- Offer customers the option to enter their phone number to receive visit updates by text.
2.2 System Requirements
To control the opening hours of services in Mobile Ticket:
- Mobile Ticket version 1.11.0
- Orchestra 7 update 10 (4.0.0.697)
- Buttonschedule.utt version 7.0.3.12
2.3 Access Rights
Users of Service Scheduler must be assigned to a role with the following access modules:
- Schedule Services
- Connector Entrypoint
- Connector Servicepoint
3. Install Service Scheduler
3.1 Software Components
All components are available in Xtend.
Application:
-
buttonschedule.war(Service Scheduler) — Where schedules and related settings are configured.
Unit Type Templates:
-
buttonschedule.utt(Schedule Service) — Must be added to the equipment profile; handles scheduling events. -
EntryPoint_<IntroX>_Schedule.utt(IntroX Schedule) — Required if you want a special page shown when the printer is out of paper. -
EntryPoint_Intro5_Schedule.utt(Intro 5 Schedule) — Required for Intro 5 kiosks to enable service scheduling and to print another ticket when services are closed.
Widgets:
-
buttonschedulesms.wgt(Service Scheduler and SMS logic) — Must be added to surfaces with services or buttons to schedule.
3.2 Install Service Scheduler Application
- Copy
buttonschedule.warto thecustdeployfolder of Orchestra. - Add the content from
add_to_commonMessages.txtto the fileapplicationMessages.properties. - Add
buttonScheduleMessages.propertiesto the Orchestra lang folder. Additional language properties files can also be placed here. - Execute
update_central.sql(from the sql folder) against theqp_centraldatabase. - Restart Orchestra Central.
- In System Administration, upload
buttonschedule.uttand save. - In Business Configuration, add the Schedule Service unit type to the required equipment profiles. See section 4.16 for full UTT settings.
- Create users and roles with access rights for Service Scheduler. See section 2.3.
4. Using Service Scheduler
4.1 Overview
Configuration in Service Scheduler is primarily per branch. When you open Service Scheduler, select a branch first. To change branch while working, click Select branch in the top right corner.
Menu tabs available:
- Branch — Set a max number of tickets for the branch.
- Touchscreen — Set up schedules per touchscreen.
- Templates — View and edit templates.
- Services — Set up schedules per service.
- Buttons — Set up schedules per button.
- Copy Template — Copy templates to services.
- Link Template — Map templates to services.
- New Template — Create new templates.
- Global Settings — Schedule open hours for all branches and instantly close services on all branches.
4.2 Pages in Surface Editor
To schedule services and buttons and define what happens when they are closed or disabled, you need specific pages in your touch surface. Set the Return to start page time for the surface to 0 and instead set an individual time for each page.
Commonly needed pages include:
- A start page with services, service group buttons, or appointment check-in vs. drop-in selection.
- Page(s) with service selection buttons.
- Page to show when the ticket is printed (with an empty text box for the ticket number).
- Page with the Service Scheduler and SMS widget — either on the phone number input page or on a page that is never shown (if not using the phone number feature).
- Optional Yes/No page asking customers if they want to add their phone number.
- Optional page(s) to show when services are closed according to the schedule.
- Optional page(s) to show when services are instantly closed due to an unforeseen event.
- Optional page(s) to show when buttons are disabled.
- Optional page(s) to show when the max number of tickets is reached.
- Pages for appointment check-in (see the Appointment Arrival Widget guide).
4.3 Multi-Language Widget Configuration
If your system supports multiple languages, configure one Service Scheduler and SMS widget per language to ensure correct display and behaviour across different locales.
Step 1: Add system languages — Use General Admin to add required languages to your system.
Step 2: Create one page per language
- In Surface Editor, create one page per language.
- Place a Service Scheduler and SMS widget on each page.
- Do not place other components on widget pages.
- Recommended naming: e.g. Widget English, Widget German.
Step 3: Set Page Locale — In Surface Editor, set the Page Locale for each widget page to match its intended language. Click the surface area outside the widget to display surface settings.
Step 4: Configure widget instance type
- Primary — Set one widget as Primary. It checks buttons and links on pages with the same locale or no locale.
- Secondary — Set all other widgets as Secondary. They check only buttons and links on pages with the same locale.
- Standalone (default) — Used when only a single widget instance is placed.
Step 5: Create pages, configure widget settings by locale, and link navigation
- Create all language-specific pages and set each to the relevant Page Locale.
- Ensure buttons and links on surface pages navigate to the correct locale-specific pages.
- Set all language-dependent links in widget settings (e.g. “Default inactive page”) to the correct pages.
4.4 Suggested Setup Order
- In Surface Editor, set up all required pages (see section 4.2).
- Add the Service Scheduler and SMS logic widget to surfaces. Place it on the phone number input page, or on a hidden page if not using the phone number feature. Map the widget to the surface type in System Administration first. For multi-language systems, configure one widget per language (see section 4.3).
- Change widget settings as required — define behaviour for inactive services/buttons, customise the on-screen keyboard (see section 4.15).
- In Service Scheduler, set up open hours for services and schedule buttons.
- Configure Mobile Ticket to use the service open hours from Service Scheduler (see the Mobile Ticket Deployment Guide).
4.5 Set Up Open Hours for Services
Configure when specific services are available on kiosks and in Mobile Ticket. Up to 4 open periods per day can be defined.
4.5.1 Set Up Regular Open Hours for Services
- In the Services tab, select a service.
- Use the Enable/disable checkbox to disable services for a whole day. By default, services are disabled on Saturdays and Sundays.
- For each day, select the number of periods and set open hours using the sliders.
- Enter a value in Close Mobile Ticket X min earlier to close Mobile Ticket ticket-taking a few minutes before the service closes on kiosks.
- Save. Changes apply within 60 seconds.
4.5.2 Set Up Planned Closed Days
- Go to Service Scheduler > Services / Templates / Global Settings.
- In the Closed dates section, click Edit.
- Select whether the closed date(s) occur every year or only once.
- Select the closed date(s). Click Clear dates to reset all selections.
- Click Apply settings.
4.6 Define What Happens When Service Is Closed
For kiosk surfaces, configure what happens when a service is closed. In Mobile Ticket, closed services are greyed out and not selectable.
Step 1: Configure the Widget
- In Surface Editor, select the Service Scheduler and SMS logic widget.
- Define the behaviour for closed services:
- To hide closed services, set Hide Service on inactive to Yes.
- To change the button appearance, upload an image for Inactivity image and/or set a text colour.
- To link to another page (e.g. “This service is not available”), set a page for Default service inactive page. Select [None] to not link.
- Save the surface and publish the branch(es).
Step 2: Change the Settings Per Service
- Go to Service Scheduler > Services / Templates.
- In the service/template settings, enter the exact page name in Page to show when service is deactivated by schedule. Copy the name from Surface Editor to ensure accuracy. Leave empty to use the default widget page.
- Save. Changes apply within 60 seconds.
4.7 Instantly Close Services
Close a service on the same day due to an unexpected event. The service automatically follows its schedule again the next day. You can close services in one branch or across all branches.
- In Service Scheduler > Services, select a service.
- In Instantly deactivate Service on, select whether to close the service in Mobile Ticket, on kiosks, or both.
- Check Instantly deactivate service only today.
- Optionally, enter a custom message to show on the touch surface (requires a defined message element in the widget).
- Save. Changes apply within 60 seconds.
4.8 Change What Happens When Services Are Instantly Closed
Instant close uses most of the same settings as scheduled close, but with some specific options.
Step 1: Configure the Widget
- In the widget settings, select a page for Instantly Disabled Service Page (or [None] to not link).
- To show a specific message when instantly closed: insert an empty text component on the surface, note its component ID, and enter it in the Instantly Disabled Message Element setting.
- Save the surface and publish.
Step 2 (Optional): Change Settings Per Service
- Go to Service Scheduler > Services / Templates.
- Enter the exact page name in Page to show when instantly deactivated. Copy from Surface Editor. Leave empty to use the default.
- Save. Changes apply within 60 seconds.
4.9 Schedule Disabled Buttons
Deactivate buttons that are not tied to specific services (e.g. a button linking to a group of services) during certain time periods.
Step 1: Set Up Schedules for Buttons
- In the Buttons tab, select a button (e.g. “button 1”).
- Use Enable/disable checkboxes per day to disable for a whole day. By default, buttons are disabled on Saturdays and Sundays.
- For each day, select the number of periods and set available hours using the sliders.
- Save. Changes apply within 60 seconds.
It is also possible to set up one-time or annually recurring dates when a button should be disabled.
Step 2: Link Buttons in a Surface to a Schedule
- In Surface Editor, open the touch surface and select the button to schedule.
- In the Text field, type
[bsX]followed by the button text. For example, to link to Button 1 schedule:[bs1] Passport services.
[bsX] tag is not visible on the surface — only the text after the tag is displayed.- Save the surface and publish.
4.10 Change What Happens When a Button Is Disabled
Step 1: Configure the Widget
- In Surface Editor, go to the page containing the Service Scheduler and SMS logic widget and select it.
- Define the behaviour for disabled buttons:
- To hide disabled buttons, set Hide Button on inactive to Yes.
- To change the button appearance, upload an image for Inactivity image and/or set a text colour (shared with closed service settings).
- To link to another page, set a page for Button inactive page. Select [None] to not link.
- Save the surface and publish.
Step 2 (Optional): Change Settings Per Button
- Go to Service Scheduler > Buttons and select a button schedule.
- Enter the exact page name in Page to show when button is deactivated by schedule. Copy from Surface Editor. Leave empty to use the default.
- Save. Changes apply within 60 seconds.
4.11 Add Option to Enter Phone Number
Allow customers to enter their phone number to receive queue updates. You can send a Mobile Ticket link or SMS notifications when the visit reaches certain queue positions. Message content and trigger positions are configured in Notification Admin and the Notification unit type.
Prerequisites
The phone number input page must contain: a component for the input field (one image for the border, one text component for the display), an OK button, and a Skip button. Note all component IDs. An optional Yes/No page can ask customers if they want to provide their number.
Step 1: Set Up the Phone Number Input Page
- In Surface Editor, select the Service Scheduler and SMS logic widget on the phone number input page.
- Configure the following widget settings:
- Input Id — Component ID of the text component showing the input value.
- Ok button Id — Component ID of the component that adds the phone number to the visit.
- Skip Button Id for keyboard page — Component ID of the skip button on the input page.
- Skip Button Id for Yes/No page — Component ID of the skip button on the Yes/No page (only if using that page).
- Link to page on level exceeded — Page to link to when the SMS threshold is triggered (usually the phone number input page).
- To customise the keyboard appearance and input constraints, configure: Background Color, Font, Font Color, Key (0-9) Image, Key (Del, Clear) Image, Max Length, Min Length.
- Save the surface and publish.
Step 3: Define When Phone Number Input Page Is Shown
- In Service Scheduler > Services / Templates, select a service or template.
- Check SMS/Email Setting to enable the feature.
- Select whether the trigger is based on number of waiting customers or waiting time.
- Enter a value in Active Above. Set to
-1to always trigger the feature. - Save. Changes apply within 60 seconds.
4.12 Limit Number of Tickets
Limit the number of tickets created in a day for a branch or per service. Limits are enforced on self-service kiosks and optionally shown as a warning in Concierge.
- To limit per branch: go to Service Scheduler > Branch and set a maximum.
- To limit per service: go to Service Scheduler > Services / Templates and enter a value in Maximum number of tickets. Enable Use Max Tickets in Concierge to show a warning in Concierge.
Save. Changes apply within 60 seconds. To remove the limit, set the value to -1 (default).
Define max tickets page: In Surface Editor, in the widget settings, select a Default max tickets Page. A per-service page can also be defined in the Schedule Service unit type.
4.13 Create and Manage Templates
Templates simplify scheduling for large organisations with many services.
4.13.1 Create a Template and Link It to Services
Linking a template to a service means changes to the template automatically update the service’s open hours.
- Go to New Template and give it a descriptive name.
- Set up open hours and other settings as required. Save.
- To link to services, go to Link Template.
- Select the template and click the services to add them to the selected list.
- Click Link template to service(s).
4.13.2 Copy Template
Copies a template’s settings to a service without creating a live link — future template changes will not affect the service.
- Go to Copy Template.
- Select the template and click the target services.
- Click Copy template to service(s).
4.13.3 Edit Templates
- Go to Templates and select a template.
- Make the required changes. Save.
Changes apply to all linked services within 60 seconds.
4.13.4 Remove Template
Go to Service Scheduler > Templates, select a template, scroll down, and click Remove template. Deletion is permanent.
4.14 Back Up Settings
Service settings are stored in branch variables (in qp_agent database) and global variables. The qp_agent database is wiped when an agent is updated or receives a new agent profile. When the schedule widget connects, it checks for the branch variable first; if unavailable, it uses the Central backup.
It is recommended to save branch variables to Central before upgrading an agent.
- In Service Scheduler, click Settings in the top right corner.
- Copy the variables for one branch or all branches to Central.
- Close the modal.
4.15 Widget Settings
| Setting | Description |
|---|---|
| Virtual Printer Logic Id | Only used with the Multi Department feature. |
| Widget instance type | Standalone (single instance), Primary (first of multiple instances), or Secondary (additional instances alongside Primary). |
| Inactivity image | Image shown when the button or service is disabled. |
| Inactive Text color | Font colour when the button or service is inactive. |
| Hide Button on inactive | Hide disabled buttons. |
| Button inactive Page | Page to switch to when a button is disabled. |
| Hide Service on inactive | Hide closed services. |
| Default Service inactive Page | Page to switch to when a service is closed. |
| Default max tickets Page | Page to switch to when the max ticket limit is reached. |
| Instantly Disabled Service Page | Page to switch to when the service is instantly (same-day) disabled. |
| Instantly Disabled Message Element | ID of the element that will display the instant-disable message. |
| Background Color | Keyboard background colour (must be set on TP/Intro8). |
| Font | Font for keyboard key text. |
| Font Color | Font colour for keyboard key text. |
| Key (0-9) Image | Optional image for keys 0–9. |
| Key (Del, Clear) Image | Optional image for Delete and Clear keys. |
| Ok Button Id | Component ID of the component that adds the phone number. |
| Skip Button Id for Keyboard page | Component ID of the skip button on the input page. |
| Skip Button Id for Yes/No page | Component ID of the skip button on the Yes/No page. |
| Input id | Component ID of the text component showing the input value. |
| Max length | Maximum length of the input. |
| Min Length | Minimum length before the OK button becomes active. |
| Link to page on level exceeded | Page to switch to when the waiting/waiting time threshold is exceeded. |
| Visit Field | Visit field used to store the phone number. |
| appCache Fields | Comma-separated list of fields to take from appCache and add to the visit. |
| Country Code | Default country code for the phone number. |
| Ticket No Id (Comma separated) | Comma-separated list of element IDs to fill with the ticket number once the visit is created. |
| Waiting area Id (Comma separated) | Comma-separated list of element IDs to fill with the waiting area name from Zoneadmin once the visit is created. |
| Out of Paper Page | Page shown when the printer is out of paper. Requires IntroX_Schedule unit types. |
4.16 UTT Settings
| Setting | Level | Description |
|---|---|---|
| Include appointments in max tickets | Equipment Profile | If disabled, appointments are not counted towards the max ticket limit. Default: enabled. |
| Log data from UTT (debug) | Branch | If enabled, data is logged from the UTT. Use with care — the log file will grow. |
| Log data | Branch | If enabled, data is logged from the widget. Use with care — the log file will grow. |
| Use Max Mobile Tickets Schedule | Branch | Use Mobile-issued tickets as the max value for Mobile Tickets. Requires the VisitApp unit ID to be set to VisitApp. |
Q-MATIC AB, Box 198, SE-431 23 Mölndal, Sweden. Phone: +46 31 756 46 00. Email: info@qmatic.com. Web: www.qmatic.com