Trendsic Platform Service

<back to all web services

JobRequest

Requires Authentication
The following routes are available for this service:
GET,POST,PUT,DELETE,OPTIONS/v1/Job/{JobID}
GET,POST,PUT,DELETE,OPTIONS/v1/Job

export class CalendarEvent
{
    public CalendarEventId: number;
    public CalendarId: string;
    public EventStart: string;
    public EventEnd: string;
    public Location: string;
    public Summary: string;
    public Description: string;
    public EventTypeId: number;
    public Recurrence: boolean;
    public RecurrenceFrequency: string;
    public RecurrenceBy: string;
    public RecurrenceByValue: string;
    public RecurrenceUntil: string;
    public CreatedBy: string;
    public CreatedByName: string;
    public DateCreated: string;
    public ModifiedBy: string;
    public DateModified: string;
    public Deleted: boolean;
    public TimeZone: string;
    public Offset: number;
    public TextReminderSentDate: string;
    public Confirmed: boolean;
    public ConfirmationTextId: string;
    public FirstTextReminderId: string;
    public SecondTextReminderId: string;
    public LocationUID?: string;
    public AgentReminderSentDate: string;
    public ContactId: number;
    public IsPrivate: boolean;
    public ProjectID: number;
    public JobID: number;
    public ProjectStartDate: string;
    public ProjectEndDate: string;
    public MaxCrewEndDate: string;
    public MaxEquipmentEndDate: string;
    public CheckInId: string;
    public AllDay: boolean;
    public JobName: string;
    public JobStatusName: string;
    public JobStatusId: number;
    public ProjectName: string;
    public ResourceId: number;
    public ResourceName: string;
    public Original_EventStart: string;
    public Original_Recurrence: boolean;
    public Original_RecurrenceFrequency: string;
    public Original_RecurrenceBy: string;
    public Original_RecurrenceByValue: string;
    public Original_RecurrenceUntil: string;
    public Checksum: string;

    public constructor(init?: Partial<CalendarEvent>) { (Object as any).assign(this, init); }
}

export class Job
{
    public JobID: number;
    public JobName: string;
    public JobTypeID: number;
    public ExpectedStartDate: string;
    public ActualStartDate: string;
    public ExpectedCompletionDate: string;
    public ActualEndDate: string;
    public Active: boolean;
    public CreatedByUID: string;
    public ProjectID: number;
    public StatusId: number;
    public AdvancedScheduling: boolean;
    public ShowTimes: boolean;
    public Schedule: CalendarEvent[] = [];

    public constructor(init?: Partial<Job>) { (Object as any).assign(this, init); }
}

export class JobResponse
{
    public ResponseStatus: ResponseStatus;
    public Job: Job[] = [];
    public RequiresConfirm: boolean;

    public constructor(init?: Partial<JobResponse>) { (Object as any).assign(this, init); }
}

export class JobRequest
{
    public JobID: number;
    public Accept: boolean;
    public Job: Job[] = [];

    public constructor(init?: Partial<JobRequest>) { (Object as any).assign(this, init); }
}

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

{
	JobID: 0,
	Accept: False,
	Job: 
	[
		{
			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
		}
	},
	Job: 
	[
		{
			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
				}
			]
		}
	],
	RequiresConfirm: False
}