Trendsic Platform Service

<back to all web services

EquipmentDvirSignOffRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/Equipment/{EquipmentID}/dvir/signoff
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 DvirUnitRef() = 
        member val EquipmentID:Int32 = new Int32() with get,set
        member val Unit:String = null with get,set

    [<AllowNullLiteral>]
    type DvirPhotoView() = 
        member val WorkPhotoID:Int32 = new Int32() with get,set
        member val DefectKey:String = null with get,set
        member val Url:String = null with get,set
        member val MarkedUrl:String = null with get,set
        member val CapturedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Lat:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Lng:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type DvirDefectView() = 
        member val DvirDefectID:Int32 = new Int32() with get,set
        member val ClientKey:String = null with get,set
        member val DvirReportID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ReportNumber:String = null with get,set
        member val EquipmentID:Int32 = new Int32() with get,set
        member val Unit:String = null with get,set
        member val ItemKey:String = null with get,set
        member val Label:String = null with get,set
        member val FormLine:String = null with get,set
        member val IsCustom:Boolean = new Boolean() with get,set
        member val Severity:String = null with get,set
        member val SeverityText:String = null with get,set
        member val Note:String = null with get,set
        member val Source:String = null with get,set
        member val ReportedByName:String = null with get,set
        member val ReportedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val EquipmentMaintenanceID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Outcome:String = null with get,set
        member val OutcomeText:String = null with get,set
        member val OutcomeNote:String = null with get,set
        member val ScheduledFor:String = null with get,set
        member val SignedOffByName:String = null with get,set
        member val SignedOffAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val IsOpen:Boolean = new Boolean() with get,set
        member val Withdrawn:Boolean = new Boolean() with get,set
        member val PhotoCount:Int32 = new Int32() with get,set
        member val Photos:ResizeArray<DvirPhotoView> = new ResizeArray<DvirPhotoView>() with get,set

    [<AllowNullLiteral>]
    type DvirVehicleView() = 
        member val EquipmentID:Int32 = new Int32() with get,set
        member val Unit:String = null with get,set
        member val Name:String = null with get,set
        member val VehicleType:String = null with get,set
        member val IsTrailer:Boolean = new Boolean() with get,set
        member val VehicleStatus:String = null with get,set
        member val Status:String = null with get,set
        member val StatusText:String = null with get,set
        member val Line:String = null with get,set
        member val FirstUnsafeReport:String = null with get,set
        member val OpenCount:Int32 = new Int32() with get,set
        member val LocalToday:String = null with get,set
        member val NeedsPreTrip:Boolean = new Boolean() with get,set
        member val NeedsReview:Boolean = new Boolean() with get,set
        member val ReviewReportIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val Trailers:ResizeArray<DvirUnitRef> = new ResizeArray<DvirUnitRef>() with get,set
        member val LastOdometer:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val InUseBy:String = null with get,set
        member val DrivingNow:Boolean = new Boolean() with get,set
        member val TodayPreTripId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val TodayPostTripId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val OpenDefects:ResizeArray<DvirDefectView> = new ResizeArray<DvirDefectView>() with get,set

    [<AllowNullLiteral>]
    type DvirSignatureView() = 
        member val SignatureRecordID:Int32 = new Int32() with get,set
        member val Role:String = null with get,set
        member val SignerName:String = null with get,set
        member val SignedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ImageUrl:String = null with get,set

    [<AllowNullLiteral>]
    type DvirReportView() = 
        member val DvirReportID:Int32 = new Int32() with get,set
        member val Number:String = null with get,set
        member val Kind:String = null with get,set
        member val KindText:String = null with get,set
        member val EquipmentID:Int32 = new Int32() with get,set
        member val Unit:String = null with get,set
        member val Trailers:ResizeArray<DvirUnitRef> = new ResizeArray<DvirUnitRef>() with get,set
        member val ContactID:Int32 = new Int32() with get,set
        member val DriverName:String = null with get,set
        member val Board:String = null with get,set
        member val ForDate:String = null with get,set
        member val FiledAtUtc:DateTime = new DateTime() with get,set
        member val SavedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val IsLate:Boolean = new Boolean() with get,set
        member val IsAway:Boolean = new Boolean() with get,set
        member val IsSatisfactory:Boolean = new Boolean() with get,set
        member val Odometer:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val LocationText:String = null with get,set
        member val Remarks:String = null with get,set
        member val ReviewedByName:String = null with get,set
        member val ReviewedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Chip:String = null with get,set
        member val Defects:ResizeArray<DvirDefectView> = new ResizeArray<DvirDefectView>() with get,set
        member val Signatures:ResizeArray<DvirSignatureView> = new ResizeArray<DvirSignatureView>() with get,set

    [<AllowNullLiteral>]
    type DvirVehicleDetail() = 
        inherit DvirVehicleView()
        member val Plate:String = null with get,set
        member val VIN:String = null with get,set
        member val GvwrLbs:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val BranchName:String = null with get,set
        member val InspectionDue:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val InsuranceExpires:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val RecentlyFixed:ResizeArray<DvirDefectView> = new ResizeArray<DvirDefectView>() with get,set
        member val ReviewReports:ResizeArray<DvirReportView> = new ResizeArray<DvirReportView>() with get,set
        member val History:ResizeArray<DvirReportView> = new ResizeArray<DvirReportView>() with get,set

    [<AllowNullLiteral>]
    type EquipmentDvirSignOffResponse() = 
        member val Vehicle:DvirVehicleDetail = null with get,set
        member val Returned:Boolean = new Boolean() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type DvirSignOffItem() = 
        member val DvirDefectID:Int32 = new Int32() with get,set
        member val Outcome:String = null with get,set
        member val Note:String = null with get,set
        member val ScheduledFor:String = null with get,set

    [<AllowNullLiteral>]
    type EquipmentDvirSignOffRequest() = 
        member val EquipmentID:Int32 = new Int32() with get,set
        member val Defects:ResizeArray<DvirSignOffItem> = new ResizeArray<DvirSignOffItem>() with get,set
        member val MechanicName:String = null with get,set
        member val SignaturePng:String = null with get,set

