Availo Integration Document
1
Content
1. About 2
2. Securing Requests 4
3. Get Daily Attendance Report 5
4. Get Working Report All Employee 9
2
1. Securing Requests
For security reasons, you should include API key in each request header to make sure that
request coming from your side, otherwise request will be discarded.
To verify the request that comes from your side, You need to do the following:
1- You will get service_key for your service from service provider(Availo team).
2- Every request to Availo will contain header with name service_key.
3
2. Get Daily Attendance Report
Link: {Base_Url}/api/ExternalReports/GetDailyAttendanceReport
Method Type: POST
Content Type: Application/Json
Description: Return all transactions (getting in and getting out) of an employee in a specific date.
Request object:
Field Required Type Description
[Link] The date of returning
Yes Date
the employee movements
The employee job number
[Link] Yes string to return her/his
movements
KSA (-180)
[Link] Yes int UAE (-240)
Jordan (-120)
PageNumber Yes int The current Page number
The number of rows per
PageSize Yes int
page
4
Sample Request:
{
"pageNumber": 1,
"pageSize": 10,
"data": {
"timeZoneOffset": -120,
"jobNumber": "0",
"date": "2020-11-22"
}
}
5
Response object:
Field Required type Description
List of all
List of
Data Yes employee’s
objects
movements
if the request is
Status Yes bool
a success or not
The error message
message No string that returns from
request
6
Sample Response:
{
"data": {
"list": [
{
"user": {
"firstName": "heba",
"lastName": " ",
"userName": "[Link]@[Link]",
"jobNumber": "0"
},
"accessGate": {
"nameAr": "heba",
"nameEn": "gps"
},
"resultStatus": "Confirmed",
"transactionType": "GetOut",
"transactionMethod": "Voice",
"transactionDate": "17:57"
}
],
"totalCount": 2
},
"status": true,
"message": ""
}
7
3. Get Working Report All Employee
Link: {Base_Url}/api/ExternalReports/GetWorkingReportAllEmployee
Method Type: POST
Content Type: Application/Json
Description: Return all transactions sessions of All employees during a period of dates.
Request object:
Field Required Type Description
Data. FromDate The start date of
Yes Date
period
Data. ToDate Yes Date The end date of period
The expected values are
(1) means that you need
to return the first
getting in and the last
getting out for each
[Link] Yes int
employee per day.
(2) means that you need
to return all employees
sessions (Getting in
and Getting out) in the
day
KSA (-180)
[Link] Yes int UAE (-240)
Jordan (-120)
PageNumber Yes int The current Page number
The number of rows per
PageSize Yes int
page
8
Sample Request:
{
"pageNumber": 1,
"pageSize": 50,
"data": {
"timeZoneOffset": -120,
"fromDate": "2020-11-22",
"toDate": "2020-11-23",
"displayType": 1
}
}
9
Response object:
Field Required type Description
List of all
List of
Data Yes employees with
objects
their movements
if the request is
Status Yes bool
a success or not
The error message
message No string that returns from
request
Sample Response:
10
11
{
"data": {
"list": [
{
"jobNumber": "0",
"userName": "[Link]@[Link]",
"fullName": "heba ",
"totalPlanWorkHourDuringInterval": "00:00",
"totalHoursWorkDuringInterval": "00:01",
"totalCheckInLateHoursDuringInterval": "00:00",
"totalCheckOutLateHoursDuringInterval": "00:00",
"workReportTransactions": {
"list": [
{
"selectedDate": "2020-11-22T[Link]",
"status": "Completed",
"workingHours": "-",
"checkInDate": "17:56",
"checkInAccessGateNameAr": "heba",
"checkInAccessGateNameEn": "gps",
"checkOutDate": "17:57",
"checkOutAccessGateNameAr": "heba",
"checkOutAccessGateNameEn": "gps",
"actualWorkingHours": "00:01",
"sessionTotalCheckInLateHours": "00:00",
"sessionTotalCheckOutLateHours": "00:00",
"sessionTotalShortesHours": "00:00",
"sessionTotalOverTimeHours": "00:00",
"sessionTotalOverTimeExtraHours": "00:00",
"sessionTotalHolidayOverTimeHours": "00:00"
}
],
"totalCount": 2
}
}
],
"totalCount": 3
},
"status": true,
"message": ""
}
12