| POST | /attendance/sessionstatus |
|---|
namespace WebService.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type ApiServiceResponse() =
member val Description:String = null with get,set
member val Heading:String = null with get,set
member val WasSuccessful:Boolean = new Boolean() with get,set
member val ModelState:Object = null with get,set
type AttendanceEventType =
| ClockOut = 0
| ClockIn = 1
| StartLunch = 2
| EndLunch = 3
| StartBreak = 4
| EndBreak = 5
[<AllowNullLiteral>]
type AttendanceEventData() =
member val Type:AttendanceEventType = new AttendanceEventType() with get,set
member val Time:String = null with get,set
member val Location:String = null with get,set
[<AllowNullLiteral>]
type AttendanceSessionInfo() =
member val AttendanceSessionId:Int32 = new Int32() with get,set
member val AttendanceGoalTime:Double = new Double() with get,set
member val AttendanceGoalTimeValue:String = null with get,set
member val AttendanceEvents:ResizeArray<AttendanceEventData> = new ResizeArray<AttendanceEventData>() with get,set
member val StartDate:String = null with get,set
member val EndDate:String = null with get,set
member val IsClockedIn:Boolean = new Boolean() with get,set
member val TimeElapsed:Double = new Double() with get,set
member val LatestEventType:AttendanceEventType = new AttendanceEventType() with get,set
member val TotalBreakTime:Double = new Double() with get,set
member val TotalLunchTime:Double = new Double() with get,set
member val IsNew:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type GetAttendanceSessionInfoResponse() =
inherit ApiServiceResponse()
member val SessionInfo:AttendanceSessionInfo = null with get,set
[<AllowNullLiteral>]
type ApiServiceRequest() =
///<summary>
///The API Key required for authentication
///</summary>
[<ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)>]
member val ApiKey:String = null with get,set
///<summary>
///Latitude of the user making this request
///</summary>
[<ApiMember(DataType="double", Description="Latitude of the user making this request")>]
member val Latitude:Double = new Double() with get,set
///<summary>
///Longitude of the user making this request
///</summary>
[<ApiMember(DataType="double", Description="Longitude of the user making this request")>]
member val Longitude:Double = new Double() with get,set
[<AllowNullLiteral>]
type AttendanceSessionStatusChangeRequest() =
inherit ApiServiceRequest()
member val AttendanceSessionId:Int32 = new Int32() with get,set
member val EventType:AttendanceEventType = new AttendanceEventType() with get,set
member val TimeZoneName:String = null with get,set
F# AttendanceSessionStatusChangeRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /attendance/sessionstatus HTTP/1.1
Host: cochraneplus-api-dev.happen.zone
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
attendanceSessionId: 0,
eventType: 0,
timeZoneName: String,
apiKey: String,
latitude: 0,
longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
sessionInfo:
{
attendanceSessionId: 0,
attendanceGoalTime: 0,
attendanceGoalTimeValue: "00:00:00",
attendanceEvents:
[
{
}
],
startDate: String,
endDate: String,
isClockedIn: False,
timeElapsed: 0,
latestEventType: 0,
totalBreakTime: 0,
totalLunchTime: 0,
isNew: False
},
description: String,
heading: String,
wasSuccessful: False,
modelState: {}
}