F# EquipmentDvirSignOffRequest 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/Equipment/{EquipmentID}/dvir/signoff HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	EquipmentID: 0,
	Defects: 
	[
		{
			DvirDefectID: 0,
			Outcome: String,
			Note: String,
			ScheduledFor: String
		}
	],
	MechanicName: String,
	SignaturePng: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Vehicle: 
	{
		Plate: String,
		VIN: String,
		GvwrLbs: 0,
		BranchName: String,
		InspectionDue: 0001-01-01,
		InsuranceExpires: 0001-01-01,
		RecentlyFixed: 
		[
			{
				DvirDefectID: 0,
				ClientKey: String,
				DvirReportID: 0,
				ReportNumber: String,
				EquipmentID: 0,
				Unit: String,
				ItemKey: String,
				Label: String,
				FormLine: String,
				IsCustom: False,
				Severity: String,
				SeverityText: String,
				Note: String,
				Source: String,
				ReportedByName: String,
				ReportedAtUtc: 0001-01-01,
				EquipmentMaintenanceID: 0,
				Outcome: String,
				OutcomeText: String,
				OutcomeNote: String,
				ScheduledFor: String,
				SignedOffByName: String,
				SignedOffAtUtc: 0001-01-01,
				IsOpen: False,
				Withdrawn: False,
				PhotoCount: 0,
				Photos: 
				[
					{
						WorkPhotoID: 0,
						DefectKey: String,
						Url: String,
						MarkedUrl: String,
						CapturedAtUtc: 0001-01-01,
						Lat: 0,
						Lng: 0
					}
				]
			}
		],
		ReviewReports: 
		[
			{
				DvirReportID: 0,
				Number: String,
				Kind: String,
				KindText: String,
				EquipmentID: 0,
				Unit: String,
				Trailers: 
				[
					{
						EquipmentID: 0,
						Unit: String
					}
				],
				ContactID: 0,
				DriverName: String,
				Board: String,
				ForDate: String,
				FiledAtUtc: 0001-01-01,
				SavedAtUtc: 0001-01-01,
				IsLate: False,
				IsAway: False,
				IsSatisfactory: False,
				Odometer: 0,
				LocationText: String,
				Remarks: String,
				ReviewedByName: String,
				ReviewedAtUtc: 0001-01-01,
				Chip: String,
				Defects: 
				[
					{
						DvirDefectID: 0,
						ClientKey: String,
						DvirReportID: 0,
						ReportNumber: String,
						EquipmentID: 0,
						Unit: String,
						ItemKey: String,
						Label: String,
						FormLine: String,
						IsCustom: False,
						Severity: String,
						SeverityText: String,
						Note: String,
						Source: String,
						ReportedByName: String,
						ReportedAtUtc: 0001-01-01,
						EquipmentMaintenanceID: 0,
						Outcome: String,
						OutcomeText: String,
						OutcomeNote: String,
						ScheduledFor: String,
						SignedOffByName: String,
						SignedOffAtUtc: 0001-01-01,
						IsOpen: False,
						Withdrawn: False,
						PhotoCount: 0,
						Photos: 
						[
							{
								WorkPhotoID: 0,
								DefectKey: String,
								Url: String,
								MarkedUrl: String,
								CapturedAtUtc: 0001-01-01,
								Lat: 0,
								Lng: 0
							}
						]
					}
				],
				Signatures: 
				[
					{
						SignatureRecordID: 0,
						Role: String,
						SignerName: String,
						SignedAt: 0001-01-01,
						ImageUrl: String
					}
				]
			}
		],
		History: 
		[
			{
				DvirReportID: 0,
				Number: String,
				Kind: String,
				KindText: String,
				EquipmentID: 0,
				Unit: String,
				Trailers: 
				[
					{
						EquipmentID: 0,
						Unit: String
					}
				],
				ContactID: 0,
				DriverName: String,
				Board: String,
				ForDate: String,
				FiledAtUtc: 0001-01-01,
				SavedAtUtc: 0001-01-01,
				IsLate: False,
				IsAway: False,
				IsSatisfactory: False,
				Odometer: 0,
				LocationText: String,
				Remarks: String,
				ReviewedByName: String,
				ReviewedAtUtc: 0001-01-01,
				Chip: String,
				Defects: 
				[
					{
						DvirDefectID: 0,
						ClientKey: String,
						DvirReportID: 0,
						ReportNumber: String,
						EquipmentID: 0,
						Unit: String,
						ItemKey: String,
						Label: String,
						FormLine: String,
						IsCustom: False,
						Severity: String,
						SeverityText: String,
						Note: String,
						Source: String,
						ReportedByName: String,
						ReportedAtUtc: 0001-01-01,
						EquipmentMaintenanceID: 0,
						Outcome: String,
						OutcomeText: String,
						OutcomeNote: String,
						ScheduledFor: String,
						SignedOffByName: String,
						SignedOffAtUtc: 0001-01-01,
						IsOpen: False,
						Withdrawn: False,
						PhotoCount: 0,
						Photos: 
						[
							{
								WorkPhotoID: 0,
								DefectKey: String,
								Url: String,
								MarkedUrl: String,
								CapturedAtUtc: 0001-01-01,
								Lat: 0,
								Lng: 0
							}
						]
					}
				],
				Signatures: 
				[
					{
						SignatureRecordID: 0,
						Role: String,
						SignerName: String,
						SignedAt: 0001-01-01,
						ImageUrl: String
					}
				]
			}
		],
		EquipmentID: 0,
		Unit: String,
		Name: String,
		VehicleType: String,
		IsTrailer: False,
		VehicleStatus: String,
		Status: String,
		StatusText: String,
		Line: String,
		FirstUnsafeReport: String,
		OpenCount: 0,
		LocalToday: String,
		NeedsPreTrip: False,
		NeedsReview: False,
		ReviewReportIds: 
		[
			0
		],
		Trailers: 
		[
			{
				EquipmentID: 0,
				Unit: String
			}
		],
		LastOdometer: 0,
		InUseBy: String,
		DrivingNow: False,
		TodayPreTripId: 0,
		TodayPostTripId: 0,
		OpenDefects: 
		[
			{
				DvirDefectID: 0,
				ClientKey: String,
				DvirReportID: 0,
				ReportNumber: String,
				EquipmentID: 0,
				Unit: String,
				ItemKey: String,
				Label: String,
				FormLine: String,
				IsCustom: False,
				Severity: String,
				SeverityText: String,
				Note: String,
				Source: String,
				ReportedByName: String,
				ReportedAtUtc: 0001-01-01,
				EquipmentMaintenanceID: 0,
				Outcome: String,
				OutcomeText: String,
				OutcomeNote: String,
				ScheduledFor: String,
				SignedOffByName: String,
				SignedOffAtUtc: 0001-01-01,
				IsOpen: False,
				Withdrawn: False,
				PhotoCount: 0,
				Photos: 
				[
					{
						WorkPhotoID: 0,
						DefectKey: String,
						Url: String,
						MarkedUrl: String,
						CapturedAtUtc: 0001-01-01,
						Lat: 0,
						Lng: 0
					}
				]
			}
		]
	},
	Returned: False,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}