Trendsic Platform Service

<back to all web services

ProjectJobsListRequest

Requires Authentication
The following routes are available for this service:
GET,POST,PUT,DELETE,OPTIONS/v1/Project/Job/{ProjectID}
"use strict";
export class CalendarEvent {
    /** @param {{CalendarEventId?:number,CalendarId?:string,EventStart?:string,EventEnd?:string,Location?:string,Summary?:string,Description?:string,EventTypeId?:number,Recurrence?:boolean,RecurrenceFrequency?:string,RecurrenceBy?:string,RecurrenceByValue?:string,RecurrenceUntil?:string,CreatedBy?:string,CreatedByName?:string,DateCreated?:string,ModifiedBy?:string,DateModified?:string,Deleted?:boolean,TimeZone?:string,Offset?:number,TextReminderSentDate?:string,Confirmed?:boolean,ConfirmationTextId?:string,FirstTextReminderId?:string,SecondTextReminderId?:string,LocationUID?:string,AgentReminderSentDate?:string,ContactId?:number,IsPrivate?:boolean,ProjectID?:number,JobID?:number,ProjectStartDate?:string,ProjectEndDate?:string,MaxCrewEndDate?:string,MaxEquipmentEndDate?:string,CheckInId?:string,AllDay?:boolean,JobName?:string,JobStatusName?:string,JobStatusId?:number,ProjectName?:string,ResourceId?:number,ResourceName?:string,Original_EventStart?:string,Original_Recurrence?:boolean,Original_RecurrenceFrequency?:string,Original_RecurrenceBy?:string,Original_RecurrenceByValue?:string,Original_RecurrenceUntil?:string,Checksum?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    CalendarEventId;
    /** @type {string} */
    CalendarId;
    /** @type {string} */
    EventStart;
    /** @type {string} */
    EventEnd;
    /** @type {string} */
    Location;
    /** @type {string} */
    Summary;
    /** @type {string} */
    Description;
    /** @type {number} */
    EventTypeId;
    /** @type {boolean} */
    Recurrence;
    /** @type {string} */
    RecurrenceFrequency;
    /** @type {string} */
    RecurrenceBy;
    /** @type {string} */
    RecurrenceByValue;
    /** @type {string} */
    RecurrenceUntil;
    /** @type {string} */
    CreatedBy;
    /** @type {string} */
    CreatedByName;
    /** @type {string} */
    DateCreated;
    /** @type {string} */
    ModifiedBy;
    /** @type {string} */
    DateModified;
    /** @type {boolean} */
    Deleted;
    /** @type {string} */
    TimeZone;
    /** @type {number} */
    Offset;
    /** @type {string} */
    TextReminderSentDate;
    /** @type {boolean} */
    Confirmed;
    /** @type {string} */
    ConfirmationTextId;
    /** @type {string} */
    FirstTextReminderId;
    /** @type {string} */
    SecondTextReminderId;
    /** @type {?string} */
    LocationUID;
    /** @type {string} */
    AgentReminderSentDate;
    /** @type {number} */
    ContactId;
    /** @type {boolean} */
    IsPrivate;
    /** @type {number} */
    ProjectID;
    /** @type {number} */
    JobID;
    /** @type {string} */
    ProjectStartDate;
    /** @type {string} */
    ProjectEndDate;
    /** @type {string} */
    MaxCrewEndDate;
    /** @type {string} */
    MaxEquipmentEndDate;
    /** @type {string} */
    CheckInId;
    /** @type {boolean} */
    AllDay;
    /** @type {string} */
    JobName;
    /** @type {string} */
    JobStatusName;
    /** @type {number} */
    JobStatusId;
    /** @type {string} */
    ProjectName;
    /** @type {number} */
    ResourceId;
    /** @type {string} */
    ResourceName;
    /** @type {string} */
    Original_EventStart;
    /** @type {boolean} */
    Original_Recurrence;
    /** @type {string} */
    Original_RecurrenceFrequency;
    /** @type {string} */
    Original_RecurrenceBy;
    /** @type {string} */
    Original_RecurrenceByValue;
    /** @type {string} */
    Original_RecurrenceUntil;
    /** @type {string} */
    Checksum;
}
export class Job {
    /** @param {{JobID?:number,JobName?:string,JobTypeID?:number,ExpectedStartDate?:string,ActualStartDate?:string,ExpectedCompletionDate?:string,ActualEndDate?:string,Active?:boolean,CreatedByUID?:string,ProjectID?:number,StatusId?:number,AdvancedScheduling?:boolean,ShowTimes?:boolean,Schedule?:CalendarEvent[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    JobID;
    /** @type {string} */
    JobName;
    /** @type {number} */
    JobTypeID;
    /** @type {string} */
    ExpectedStartDate;
    /** @type {string} */
    ActualStartDate;
    /** @type {string} */
    ExpectedCompletionDate;
    /** @type {string} */
    ActualEndDate;
    /** @type {boolean} */
    Active;
    /** @type {string} */
    CreatedByUID;
    /** @type {number} */
    ProjectID;
    /** @type {number} */
    StatusId;
    /** @type {boolean} */
    AdvancedScheduling;
    /** @type {boolean} */
    ShowTimes;
    /** @type {CalendarEvent[]} */
    Schedule = [];
}
export class ProjectJobsListResponse {
    /** @param {{ResponseStatus?:ResponseStatus,ProjectJobs?:Job[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {ResponseStatus} */
    ResponseStatus;
    /** @type {Job[]} */
    ProjectJobs = [];
}
export class ProjectJobsListRequest {
    /** @param {{ProjectID?:number,ProjectJobs?:Job[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    ProjectID;
    /** @type {Job[]} */
    ProjectJobs = [];
}

