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);
Updated 17 days ago