Trendsic Platform Service

<back to all web services

ClockInOutRequest

Requires Authentication
Requires any of the roles:Worker, Agent, Administrator
The following routes are available for this service:
POST,OPTIONS/v1/TimeTracker/ClockInOut
"use strict";
export class ClockInOutResponse {
    /** @param {{ResponseStatus?:ResponseStatus,response?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ResponseStatus} */
    ResponseStatus;
    /** @type {boolean} */
    response;
}
export class TimeCard {
    /** @param {{AgentId?:number,CheckInId?:number,DateLogged?:string,TimeIn?:string,TimeInDate?:string,TimeOut?:string,TimeOutDate?:string,TimeLogged?:number,PaymentType?:number,ServiceCodeId?:number,ServiceCode?:string,ServiceRate?:number,ServiceDescription?:string,WorkDescription?:string,AdjustedTimeIn?:string,AdjustedTimeInDate?:string,AdjustedTimeOut?:string,AdjustedTimeOutDate?:string,IsValid?:boolean,Adjusted?:boolean,ProjectID?:number,ProjectName?:string,ClientID?:number,ClientName?:string,CategoryID?:number,CategoryName?:string,JobID?:number,JobName?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    AgentId;
    /** @type {number} */
    CheckInId;
    /** @type {string} */
    DateLogged;
    /** @type {string} */
    TimeIn;
    /** @type {string} */
    TimeInDate;
    /** @type {string} */
    TimeOut;
    /** @type {string} */
    TimeOutDate;
    /** @type {number} */
    TimeLogged;
    /** @type {number} */
    PaymentType;
    /** @type {number} */
    ServiceCodeId;
    /** @type {string} */
    ServiceCode;
    /** @type {number} */
    ServiceRate;
    /** @type {string} */
    ServiceDescription;
    /** @type {string} */
    WorkDescription;
    /** @type {string} */
    AdjustedTimeIn;
    /** @type {string} */
    AdjustedTimeInDate;
    /** @type {string} */
    AdjustedTimeOut;
    /** @type {string} */
    AdjustedTimeOutDate;
    /** @type {boolean} */
    IsValid;
    /** @type {boolean} */
    Adjusted;
    /** @type {number} */
    ProjectID;
    /** @type {string} */
    ProjectName;
    /** @type {number} */
    ClientID;
    /** @type {string} */
    ClientName;
    /** @type {number} */
    CategoryID;
    /** @type {string} */
    CategoryName;
    /** @type {number} */
    JobID;
    /** @type {string} */
    JobName;
}
export class ClockInOutRequest {
    /** @param {{Timecard?:TimeCard}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {TimeCard} */
    Timecard;
}

JavaScript ClockInOutRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/TimeTracker/ClockInOut HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Timecard: 
	{
		AgentId: 0,
		CheckInId: 0,
		DateLogged: 0001-01-01,
		TimeIn: PT0S,
		TimeInDate: 0001-01-01T00:00:00.0000000+00:00,
		TimeOut: PT0S,
		TimeOutDate: 0001-01-01T00:00:00.0000000+00:00,
		TimeLogged: 0,
		PaymentType: 0,
		ServiceCodeId: 0,
		ServiceCode: String,
		ServiceRate: 0,
		ServiceDescription: String,
		WorkDescription: String,
		AdjustedTimeIn: PT0S,
		AdjustedTimeInDate: 0001-01-01T00:00:00.0000000+00:00,
		AdjustedTimeOut: PT0S,
		AdjustedTimeOutDate: 0001-01-01T00:00:00.0000000+00:00,
		IsValid: False,
		Adjusted: False,
		ProjectID: 0,
		ProjectName: String,
		ClientID: 0,
		ClientName: String,
		CategoryID: 0,
		CategoryName: String,
		JobID: 0,
		JobName: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	response: False
}