The tips for Access Group Time Schedules And Check-In / Check-Out

Created by Daniil Stasiuk, Modified on Fri, 27 May, 2022 at 1:07 PM by Daniil Stasiuk

In order to provide access to Site Users (here Site User means any user belonging to a site, regardless of their role), they have to be added to an Access Group, that has Locks and one or more Time Schedules.

Alternatively, they have to be Members or Guests of a Pod, which creates an Access Group behind the scenes. Pod functionality will not be discussed here, but we can assume that the rules applied to Access Group Time Schedules are the same rules applied to Pod Access Rule Time Schedule.

What is a Time Schedule? It is a time-based rule, specifying when users have access. The rule may seem a bit complicated with all the fields you see, but let's try to understand how it works.

API Approach

DISCLAIMER: behavior described here is for Connect API v1.1 onward. 

API Endpoints’ description can be found here: https://connect.my-clay.com/swagger/ui/index#/SiteAccessGroupSchedules

Let's take a look at the Request Body for Time Schedule Creation:

{
  "monday": true,
  "tuesday": true,
  "wednesday": true,
  "thursday": true,
  "friday": true,
  "saturday": true,
  "sunday": true,
  "start_time": "08:00:00",
  "end_time": "18:00:00",
  "start_date": "2020-07-08T10:00:00.000Z",
  "end_date": "2020-07-08T016:00:00.000Z"
}
Generic


start_date and end_date define a frame within which the access can be specified. Things to note:

  • start_date and end_date contain a date and a time part

  • if you only specify the date part WITHOUT the time part, the API will consider it as “full day“, and will add 00:00:00 to the start_date and 23:59:59 to the end_date 

  • if you specify both the date AND the time parts, the API will consider it as a “check-in/check-out“ range

  • both start_date and end_date can be null, meaning the Time Schedule will come into effect immediately and will be active until deleted or changed

  • start_date must be before end_date if provided

start_time and end_time define time range of each day within which the user will have access.

  • whatever you define in start_time and end_time MUST be within start_date and end_date frame to take effect

  • start_time must be before end_time 

monday to sunday fields define days on which user will have access.

Examples

“Always“ access

Users will have access all the time. There are no exceptions.

{
  "monday": true,
  "tuesday": true,
  "wednesday": true,
  "thursday": true,
  "friday": true,
  "saturday": true,
  "sunday": true,
  "start_time": "00:00:00",
  "end_time": "23:59:59",
  "start_date": null,
  "end_date": null
}
Generic


“Custom“ access

Users will have access from 8th to 20th of July, 8 AM to 6 PM, weekdays ONLY.

{
  "monday": true,
  "tuesday": true,
  "wednesday": true,
  "thursday": true,
  "friday": true,
  "saturday": false,
  "sunday": false,
  "start_time": "08:00:00",
  "end_time": "18:00:00",
  "start_date": "2020-07-08",
  "end_date": "2020-07-20"
}
 
Generic


“Check-in / Check-out“ full access

Users will check in on the 8th of July at 2 PM and will check out on the 20th of July at 11 AM. Within that time frame they will have access all the time.

{
  "monday": true,
  "tuesday": true,
  "wednesday": true,
  "thursday": true,
  "friday": true,
  "saturday": true,
  "sunday": true,
  "start_time": "00:00:00",
  "end_time": "23:59:59",
  "start_date": "2020-07-08T14:00:00.000Z",
  "end_date": "2020-07-20T11:00:00.000Z"
}
Generic


“Check-in / Check-out“ custom frame access

Users will have access from 8 AM to 6 PM from 8th to 20th of July. However, on their check-in day (8th) they will only have access 2 PM to 6PM, and on their check-out day (20th) they will only have access 8 AM to 11 AM due to check-in / check-out times.

{
  "monday": true,
  "tuesday": true,
  "wednesday": true,
  "thursday": true,
  "friday": true,
  "saturday": true,
  "sunday": true,
  "start_time": "08:00:00",
  "end_time": "18:00:00",
  "start_date": "2020-07-08T14:00:00.000Z",
  "end_date": "2020-07-20T11:00:00.000Z"
}
Generic

As you can see, different fields can be used to create robust Time Schedules. If you need even more flexibility you can create multiple Time Schedules for one Access Group.

NOTE: all times are considered to be in the time zone of the IQ. 

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article