Clock-in/out Tagging

Add Clock-in/out tags to the timeline of a shift and track deviations from the expected locations

Add Clock-in/out tags to a shift timeline

For shift work, the clock-in/out actions by the worker determine when the shift starts and ends. Tracking the location and time of these actions is therefore important to confirm the shift started and ended at the expected location and time and establish proof of work.

HyperTrack makes it very easy for you to add clock-in/out tags to a shift timeline. You can do this by creating geotags associated with the relevant HyperTrack order_handle which is the unique shift identifier like a unique shift_id for instance.

To add clock-in/out tags to order timeline you have to call the addGeotag(order_handle, order_status, metadata) SDK method from your worker app. The doc links are shared below:

Please see this code example on how to send the clock in tag for a shift at Gotham city hospital:


// create new geotag metadata payload
val payload = mutableMapOf<String, Any>()

// add event details from the example above
payload["facility"] = "Gotham city hospital"

// add order handle
val orderHandle = "!!Use your unique shift id !!"

// add order status ClockIn
val orderStatus = OrderStatus.ClockIn

HyperTrack.addGeotag(orderHandle, orderStatus, payload, expectedLocation);

The clock-in/out geotags serve as an additional data point to the existing order timeline events (such as arrival to, or an exit from, an order's destination). You can further validate that these key events happened at the expected location by using expectedLocation as described in the next section.

🚧

Clock-in/out geotags are created in your worker app through the HyperTrack SDK.

πŸ“˜

If your worker's device is temporarily disconnected due to a network loss, order geotags generated by your workers will be captured offline and sent to HyperTrack once connection is restored.

Using expected location for deviations

When using clock-in/out tagging it is also recommended to use expectedLocation for the action to make your business workflow more automated.

HyperTrack will use the expectedLocation to provide the deviation between actual and expected locations. Large deviations of clock-in location from the first arrival at the destination or clock-out location from last exit location can be automatically flagged for review or used to resolve time and attendance disputes.

This deviation computed by HyperTrack information can be consumed via API, the Ops dashboard or webhooks.

For example, if you want to know if a worker clock-in was far away from the expected clock-in location for a shift at Gotham city hospital you can use the code sample below:


// create new geotag metadata payload
val payload = mutableMapOf<String, Any>()

// add event details from the example above
payload["facility"] = "Gotham city hospital"

// add order handle
val orderHandle = "!!Use your unique Order handle !!"

// add order status ClockIn
val orderStatus = OrderStatus.ClockIn

val expectedLocation = Location("any")
expectedLocation.longitude = -90.0260493
expectedLocation.latitude = 35.0476912

HyperTrack.addGeotag(orderHandle, orderStatus, payload, expectedLocation);