| POST,OPTIONS | /v1/Equipment/{EquipmentID}/dvir/signoff |
|---|
<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
class DvirUnitRef implements JsonSerializable
{
public function __construct(
/** @var int */
public int $EquipmentID=0,
/** @var string|null */
public ?string $Unit=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['EquipmentID'])) $this->EquipmentID = $o['EquipmentID'];
if (isset($o['Unit'])) $this->Unit = $o['Unit'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->EquipmentID)) $o['EquipmentID'] = $this->EquipmentID;
if (isset($this->Unit)) $o['Unit'] = $this->Unit;
return empty($o) ? new class(){} : $o;
}
}
class DvirPhotoView implements JsonSerializable
{
public function __construct(
/** @var int */
public int $WorkPhotoID=0,
/** @var string|null */
public ?string $DefectKey=null,
/** @var string|null */
public ?string $Url=null,
/** @var string|null */
public ?string $MarkedUrl=null,
/** @var DateTime|null */
public ?DateTime $CapturedAtUtc=null,
/** @var float|null */
public ?float $Lat=null,
/** @var float|null */
public ?float $Lng=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['WorkPhotoID'])) $this->WorkPhotoID = $o['WorkPhotoID'];
if (isset($o['DefectKey'])) $this->DefectKey = $o['DefectKey'];
if (isset($o['Url'])) $this->Url = $o['Url'];
if (isset($o['MarkedUrl'])) $this->MarkedUrl = $o['MarkedUrl'];
if (isset($o['CapturedAtUtc'])) $this->CapturedAtUtc = JsonConverters::from('DateTime', $o['CapturedAtUtc']);
if (isset($o['Lat'])) $this->Lat = $o['Lat'];
if (isset($o['Lng'])) $this->Lng = $o['Lng'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->WorkPhotoID)) $o['WorkPhotoID'] = $this->WorkPhotoID;
if (isset($this->DefectKey)) $o['DefectKey'] = $this->DefectKey;
if (isset($this->Url)) $o['Url'] = $this->Url;
if (isset($this->MarkedUrl)) $o['MarkedUrl'] = $this->MarkedUrl;
if (isset($this->CapturedAtUtc)) $o['CapturedAtUtc'] = JsonConverters::to('DateTime', $this->CapturedAtUtc);
if (isset($this->Lat)) $o['Lat'] = $this->Lat;
if (isset($this->Lng)) $o['Lng'] = $this->Lng;
return empty($o) ? new class(){} : $o;
}
}
class DvirDefectView implements JsonSerializable
{
public function __construct(
/** @var int */
public int $DvirDefectID=0,
/** @var string|null */
public ?string $ClientKey=null,
/** @var int|null */
public ?int $DvirReportID=null,
/** @var string|null */
public ?string $ReportNumber=null,
/** @var int */
public int $EquipmentID=0,
/** @var string|null */
public ?string $Unit=null,
/** @var string|null */
public ?string $ItemKey=null,
/** @var string|null */
public ?string $Label=null,
/** @var string|null */
public ?string $FormLine=null,
/** @var bool|null */
public ?bool $IsCustom=null,
/** @var string|null */
public ?string $Severity=null,
/** @var string|null */
public ?string $SeverityText=null,
/** @var string|null */
public ?string $Note=null,
/** @var string|null */
public ?string $Source=null,
/** @var string|null */
public ?string $ReportedByName=null,
/** @var DateTime|null */
public ?DateTime $ReportedAtUtc=null,
/** @var int|null */
public ?int $EquipmentMaintenanceID=null,
/** @var string|null */
public ?string $Outcome=null,
/** @var string|null */
public ?string $OutcomeText=null,
/** @var string|null */
public ?string $OutcomeNote=null,
/** @var string|null */
public ?string $ScheduledFor=null,
/** @var string|null */
public ?string $SignedOffByName=null,
/** @var DateTime|null */
public ?DateTime $SignedOffAtUtc=null,
/** @var bool|null */
public ?bool $IsOpen=null,
/** @var bool|null */
public ?bool $Withdrawn=null,
/** @var int */
public int $PhotoCount=0,
/** @var array<DvirPhotoView>|null */
public ?array $Photos=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['DvirDefectID'])) $this->DvirDefectID = $o['DvirDefectID'];
if (isset($o['ClientKey'])) $this->ClientKey = $o['ClientKey'];
if (isset($o['DvirReportID'])) $this->DvirReportID = $o['DvirReportID'];
if (isset($o['ReportNumber'])) $this->ReportNumber = $o['ReportNumber'];
if (isset($o['EquipmentID'])) $this->EquipmentID = $o['EquipmentID'];
if (isset($o['Unit'])) $this->Unit = $o['Unit'];
if (isset($o['ItemKey'])) $this->ItemKey = $o['ItemKey'];
if (isset($o['Label'])) $this->Label = $o['Label'];
if (isset($o['FormLine'])) $this->FormLine = $o['FormLine'];
if (isset($o['IsCustom'])) $this->IsCustom = $o['IsCustom'];
if (isset($o['Severity'])) $this->Severity = $o['Severity'];
if (isset($o['SeverityText'])) $this->SeverityText = $o['SeverityText'];
if (isset($o['Note'])) $this->Note = $o['Note'];
if (isset($o['Source'])) $this->Source = $o['Source'];
if (isset($o['ReportedByName'])) $this->ReportedByName = $o['ReportedByName'];
if (isset($o['ReportedAtUtc'])) $this->ReportedAtUtc = JsonConverters::from('DateTime', $o['ReportedAtUtc']);
if (isset($o['EquipmentMaintenanceID'])) $this->EquipmentMaintenanceID = $o['EquipmentMaintenanceID'];
if (isset($o['Outcome'])) $this->Outcome = $o['Outcome'];
if (isset($o['OutcomeText'])) $this->OutcomeText = $o['OutcomeText'];
if (isset($o['OutcomeNote'])) $this->OutcomeNote = $o['OutcomeNote'];
if (isset($o['ScheduledFor'])) $this->ScheduledFor = $o['ScheduledFor'];
if (isset($o['SignedOffByName'])) $this->SignedOffByName = $o['SignedOffByName'];
if (isset($o['SignedOffAtUtc'])) $this->SignedOffAtUtc = JsonConverters::from('DateTime', $o['SignedOffAtUtc']);
if (isset($o['IsOpen'])) $this->IsOpen = $o['IsOpen'];
if (isset($o['Withdrawn'])) $this->Withdrawn = $o['Withdrawn'];
if (isset($o['PhotoCount'])) $this->PhotoCount = $o['PhotoCount'];
if (isset($o['Photos'])) $this->Photos = JsonConverters::fromArray('DvirPhotoView', $o['Photos']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->DvirDefectID)) $o['DvirDefectID'] = $this->DvirDefectID;
if (isset($this->ClientKey)) $o['ClientKey'] = $this->ClientKey;
if (isset($this->DvirReportID)) $o['DvirReportID'] = $this->DvirReportID;
if (isset($this->ReportNumber)) $o['ReportNumber'] = $this->ReportNumber;
if (isset($this->EquipmentID)) $o['EquipmentID'] = $this->EquipmentID;
if (isset($this->Unit)) $o['Unit'] = $this->Unit;
if (isset($this->ItemKey)) $o['ItemKey'] = $this->ItemKey;
if (isset($this->Label)) $o['Label'] = $this->Label;
if (isset($this->FormLine)) $o['FormLine'] = $this->FormLine;
if (isset($this->IsCustom)) $o['IsCustom'] = $this->IsCustom;
if (isset($this->Severity)) $o['Severity'] = $this->Severity;
if (isset($this->SeverityText)) $o['SeverityText'] = $this->SeverityText;
if (isset($this->Note)) $o['Note'] = $this->Note;
if (isset($this->Source)) $o['Source'] = $this->Source;
if (isset($this->ReportedByName)) $o['ReportedByName'] = $this->ReportedByName;
if (isset($this->ReportedAtUtc)) $o['ReportedAtUtc'] = JsonConverters::to('DateTime', $this->ReportedAtUtc);
if (isset($this->EquipmentMaintenanceID)) $o['EquipmentMaintenanceID'] = $this->EquipmentMaintenanceID;
if (isset($this->Outcome)) $o['Outcome'] = $this->Outcome;
if (isset($this->OutcomeText)) $o['OutcomeText'] = $this->OutcomeText;
if (isset($this->OutcomeNote)) $o['OutcomeNote'] = $this->OutcomeNote;
if (isset($this->ScheduledFor)) $o['ScheduledFor'] = $this->ScheduledFor;
if (isset($this->SignedOffByName)) $o['SignedOffByName'] = $this->SignedOffByName;
if (isset($this->SignedOffAtUtc)) $o['SignedOffAtUtc'] = JsonConverters::to('DateTime', $this->SignedOffAtUtc);
if (isset($this->IsOpen)) $o['IsOpen'] = $this->IsOpen;
if (isset($this->Withdrawn)) $o['Withdrawn'] = $this->Withdrawn;
if (isset($this->PhotoCount)) $o['PhotoCount'] = $this->PhotoCount;
if (isset($this->Photos)) $o['Photos'] = JsonConverters::toArray('DvirPhotoView', $this->Photos);
return empty($o) ? new class(){} : $o;
}
}
class DvirVehicleView implements JsonSerializable
{
public function __construct(
/** @var int */
public int $EquipmentID=0,
/** @var string|null */
public ?string $Unit=null,
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $VehicleType=null,
/** @var bool|null */
public ?bool $IsTrailer=null,
/** @var string|null */
public ?string $VehicleStatus=null,
/** @var string|null */
public ?string $Status=null,
/** @var string|null */
public ?string $StatusText=null,
/** @var string|null */
public ?string $Line=null,
/** @var string|null */
public ?string $FirstUnsafeReport=null,
/** @var int */
public int $OpenCount=0,
/** @var string|null */
public ?string $LocalToday=null,
/** @var bool|null */
public ?bool $NeedsPreTrip=null,
/** @var bool|null */
public ?bool $NeedsReview=null,
/** @var array<int>|null */
public ?array $ReviewReportIds=null,
/** @var array<DvirUnitRef>|null */
public ?array $Trailers=null,
/** @var int|null */
public ?int $LastOdometer=null,
/** @var string|null */
public ?string $InUseBy=null,
/** @var bool|null */
public ?bool $DrivingNow=null,
/** @var int|null */
public ?int $TodayPreTripId=null,
/** @var int|null */
public ?int $TodayPostTripId=null,
/** @var array<DvirDefectView>|null */
public ?array $OpenDefects=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['EquipmentID'])) $this->EquipmentID = $o['EquipmentID'];
if (isset($o['Unit'])) $this->Unit = $o['Unit'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['VehicleType'])) $this->VehicleType = $o['VehicleType'];
if (isset($o['IsTrailer'])) $this->IsTrailer = $o['IsTrailer'];
if (isset($o['VehicleStatus'])) $this->VehicleStatus = $o['VehicleStatus'];
if (isset($o['Status'])) $this->Status = $o['Status'];
if (isset($o['StatusText'])) $this->StatusText = $o['StatusText'];
if (isset($o['Line'])) $this->Line = $o['Line'];
if (isset($o['FirstUnsafeReport'])) $this->FirstUnsafeReport = $o['FirstUnsafeReport'];
if (isset($o['OpenCount'])) $this->OpenCount = $o['OpenCount'];
if (isset($o['LocalToday'])) $this->LocalToday = $o['LocalToday'];
if (isset($o['NeedsPreTrip'])) $this->NeedsPreTrip = $o['NeedsPreTrip'];
if (isset($o['NeedsReview'])) $this->NeedsReview = $o['NeedsReview'];
if (isset($o['ReviewReportIds'])) $this->ReviewReportIds = JsonConverters::fromArray('int', $o['ReviewReportIds']);
if (isset($o['Trailers'])) $this->Trailers = JsonConverters::fromArray('DvirUnitRef', $o['Trailers']);
if (isset($o['LastOdometer'])) $this->LastOdometer = $o['LastOdometer'];
if (isset($o['InUseBy'])) $this->InUseBy = $o['InUseBy'];
if (isset($o['DrivingNow'])) $this->DrivingNow = $o['DrivingNow'];
if (isset($o['TodayPreTripId'])) $this->TodayPreTripId = $o['TodayPreTripId'];
if (isset($o['TodayPostTripId'])) $this->TodayPostTripId = $o['TodayPostTripId'];
if (isset($o['OpenDefects'])) $this->OpenDefects = JsonConverters::fromArray('DvirDefectView', $o['OpenDefects']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->EquipmentID)) $o['EquipmentID'] = $this->EquipmentID;
if (isset($this->Unit)) $o['Unit'] = $this->Unit;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->VehicleType)) $o['VehicleType'] = $this->VehicleType;
if (isset($this->IsTrailer)) $o['IsTrailer'] = $this->IsTrailer;
if (isset($this->VehicleStatus)) $o['VehicleStatus'] = $this->VehicleStatus;
if (isset($this->Status)) $o['Status'] = $this->Status;
if (isset($this->StatusText)) $o['StatusText'] = $this->StatusText;
if (isset($this->Line)) $o['Line'] = $this->Line;
if (isset($this->FirstUnsafeReport)) $o['FirstUnsafeReport'] = $this->FirstUnsafeReport;
if (isset($this->OpenCount)) $o['OpenCount'] = $this->OpenCount;
if (isset($this->LocalToday)) $o['LocalToday'] = $this->LocalToday;
if (isset($this->NeedsPreTrip)) $o['NeedsPreTrip'] = $this->NeedsPreTrip;
if (isset($this->NeedsReview)) $o['NeedsReview'] = $this->NeedsReview;
if (isset($this->ReviewReportIds)) $o['ReviewReportIds'] = JsonConverters::toArray('int', $this->ReviewReportIds);
if (isset($this->Trailers)) $o['Trailers'] = JsonConverters::toArray('DvirUnitRef', $this->Trailers);
if (isset($this->LastOdometer)) $o['LastOdometer'] = $this->LastOdometer;
if (isset($this->InUseBy)) $o['InUseBy'] = $this->InUseBy;
if (isset($this->DrivingNow)) $o['DrivingNow'] = $this->DrivingNow;
if (isset($this->TodayPreTripId)) $o['TodayPreTripId'] = $this->TodayPreTripId;
if (isset($this->TodayPostTripId)) $o['TodayPostTripId'] = $this->TodayPostTripId;
if (isset($this->OpenDefects)) $o['OpenDefects'] = JsonConverters::toArray('DvirDefectView', $this->OpenDefects);
return empty($o) ? new class(){} : $o;
}
}
class DvirSignatureView implements JsonSerializable
{
public function __construct(
/** @var int */
public int $SignatureRecordID=0,
/** @var string|null */
public ?string $Role=null,
/** @var string|null */
public ?string $SignerName=null,
/** @var DateTime|null */
public ?DateTime $SignedAt=null,
/** @var string|null */
public ?string $ImageUrl=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['SignatureRecordID'])) $this->SignatureRecordID = $o['SignatureRecordID'];
if (isset($o['Role'])) $this->Role = $o['Role'];
if (isset($o['SignerName'])) $this->SignerName = $o['SignerName'];
if (isset($o['SignedAt'])) $this->SignedAt = JsonConverters::from('DateTime', $o['SignedAt']);
if (isset($o['ImageUrl'])) $this->ImageUrl = $o['ImageUrl'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->SignatureRecordID)) $o['SignatureRecordID'] = $this->SignatureRecordID;
if (isset($this->Role)) $o['Role'] = $this->Role;
if (isset($this->SignerName)) $o['SignerName'] = $this->SignerName;
if (isset($this->SignedAt)) $o['SignedAt'] = JsonConverters::to('DateTime', $this->SignedAt);
if (isset($this->ImageUrl)) $o['ImageUrl'] = $this->ImageUrl;
return empty($o) ? new class(){} : $o;
}
}
class DvirReportView implements JsonSerializable
{
public function __construct(
/** @var int */
public int $DvirReportID=0,
/** @var string|null */
public ?string $Number=null,
/** @var string|null */
public ?string $Kind=null,
/** @var string|null */
public ?string $KindText=null,
/** @var int */
public int $EquipmentID=0,
/** @var string|null */
public ?string $Unit=null,
/** @var array<DvirUnitRef>|null */
public ?array $Trailers=null,
/** @var int */
public int $ContactID=0,
/** @var string|null */
public ?string $DriverName=null,
/** @var string|null */
public ?string $Board=null,
/** @var string|null */
public ?string $ForDate=null,
/** @var DateTime */
public DateTime $FiledAtUtc=new DateTime(),
/** @var DateTime|null */
public ?DateTime $SavedAtUtc=null,
/** @var bool|null */
public ?bool $IsLate=null,
/** @var bool|null */
public ?bool $IsAway=null,
/** @var bool|null */
public ?bool $IsSatisfactory=null,
/** @var int|null */
public ?int $Odometer=null,
/** @var string|null */
public ?string $LocationText=null,
/** @var string|null */
public ?string $Remarks=null,
/** @var string|null */
public ?string $ReviewedByName=null,
/** @var DateTime|null */
public ?DateTime $ReviewedAtUtc=null,
/** @var string|null */
public ?string $Chip=null,
/** @var array<DvirDefectView>|null */
public ?array $Defects=null,
/** @var array<DvirSignatureView>|null */
public ?array $Signatures=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['DvirReportID'])) $this->DvirReportID = $o['DvirReportID'];
if (isset($o['Number'])) $this->Number = $o['Number'];
if (isset($o['Kind'])) $this->Kind = $o['Kind'];
if (isset($o['KindText'])) $this->KindText = $o['KindText'];
if (isset($o['EquipmentID'])) $this->EquipmentID = $o['EquipmentID'];
if (isset($o['Unit'])) $this->Unit = $o['Unit'];
if (isset($o['Trailers'])) $this->Trailers = JsonConverters::fromArray('DvirUnitRef', $o['Trailers']);
if (isset($o['ContactID'])) $this->ContactID = $o['ContactID'];
if (isset($o['DriverName'])) $this->DriverName = $o['DriverName'];
if (isset($o['Board'])) $this->Board = $o['Board'];
if (isset($o['ForDate'])) $this->ForDate = $o['ForDate'];
if (isset($o['FiledAtUtc'])) $this->FiledAtUtc = JsonConverters::from('DateTime', $o['FiledAtUtc']);
if (isset($o['SavedAtUtc'])) $this->SavedAtUtc = JsonConverters::from('DateTime', $o['SavedAtUtc']);
if (isset($o['IsLate'])) $this->IsLate = $o['IsLate'];
if (isset($o['IsAway'])) $this->IsAway = $o['IsAway'];
if (isset($o['IsSatisfactory'])) $this->IsSatisfactory = $o['IsSatisfactory'];
if (isset($o['Odometer'])) $this->Odometer = $o['Odometer'];
if (isset($o['LocationText'])) $this->LocationText = $o['LocationText'];
if (isset($o['Remarks'])) $this->Remarks = $o['Remarks'];
if (isset($o['ReviewedByName'])) $this->ReviewedByName = $o['ReviewedByName'];
if (isset($o['ReviewedAtUtc'])) $this->ReviewedAtUtc = JsonConverters::from('DateTime', $o['ReviewedAtUtc']);
if (isset($o['Chip'])) $this->Chip = $o['Chip'];
if (isset($o['Defects'])) $this->Defects = JsonConverters::fromArray('DvirDefectView', $o['Defects']);
if (isset($o['Signatures'])) $this->Signatures = JsonConverters::fromArray('DvirSignatureView', $o['Signatures']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->DvirReportID)) $o['DvirReportID'] = $this->DvirReportID;
if (isset($this->Number)) $o['Number'] = $this->Number;
if (isset($this->Kind)) $o['Kind'] = $this->Kind;
if (isset($this->KindText)) $o['KindText'] = $this->KindText;
if (isset($this->EquipmentID)) $o['EquipmentID'] = $this->EquipmentID;
if (isset($this->Unit)) $o['Unit'] = $this->Unit;
if (isset($this->Trailers)) $o['Trailers'] = JsonConverters::toArray('DvirUnitRef', $this->Trailers);
if (isset($this->ContactID)) $o['ContactID'] = $this->ContactID;
if (isset($this->DriverName)) $o['DriverName'] = $this->DriverName;
if (isset($this->Board)) $o['Board'] = $this->Board;
if (isset($this->ForDate)) $o['ForDate'] = $this->ForDate;
if (isset($this->FiledAtUtc)) $o['FiledAtUtc'] = JsonConverters::to('DateTime', $this->FiledAtUtc);
if (isset($this->SavedAtUtc)) $o['SavedAtUtc'] = JsonConverters::to('DateTime', $this->SavedAtUtc);
if (isset($this->IsLate)) $o['IsLate'] = $this->IsLate;
if (isset($this->IsAway)) $o['IsAway'] = $this->IsAway;
if (isset($this->IsSatisfactory)) $o['IsSatisfactory'] = $this->IsSatisfactory;
if (isset($this->Odometer)) $o['Odometer'] = $this->Odometer;
if (isset($this->LocationText)) $o['LocationText'] = $this->LocationText;
if (isset($this->Remarks)) $o['Remarks'] = $this->Remarks;
if (isset($this->ReviewedByName)) $o['ReviewedByName'] = $this->ReviewedByName;
if (isset($this->ReviewedAtUtc)) $o['ReviewedAtUtc'] = JsonConverters::to('DateTime', $this->ReviewedAtUtc);
if (isset($this->Chip)) $o['Chip'] = $this->Chip;
if (isset($this->Defects)) $o['Defects'] = JsonConverters::toArray('DvirDefectView', $this->Defects);
if (isset($this->Signatures)) $o['Signatures'] = JsonConverters::toArray('DvirSignatureView', $this->Signatures);
return empty($o) ? new class(){} : $o;
}
}
class DvirVehicleDetail extends DvirVehicleView implements JsonSerializable
{
/**
* @param int $EquipmentID
* @param string|null $Unit
* @param string|null $Name
* @param string|null $VehicleType
* @param bool|null $IsTrailer
* @param string|null $VehicleStatus
* @param string|null $Status
* @param string|null $StatusText
* @param string|null $Line
* @param string|null $FirstUnsafeReport
* @param int $OpenCount
* @param string|null $LocalToday
* @param bool|null $NeedsPreTrip
* @param bool|null $NeedsReview
* @param array<int>|null $ReviewReportIds
* @param array<DvirUnitRef>|null $Trailers
* @param int|null $LastOdometer
* @param string|null $InUseBy
* @param bool|null $DrivingNow
* @param int|null $TodayPreTripId
* @param int|null $TodayPostTripId
* @param array<DvirDefectView>|null $OpenDefects
*/
public function __construct(
int $EquipmentID=0,
?string $Unit=null,
?string $Name=null,
?string $VehicleType=null,
?bool $IsTrailer=null,
?string $VehicleStatus=null,
?string $Status=null,
?string $StatusText=null,
?string $Line=null,
?string $FirstUnsafeReport=null,
int $OpenCount=0,
?string $LocalToday=null,
?bool $NeedsPreTrip=null,
?bool $NeedsReview=null,
?array $ReviewReportIds=null,
?array $Trailers=null,
?int $LastOdometer=null,
?string $InUseBy=null,
?bool $DrivingNow=null,
?int $TodayPreTripId=null,
?int $TodayPostTripId=null,
?array $OpenDefects=null,
/** @var string|null */
public ?string $Plate=null,
/** @var string|null */
public ?string $VIN=null,
/** @var int|null */
public ?int $GvwrLbs=null,
/** @var string|null */
public ?string $BranchName=null,
/** @var DateTime|null */
public ?DateTime $InspectionDue=null,
/** @var DateTime|null */
public ?DateTime $InsuranceExpires=null,
/** @var array<DvirDefectView>|null */
public ?array $RecentlyFixed=null,
/** @var array<DvirReportView>|null */
public ?array $ReviewReports=null,
/** @var array<DvirReportView>|null */
public ?array $History=null
) {
parent::__construct($EquipmentID,$Unit,$Name,$VehicleType,$IsTrailer,$VehicleStatus,$Status,$StatusText,$Line,$FirstUnsafeReport,$OpenCount,$LocalToday,$NeedsPreTrip,$NeedsReview,$ReviewReportIds,$Trailers,$LastOdometer,$InUseBy,$DrivingNow,$TodayPreTripId,$TodayPostTripId,$OpenDefects);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['Plate'])) $this->Plate = $o['Plate'];
if (isset($o['VIN'])) $this->VIN = $o['VIN'];
if (isset($o['GvwrLbs'])) $this->GvwrLbs = $o['GvwrLbs'];
if (isset($o['BranchName'])) $this->BranchName = $o['BranchName'];
if (isset($o['InspectionDue'])) $this->InspectionDue = JsonConverters::from('DateTime', $o['InspectionDue']);
if (isset($o['InsuranceExpires'])) $this->InsuranceExpires = JsonConverters::from('DateTime', $o['InsuranceExpires']);
if (isset($o['RecentlyFixed'])) $this->RecentlyFixed = JsonConverters::fromArray('DvirDefectView', $o['RecentlyFixed']);
if (isset($o['ReviewReports'])) $this->ReviewReports = JsonConverters::fromArray('DvirReportView', $o['ReviewReports']);
if (isset($o['History'])) $this->History = JsonConverters::fromArray('DvirReportView', $o['History']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->Plate)) $o['Plate'] = $this->Plate;
if (isset($this->VIN)) $o['VIN'] = $this->VIN;
if (isset($this->GvwrLbs)) $o['GvwrLbs'] = $this->GvwrLbs;
if (isset($this->BranchName)) $o['BranchName'] = $this->BranchName;
if (isset($this->InspectionDue)) $o['InspectionDue'] = JsonConverters::to('DateTime', $this->InspectionDue);
if (isset($this->InsuranceExpires)) $o['InsuranceExpires'] = JsonConverters::to('DateTime', $this->InsuranceExpires);
if (isset($this->RecentlyFixed)) $o['RecentlyFixed'] = JsonConverters::toArray('DvirDefectView', $this->RecentlyFixed);
if (isset($this->ReviewReports)) $o['ReviewReports'] = JsonConverters::toArray('DvirReportView', $this->ReviewReports);
if (isset($this->History)) $o['History'] = JsonConverters::toArray('DvirReportView', $this->History);
return empty($o) ? new class(){} : $o;
}
}
class EquipmentDvirSignOffResponse implements JsonSerializable
{
public function __construct(
/** @var DvirVehicleDetail|null */
public ?DvirVehicleDetail $Vehicle=null,
/** @var bool|null */
public ?bool $Returned=null,
/** @var ResponseStatus|null */
public ?ResponseStatus $ResponseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Vehicle'])) $this->Vehicle = JsonConverters::from('DvirVehicleDetail', $o['Vehicle']);
if (isset($o['Returned'])) $this->Returned = $o['Returned'];
if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Vehicle)) $o['Vehicle'] = JsonConverters::to('DvirVehicleDetail', $this->Vehicle);
if (isset($this->Returned)) $o['Returned'] = $this->Returned;
if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
return empty($o) ? new class(){} : $o;
}
}
class DvirSignOffItem implements JsonSerializable
{
public function __construct(
/** @var int */
public int $DvirDefectID=0,
/** @var string|null */
public ?string $Outcome=null,
/** @var string|null */
public ?string $Note=null,
/** @var string|null */
public ?string $ScheduledFor=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['DvirDefectID'])) $this->DvirDefectID = $o['DvirDefectID'];
if (isset($o['Outcome'])) $this->Outcome = $o['Outcome'];
if (isset($o['Note'])) $this->Note = $o['Note'];
if (isset($o['ScheduledFor'])) $this->ScheduledFor = $o['ScheduledFor'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->DvirDefectID)) $o['DvirDefectID'] = $this->DvirDefectID;
if (isset($this->Outcome)) $o['Outcome'] = $this->Outcome;
if (isset($this->Note)) $o['Note'] = $this->Note;
if (isset($this->ScheduledFor)) $o['ScheduledFor'] = $this->ScheduledFor;
return empty($o) ? new class(){} : $o;
}
}
class EquipmentDvirSignOffRequest implements JsonSerializable
{
public function __construct(
/** @var int */
public int $EquipmentID=0,
/** @var array<DvirSignOffItem>|null */
public ?array $Defects=null,
/** @var string|null */
public ?string $MechanicName=null,
/** @var string|null */
public ?string $SignaturePng=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['EquipmentID'])) $this->EquipmentID = $o['EquipmentID'];
if (isset($o['Defects'])) $this->Defects = JsonConverters::fromArray('DvirSignOffItem', $o['Defects']);
if (isset($o['MechanicName'])) $this->MechanicName = $o['MechanicName'];
if (isset($o['SignaturePng'])) $this->SignaturePng = $o['SignaturePng'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->EquipmentID)) $o['EquipmentID'] = $this->EquipmentID;
if (isset($this->Defects)) $o['Defects'] = JsonConverters::toArray('DvirSignOffItem', $this->Defects);
if (isset($this->MechanicName)) $o['MechanicName'] = $this->MechanicName;
if (isset($this->SignaturePng)) $o['SignaturePng'] = $this->SignaturePng;
return empty($o) ? new class(){} : $o;
}
}
PHP EquipmentDvirSignOffRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
Content-Type: application/json
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: application/json
Content-Length: length
{"Vehicle":{"Plate":"String","VIN":"String","GvwrLbs":0,"BranchName":"String","InspectionDue":"0001-01-01T00:00:00.0000000","InsuranceExpires":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","EquipmentMaintenanceID":0,"Outcome":"String","OutcomeText":"String","OutcomeNote":"String","ScheduledFor":"String","SignedOffByName":"String","SignedOffAtUtc":"0001-01-01T00:00:00.0000000","IsOpen":false,"Withdrawn":false,"PhotoCount":0,"Photos":[{"WorkPhotoID":0,"DefectKey":"String","Url":"String","MarkedUrl":"String","CapturedAtUtc":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","SavedAtUtc":"0001-01-01T00:00:00.0000000","IsLate":false,"IsAway":false,"IsSatisfactory":false,"Odometer":0,"LocationText":"String","Remarks":"String","ReviewedByName":"String","ReviewedAtUtc":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","EquipmentMaintenanceID":0,"Outcome":"String","OutcomeText":"String","OutcomeNote":"String","ScheduledFor":"String","SignedOffByName":"String","SignedOffAtUtc":"0001-01-01T00:00:00.0000000","IsOpen":false,"Withdrawn":false,"PhotoCount":0,"Photos":[{"WorkPhotoID":0,"DefectKey":"String","Url":"String","MarkedUrl":"String","CapturedAtUtc":"0001-01-01T00:00:00.0000000","Lat":0,"Lng":0}]}],"Signatures":[{"SignatureRecordID":0,"Role":"String","SignerName":"String","SignedAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","SavedAtUtc":"0001-01-01T00:00:00.0000000","IsLate":false,"IsAway":false,"IsSatisfactory":false,"Odometer":0,"LocationText":"String","Remarks":"String","ReviewedByName":"String","ReviewedAtUtc":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","EquipmentMaintenanceID":0,"Outcome":"String","OutcomeText":"String","OutcomeNote":"String","ScheduledFor":"String","SignedOffByName":"String","SignedOffAtUtc":"0001-01-01T00:00:00.0000000","IsOpen":false,"Withdrawn":false,"PhotoCount":0,"Photos":[{"WorkPhotoID":0,"DefectKey":"String","Url":"String","MarkedUrl":"String","CapturedAtUtc":"0001-01-01T00:00:00.0000000","Lat":0,"Lng":0}]}],"Signatures":[{"SignatureRecordID":0,"Role":"String","SignerName":"String","SignedAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","EquipmentMaintenanceID":0,"Outcome":"String","OutcomeText":"String","OutcomeNote":"String","ScheduledFor":"String","SignedOffByName":"String","SignedOffAtUtc":"0001-01-01T00:00:00.0000000","IsOpen":false,"Withdrawn":false,"PhotoCount":0,"Photos":[{"WorkPhotoID":0,"DefectKey":"String","Url":"String","MarkedUrl":"String","CapturedAtUtc":"0001-01-01T00:00:00.0000000","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"}}}