Trendsic Platform Service

<back to all web services

CertifiedPayrollSubmitRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/projects/{ProjectID}/certified-payroll/{Week}/submit
"use strict";
export class CertifiedPayrollLine {
    /** @param {{CertifiedPayrollLineID?:number,CertifiedPayrollID?:number,WorkerName?:string,ContactID?:number,Classification?:string,HoursST?:number,HoursOT?:number,BaseRate?:number,FringeRate?:number,FringeCashRate?:number,FringePlanRate?:number,GrossPay?:number,Flagged?:boolean,RestitutionAmount?:number,RestitutionNote?:string,RequiredBase?:number,RequiredFringe?:number,SortOrder?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    CertifiedPayrollLineID;
    /** @type {number} */
    CertifiedPayrollID;
    /** @type {string} */
    WorkerName;
    /** @type {?number} */
    ContactID;
    /** @type {string} */
    Classification;
    /** @type {number} */
    HoursST;
    /** @type {number} */
    HoursOT;
    /** @type {number} */
    BaseRate;
    /** @type {number} */
    FringeRate;
    /** @type {number} */
    FringeCashRate;
    /** @type {number} */
    FringePlanRate;
    /** @type {number} */
    GrossPay;
    /** @type {boolean} */
    Flagged;
    /** @type {number} */
    RestitutionAmount;
    /** @type {string} */
    RestitutionNote;
    /** @type {number} */
    RequiredBase;
    /** @type {number} */
    RequiredFringe;
    /** @type {number} */
    SortOrder;
}
export class CertifiedPayroll {
    /** @param {{CertifiedPayrollID?:number,CertifiedPayrollUID?:string,ProjectID?:number,PayrollNumber?:number,WeekEnding?:string,Status?:string,DbeParticipationPct?:number,DbeGoalPct?:number,OjtApprenticeHours?:number,OjtApprenticeGoalHours?:number,WorkerCount?:number,TotalHoursST?:number,TotalHoursOT?:number,TotalGrossPay?:number,FlaggedCount?:number,SubmittedBy?:string,SubmittedAt?:string,CreatedBy?:string,CreatedAt?:string,UpdatedAt?:string,Lines?:CertifiedPayrollLine[],DeterminationNo?:string,DeterminationType?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    CertifiedPayrollID;
    /** @type {string} */
    CertifiedPayrollUID;
    /** @type {number} */
    ProjectID;
    /** @type {number} */
    PayrollNumber;
    /** @type {?string} */
    WeekEnding;
    /** @type {string} */
    Status;
    /** @type {number} */
    DbeParticipationPct;
    /** @type {number} */
    DbeGoalPct;
    /** @type {number} */
    OjtApprenticeHours;
    /** @type {number} */
    OjtApprenticeGoalHours;
    /** @type {number} */
    WorkerCount;
    /** @type {number} */
    TotalHoursST;
    /** @type {number} */
    TotalHoursOT;
    /** @type {number} */
    TotalGrossPay;
    /** @type {number} */
    FlaggedCount;
    /** @type {string} */
    SubmittedBy;
    /** @type {?string} */
    SubmittedAt;
    /** @type {string} */
    CreatedBy;
    /** @type {?string} */
    CreatedAt;
    /** @type {?string} */
    UpdatedAt;
    /** @type {CertifiedPayrollLine[]} */
    Lines = [];
    /** @type {string} */
    DeterminationNo;
    /** @type {string} */
    DeterminationType;
}
export class CertifiedPayrollResponse {
    /** @param {{ResponseStatus?:ResponseStatus,Payroll?:CertifiedPayroll}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ResponseStatus} */
    ResponseStatus;
    /** @type {CertifiedPayroll} */
    Payroll;
}
export class CertifiedPayrollSubmitRequest {
    /** @param {{ProjectID?:number,Week?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    ProjectID;
    /** @type {string} */
    Week;
}

JavaScript CertifiedPayrollSubmitRequest 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/projects/{ProjectID}/certified-payroll/{Week}/submit HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ProjectID: 0,
	Week: 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
		}
	},
	Payroll: 
	{
		CertifiedPayrollID: 0,
		CertifiedPayrollUID: 00000000000000000000000000000000,
		ProjectID: 0,
		PayrollNumber: 0,
		WeekEnding: 0001-01-01,
		Status: String,
		DbeParticipationPct: 0,
		DbeGoalPct: 0,
		OjtApprenticeHours: 0,
		OjtApprenticeGoalHours: 0,
		WorkerCount: 0,
		TotalHoursST: 0,
		TotalHoursOT: 0,
		TotalGrossPay: 0,
		FlaggedCount: 0,
		SubmittedBy: String,
		SubmittedAt: 0001-01-01,
		CreatedBy: String,
		CreatedAt: 0001-01-01,
		UpdatedAt: 0001-01-01,
		Lines: 
		[
			{
				CertifiedPayrollLineID: 0,
				CertifiedPayrollID: 0,
				WorkerName: String,
				ContactID: 0,
				Classification: String,
				HoursST: 0,
				HoursOT: 0,
				BaseRate: 0,
				FringeRate: 0,
				FringeCashRate: 0,
				FringePlanRate: 0,
				GrossPay: 0,
				Flagged: False,
				RestitutionAmount: 0,
				RestitutionNote: String,
				RequiredBase: 0,
				RequiredFringe: 0,
				SortOrder: 0
			}
		],
		DeterminationNo: String,
		DeterminationType: String
	}
}