Trendsic Platform Service

<back to all web services

JobMaterialRequest

The following routes are available for this service:
PUT,OPTIONS/v1/Job/material
namespace CRM.AgencyPlatform.API.Internal

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type CalendarEvent() = 
        member val CalendarEventId:Int32 = new Int32() with get,set
        member val CalendarId:Guid = new Guid() with get,set
        member val EventStart:DateTime = new DateTime() with get,set
        member val EventEnd:DateTime = new DateTime() with get,set
        member val Location:String = null with get,set
        member val Summary:String = null with get,set
        member val Description:String = null with get,set
        member val EventTypeId:Int32 = new Int32() with get,set
        member val Recurrence:Boolean = new Boolean() with get,set
        member val RecurrenceFrequency:String = null with get,set
        member val RecurrenceBy:String = null with get,set
        member val RecurrenceByValue:String = null with get,set
        member val RecurrenceUntil:DateTime = new DateTime() with get,set
        member val CreatedBy:String = null with get,set
        member val CreatedByName:String = null with get,set
        member val DateCreated:DateTime = new DateTime() with get,set
        member val ModifiedBy:String = null with get,set
        member val DateModified:DateTime = new DateTime() with get,set
        member val Deleted:Boolean = new Boolean() with get,set
        member val TimeZone:String = null with get,set
        member val Offset:Int32 = new Int32() with get,set
        member val TextReminderSentDate:DateTime = new DateTime() with get,set
        member val Confirmed:Boolean = new Boolean() with get,set
        member val ConfirmationTextId:String = null with get,set
        member val FirstTextReminderId:String = null with get,set
        member val SecondTextReminderId:String = null with get,set
        member val LocationUID:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val AgentReminderSentDate:DateTime = new DateTime() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val IsPrivate:Boolean = new Boolean() with get,set
        member val ProjectID:Int32 = new Int32() with get,set
        member val JobID:Int32 = new Int32() with get,set
        member val ProjectStartDate:DateTime = new DateTime() with get,set
        member val ProjectEndDate:DateTime = new DateTime() with get,set
        member val MaxCrewEndDate:DateTime = new DateTime() with get,set
        member val MaxEquipmentEndDate:DateTime = new DateTime() with get,set
        member val CheckInId:Guid = new Guid() with get,set
        member val AllDay:Boolean = new Boolean() with get,set
        member val JobName:String = null with get,set
        member val JobStatusName:String = null with get,set
        member val JobStatusId:Int32 = new Int32() with get,set
        member val ProjectName:String = null with get,set
        member val ResourceId:Int32 = new Int32() with get,set
        member val ResourceName:String = null with get,set
        member val Original_EventStart:DateTime = new DateTime() with get,set
        member val Original_Recurrence:Boolean = new Boolean() with get,set
        member val Original_RecurrenceFrequency:String = null with get,set
        member val Original_RecurrenceBy:String = null with get,set
        member val Original_RecurrenceByValue:String = null with get,set
        member val Original_RecurrenceUntil:DateTime = new DateTime() with get,set
        member val Checksum:String = null with get,set

    [<AllowNullLiteral>]
    type Location() = 
        member val Id:Guid = new Guid() with get,set
        member val ClientId:Guid = new Guid() with get,set
        member val Name:String = null with get,set
        member val Address1:String = null with get,set
        member val Address2:String = null with get,set
        member val City:String = null with get,set
        member val State:String = null with get,set
        member val Zip:String = null with get,set
        member val Phone:String = null with get,set
        member val Fax:String = null with get,set
        member val URL:String = null with get,set
        member val Email:String = null with get,set
        member val TimeZone:String = null with get,set
        member val Active:Boolean = new Boolean() with get,set
        member val EntDate:DateTime = new DateTime() with get,set
        member val ModDate:DateTime = new DateTime() with get,set
        member val LocationImage:String = null with get,set

    [<AllowNullLiteral>]
    type Job() = 
        member val JobID:Int32 = new Int32() with get,set
        member val JobName:String = null with get,set
        member val Description:String = null with get,set
        member val JobTypeID:Int32 = new Int32() with get,set
        member val ExpectedStartDate:DateTime = new DateTime() with get,set
        member val ActualStartDate:DateTime = new DateTime() with get,set
        member val ExpectedCompletionDate:DateTime = new DateTime() with get,set
        member val ActualEndDate:DateTime = new DateTime() with get,set
        member val Active:Boolean = new Boolean() with get,set
        member val CreatedByUID:Guid = new Guid() with get,set
        member val ProjectID:Int32 = new Int32() with get,set
        member val StatusId:Int32 = new Int32() with get,set
        member val AdvancedScheduling:Boolean = new Boolean() with get,set
        member val ShowTimes:Boolean = new Boolean() with get,set
        member val Schedule:ResizeArray<CalendarEvent> = new ResizeArray<CalendarEvent>() with get,set
        member val HasScheduledWorkers:Boolean = new Boolean() with get,set
        member val HasScheduledPlaceholders:Boolean = new Boolean() with get,set
        member val ClientApprovalStatus:String = null with get,set
        member val InternalCost:Decimal = new Decimal() with get,set
        member val CostToClient:Decimal = new Decimal() with get,set
        member val Location:Location = null with get,set
        member val ProjectLocationID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ProjectLocationAreaID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ProjectLocationName:String = null with get,set
        member val ProjectLocationAddress1:String = null with get,set
        member val ProjectLocationAddress2:String = null with get,set
        member val ProjectLocationCity:String = null with get,set
        member val ProjectLocationState:String = null with get,set
        member val ProjectLocationZip:String = null with get,set
        member val ProjectLocationAreaName:String = null with get,set

    [<AllowNullLiteral>]
    type JobResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val Job:ResizeArray<Job> = new ResizeArray<Job>() with get,set
        member val RequiresConfirm:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type JobMaterialRequest() = 
        member val ProjectID:Int32 = new Int32() with get,set
        member val JobID:Int32 = new Int32() with get,set
        member val MaterialID:Int32 = new Int32() with get,set
        member val AddRemove:Int32 = new Int32() with get,set
        member val StatusId:Int32 = new Int32() with get,set
        member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set

F# JobMaterialRequest 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.

PUT /v1/Job/material HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ProjectID: 0,
	JobID: 0,
	MaterialID: 0,
	AddRemove: 0,
	StatusId: 0,
	Quantity: 0
}
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,
			Description: 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
				}
			],
			HasScheduledWorkers: False,
			HasScheduledPlaceholders: False,
			ClientApprovalStatus: String,
			InternalCost: 0,
			CostToClient: 0,
			Location: 
			{
				Id: 00000000000000000000000000000000,
				ClientId: 00000000000000000000000000000000,
				Name: String,
				Address1: String,
				Address2: String,
				City: String,
				State: String,
				Zip: String,
				Phone: String,
				Fax: String,
				URL: String,
				Email: String,
				TimeZone: String,
				Active: False,
				EntDate: 0001-01-01,
				ModDate: 0001-01-01,
				LocationImage: String
			},
			ProjectLocationID: 0,
			ProjectLocationAreaID: 0,
			ProjectLocationName: String,
			ProjectLocationAddress1: String,
			ProjectLocationAddress2: String,
			ProjectLocationCity: String,
			ProjectLocationState: String,
			ProjectLocationZip: String,
			ProjectLocationAreaName: String
		}
	],
	RequiresConfirm: False
}