Trendsic Platform Service

<back to all web services

CrewAssignmentsJobsRequest

Requires Authentication
The following routes are available for this service:
GET,POST,PUT,DELETE,OPTIONS/v1/CrewAssignments/Job/{SelectedDate}
import Foundation
import ServiceStack

public class CrewAssignmentsJobsRequest : Codable
{
    public var selectedDate:Date
    public var projectJobs:[Job] = []

    required public init(){}
}

public class Job : Codable
{
    public var jobID:Int
    public var jobName:String
    public var jobTypeID:Int
    public var expectedStartDate:Date
    public var actualStartDate:Date
    public var expectedCompletionDate:Date
    public var actualEndDate:Date
    public var active:Bool
    public var createdByUID:String
    public var projectID:Int
    public var statusId:Int
    public var advancedScheduling:Bool
    public var showTimes:Bool
    public var schedule:[CalendarEvent] = []

    required public init(){}
}

public class CalendarEvent : Codable
{
    public var calendarEventId:Int
    public var calendarId:String
    public var eventStart:Date
    public var eventEnd:Date
    public var location:String
    public var summary:String
    public var Description:String
    public var eventTypeId:Int
    public var recurrence:Bool
    public var recurrenceFrequency:String
    public var recurrenceBy:String
    public var recurrenceByValue:String
    public var recurrenceUntil:Date
    public var createdBy:String
    public var createdByName:String
    public var dateCreated:Date
    public var modifiedBy:String
    public var dateModified:Date
    public var deleted:Bool
    public var timeZone:String
    public var offset:Int
    public var textReminderSentDate:Date
    public var confirmed:Bool
    public var confirmationTextId:String
    public var firstTextReminderId:String
    public var secondTextReminderId:String
    public var locationUID:String?
    public var agentReminderSentDate:Date
    public var contactId:Int
    public var isPrivate:Bool
    public var projectID:Int
    public var jobID:Int
    public var projectStartDate:Date
    public var projectEndDate:Date
    public var maxCrewEndDate:Date
    public var maxEquipmentEndDate:Date
    public var checkInId:String
    public var allDay:Bool
    public var jobName:String
    public var jobStatusName:String
    public var jobStatusId:Int
    public var projectName:String
    public var resourceId:Int
    public var resourceName:String
    public var original_EventStart:Date
    public var original_Recurrence:Bool
    public var original_RecurrenceFrequency:String
    public var original_RecurrenceBy:String
    public var original_RecurrenceByValue:String
    public var original_RecurrenceUntil:Date
    public var checksum:String

    required public init(){}
}

public class CrewAssignmentsJobsResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var projectJobs:[Job] = []

    required public init(){}
}


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

{
	SelectedDate: 0001-01-01,
	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
				}
			]
		}
	]
}