JavaScript ProjectJobsListRequest 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/Project/Job/{ProjectID} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ProjectID: 0,
	ProjectJobs: 
	[
		{
			JobID: 0,
			JobName: String,
			JobTypeID: 0,
			ExpectedStartDate: 0001-01-01,
			ActualStartDate: 0001-01-01,
			ExpectedCompletionDate: 0001-01-01,
			ActualEndDate: 0001-01-01,
			Active: False,
			CreatedByUID: 00000000000000000000000000000000,
			ProjectID: 0,
			StatusId: 0,
			AdvancedScheduling: False,
			ShowTimes: False,
			Schedule: 
			[
				{
					CalendarEventId: 0,
					CalendarId: 00000000000000000000000000000000,
					EventStart: 0001-01-01,
					EventEnd: 0001-01-01,
					Location: String,
					Summary: String,
					Description: String,
					EventTypeId: 0,
					Recurrence: False,
					RecurrenceFrequency: String,
					RecurrenceBy: String,
					RecurrenceByValue: String,
					RecurrenceUntil: 0001-01-01,
					CreatedBy: String,
					CreatedByName: String,
					DateCreated: 0001-01-01,
					ModifiedBy: String,
					DateModified: 0001-01-01,
					Deleted: False,
					TimeZone: String,
					Offset: 0,
					TextReminderSentDate: 0001-01-01,
					Confirmed: False,
					ConfirmationTextId: String,
					FirstTextReminderId: String,
					SecondTextReminderId: String,
					LocationUID: 00000000000000000000000000000000,
					AgentReminderSentDate: 0001-01-01,
					ContactId: 0,
					IsPrivate: False,
					ProjectID: 0,
					JobID: 0,
					ProjectStartDate: 0001-01-01,
					ProjectEndDate: 0001-01-01,
					MaxCrewEndDate: 0001-01-01,
					MaxEquipmentEndDate: 0001-01-01,
					CheckInId: 00000000000000000000000000000000,
					AllDay: False,
					JobName: String,
					JobStatusName: String,
					JobStatusId: 0,
					ProjectName: String,
					ResourceId: 0,
					ResourceName: String,
					Original_EventStart: 0001-01-01,
					Original_Recurrence: False,
					Original_RecurrenceFrequency: String,
					Original_RecurrenceBy: String,
					Original_RecurrenceByValue: String,
					Original_RecurrenceUntil: 0001-01-01,
					Checksum: 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
		}
	},
	ProjectJobs: 
	[
		{
			JobID: 0,
			JobName: String,
			JobTypeID: 0,
			ExpectedStartDate: 0001-01-01,
			ActualStartDate: 0001-01-01,
			ExpectedCompletionDate: 0001-01-01,
			ActualEndDate: 0001-01-01,
			Active: False,
			CreatedByUID: 00000000000000000000000000000000,
			ProjectID: 0,
			StatusId: 0,
			AdvancedScheduling: False,
			ShowTimes: False,
			Schedule: 
			[
				{
					CalendarEventId: 0,
					CalendarId: 00000000000000000000000000000000,
					EventStart: 0001-01-01,
					EventEnd: 0001-01-01,
					Location: String,
					Summary: String,
					Description: String,
					EventTypeId: 0,
					Recurrence: False,
					RecurrenceFrequency: String,
					RecurrenceBy: String,
					RecurrenceByValue: String,
					RecurrenceUntil: 0001-01-01,
					CreatedBy: String,
					CreatedByName: String,
					DateCreated: 0001-01-01,
					ModifiedBy: String,
					DateModified: 0001-01-01,
					Deleted: False,
					TimeZone: String,
					Offset: 0,
					TextReminderSentDate: 0001-01-01,
					Confirmed: False,
					ConfirmationTextId: String,
					FirstTextReminderId: String,
					SecondTextReminderId: String,
					LocationUID: 00000000000000000000000000000000,
					AgentReminderSentDate: 0001-01-01,
					ContactId: 0,
					IsPrivate: False,
					ProjectID: 0,
					JobID: 0,
					ProjectStartDate: 0001-01-01,
					ProjectEndDate: 0001-01-01,
					MaxCrewEndDate: 0001-01-01,
					MaxEquipmentEndDate: 0001-01-01,
					CheckInId: 00000000000000000000000000000000,
					AllDay: False,
					JobName: String,
					JobStatusName: String,
					JobStatusId: 0,
					ProjectName: String,
					ResourceId: 0,
					ResourceName: String,
					Original_EventStart: 0001-01-01,
					Original_Recurrence: False,
					Original_RecurrenceFrequency: String,
					Original_RecurrenceBy: String,
					Original_RecurrenceByValue: String,
					Original_RecurrenceUntil: 0001-01-01,
					Checksum: String
				}
			]
		}
	]
}