Skip to content

SafetyTest Connector

This connector exchanges OMD data with a SafetyTest portal. Customer data including information about the planned resource is transmitted for all upcoming visits.

All data transfer between OMD and the SafetyTest portal is done over HTTPS (TLS), so data is encrypted in transit.

Two methods are provided, time-controlled and event-controlled.

Time-Controlled

Once a day (12:00 a.m.) all data for appointments from -48 h to +48 h for all resources is sent to SafetyTest.

Event-Driven

In the following case, an additional transfer is automatically triggered:

  • One or more tasks for a resource are scheduled for today. This also includes the case that one or more orders are moved from one resource to another resource.

Changes to existing orders, planning, new unavailabilities or changes to the daily work pattern are not transmitted.

Requirements

  • A SafetyTest portal with a role allowing the insert and update of customer data and resource access permissions.
  • The portal endpoint must be configured with an https:// URL.

Available API

Important: call these endpoints over HTTPS in production so request parameters, credentials, and payload data are encrypted during transport.

Base hostnames:

  • Production: https://www.optimizemyday.com
  • Sandbox: https://sandbox.optimizemyday.com

The application exposes two API groups:

  1. Connector operations under /rest/v1/* (authenticated, admin role).
  2. Service info under /info/* (unauthenticated).

Connector operations

Base path:

  • /omd-calendar-testandsmile/rest/v1
Endpoint Method Query parameters Description
/push GET configId (required, integer) Processes pending messages in CalendarUpdate for the given configuration and pushes them to Test & Smile and SafetyTest.
/upload GET configId (required, integer) Uploads all planned visits in the configured time window (hoursBack/hoursForward) for Test & Smile and SafetyTest.

Responses:

  • 200 OK with a JSON log payload when processing completes.
  • 500 Server Error with a JSON log payload when configId is missing, invalid, or processing fails.

Examples:

  • GET /omd-calendar-testandsmile/rest/v1/upload?configId=123
  • GET /omd-calendar-testandsmile/rest/v1/push?configId=123

Service info

Base path:

  • /omd-calendar-testandsmile/info
Endpoint Method Description
/version GET Returns plain text release version.
/ (or any other /info/* path) GET Returns JSON with version, for example: { "version": "<release>" }.

Configuring the generic calendar service

Preference Name Default Description
calendar.generic.synchronize false Used to turn synchronization with the calendar on or off.
calendar.generic.checkResourceEmail false If true, only synchronize if the
calendar.generic.synchronize false Used to turn synchronization with the calendar on or off.
calendar.generic.checkResourceEmail false If true, only synchronize if the resource has an email address.

Configuring the Test & Smile service

Preference Name Default Description
calendar.testandsmile.on true Boolean value to indicate if the Test & Smile calendar connector is to be executed or not.
calendar.testandsmile.clear true Boolean value to indicate if the Test & Smile calendar connector will clear the CalendarUpdate entries when done.
calendar.testandsmile.serviceRootUri The service URI of the Test & Smile portal.
calendar.testandsmile.user The account name with which the connection is established.
calendar.testandsmile.password The password with which the connection is established.
calendar.testandsmile.hoursBack 48 The number of hours in the past up to which visits are considered for upload. Any visits older that that will not be processed.
calendar.testandsmile.hoursForward 48 The number of hours in the future up to which visits are considered for upload. Any visits later that that will not be processed.
calendar.testandsmile.logLevel INFO The log level used during upload and push.

Configuring the SafetyTest service

Preference Name Default Description
calendar.safetytest.on false Boolean value to indicate if the SafetyTest calendar connector is to be executed or not.
calendar.safetytest.clear false Boolean value to indicate if the SafetyTest calendar connector will clear the CalendarUpdate entries when done.
calendar.safetytest.serviceRootUri The service URI of the SafetyTest portal.
calendar.safetytest.user The account name with which the connection to the SafetyTest portal is established.
calendar.safetytest.password The password with which the connection to the SafetyTest portal is established.
calendar.safetytest.publicKey The public key used during the validation of the user credentials.
calendar.safetytest.hoursBack 48 The number of hours in the past up to which visits are considered for upload. Any visits older that that will not be processed.
calendar.safetytest.hoursForward 48 The number of hours in the future up to which visits are considered for upload. Any visits later that that will not be processed.
calendar.safetytest.logLevel INFO The log level used during upload and push.
omd.calendar.safetytest.accounts.excluded Comma-separated list of account numbers to exclude from upload and push.

Operational Semantics

Selection and processing rules

  • Full upload processes planned tasks in the configured window (hoursBack to hoursForward).
  • Incremental push processes today's pending CalendarUpdate entries with action INSERT or UPDATE.
  • Only open and assigned tasks are included.
  • Resources marked inactive for this connector are excluded.
  • Optional account exclusion is supported via omd.calendar.safetytest.accounts.excluded.

Entity lifecycle behavior

  • Synchronization runs in this order: customer -> location header -> node groups -> location node -> access permissions.
  • For each mapped visit, up to three node-group types are maintained: device, installation, and object.
  • Existing entities are reused when found; missing entities are created.
  • Existing customer names are corrected when needed.

Resource access behavior

  • Resource matching uses OMD scheduled resource external ID against SafetyTest username.
  • If a matching user is found, read-only permissions are granted on customer and node-group entities.
  • Permission validity extends to now + (hoursForward + 24 hours).

One-Way Communication

Note that the connector works only in one direction, from OMD to SafetyTest. Data collected with SafetyTest is not communicated back to OMD.

Data Mapping

See the public mapping overview here: SafetyTest Mapping.

Ignore Resource during Communication

To avoid a resource's visits to be considered for communication to Test & Smile, set the resource's process flow preference calendar.testandsmile.active or calendar.safetytest.active to false.