/* Options: Date: 2025-12-06 08:58:54 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://cochraneplus-api-dev.happen.zone //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetAttendanceSessionInfoRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/attendance/sessioninfo", Verbs="GET") open class GetAttendanceSessionInfoRequest : ApiServiceRequest(), IReturn { companion object { private val responseType = GetAttendanceSessionInfoResponse::class.java } override fun getResponseType(): Any? = GetAttendanceSessionInfoRequest.responseType } open class GetAttendanceSessionInfoResponse : ApiServiceResponse() { var sessionInfo:AttendanceSessionInfo? = null } open class ApiServiceRequest : IServiceRequest, IHasApiKey, IHasDeviceInfo { /** * The API Key required for authentication */ @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true) var apiKey:String? = null /** * Latitude of the user making this request */ @ApiMember(DataType="double", Description="Latitude of the user making this request") var latitude:Double? = null /** * Longitude of the user making this request */ @ApiMember(DataType="double", Description="Longitude of the user making this request") var longitude:Double? = null } open interface IServiceRequest { } open interface IHasApiKey { var apiKey:String? } open interface IHasDeviceInfo { } enum class AttendanceEventType(val value:Int) { @SerializedName("0") ClockOut(0), @SerializedName("1") ClockIn(1), @SerializedName("2") StartLunch(2), @SerializedName("3") EndLunch(3), @SerializedName("4") StartBreak(4), @SerializedName("5") EndBreak(5), } open class AttendanceSessionInfo { var attendanceSessionId:Int? = null var attendanceGoalTime:Double? = null var attendanceGoalTimeValue:String? = null var attendanceEvents:ArrayList = ArrayList() var startDate:String? = null var endDate:String? = null var isClockedIn:Boolean? = null var timeElapsed:Double? = null var latestEventType:AttendanceEventType? = null var totalBreakTime:Double? = null var totalLunchTime:Double? = null var isNew:Boolean? = null } open class AttendanceEventData { @SerializedName("type") var Type:AttendanceEventType? = null var time:String? = null var location:String? = null } open class ApiServiceResponse : IServiceResponse { var description:String? = null var heading:String? = null var wasSuccessful:Boolean? = null var modelState:Object? = null }