| GET,OPTIONS | /v1/inspections/{InspectionUID} |
|---|
<?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 InspectionPhoto implements JsonSerializable
{
public function __construct(
/** @var string */
public string $AttachmentId='',
/** @var string|null */
public ?string $FileName=null,
/** @var string|null */
public ?string $Url=null,
/** @var string|null */
public ?string $CreatedBy=null,
/** @var DateTime|null */
public ?DateTime $CreatedDate=null,
/** @var bool|null */
public ?bool $HasAnnotation=null,
/** @var string|null */
public ?string $AnnotatedAttachmentId=null,
/** @var string|null */
public ?string $AnnotatedUrl=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['AttachmentId'])) $this->AttachmentId = $o['AttachmentId'];
if (isset($o['FileName'])) $this->FileName = $o['FileName'];
if (isset($o['Url'])) $this->Url = $o['Url'];
if (isset($o['CreatedBy'])) $this->CreatedBy = $o['CreatedBy'];
if (isset($o['CreatedDate'])) $this->CreatedDate = JsonConverters::from('DateTime', $o['CreatedDate']);
if (isset($o['HasAnnotation'])) $this->HasAnnotation = $o['HasAnnotation'];
if (isset($o['AnnotatedAttachmentId'])) $this->AnnotatedAttachmentId = $o['AnnotatedAttachmentId'];
if (isset($o['AnnotatedUrl'])) $this->AnnotatedUrl = $o['AnnotatedUrl'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->AttachmentId)) $o['AttachmentId'] = $this->AttachmentId;
if (isset($this->FileName)) $o['FileName'] = $this->FileName;
if (isset($this->Url)) $o['Url'] = $this->Url;
if (isset($this->CreatedBy)) $o['CreatedBy'] = $this->CreatedBy;
if (isset($this->CreatedDate)) $o['CreatedDate'] = JsonConverters::to('DateTime', $this->CreatedDate);
if (isset($this->HasAnnotation)) $o['HasAnnotation'] = $this->HasAnnotation;
if (isset($this->AnnotatedAttachmentId)) $o['AnnotatedAttachmentId'] = $this->AnnotatedAttachmentId;
if (isset($this->AnnotatedUrl)) $o['AnnotatedUrl'] = $this->AnnotatedUrl;
return empty($o) ? new class(){} : $o;
}
}
class InspectionItem implements JsonSerializable
{
public function __construct(
/** @var int */
public int $InspectionItemID=0,
/** @var int */
public int $InspectionID=0,
/** @var int */
public int $Seq=0,
/** @var string|null */
public ?string $Section=null,
/** @var string|null */
public ?string $Prompt=null,
/** @var string|null */
public ?string $ResponseType=null,
/** @var bool|null */
public ?bool $IsRequired=null,
/** @var string|null */
public ?string $Unit=null,
/** @var string|null */
public ?string $Guidance=null,
/** @var string|null */
public ?string $Result=null,
/** @var string|null */
public ?string $Value=null,
/** @var string|null */
public ?string $Notes=null,
/** @var int */
public int $PhotoCount=0,
/** @var int|null */
public ?int $LinkedPunchItemID=null,
/** @var string|null */
public ?string $LinkedPunchNo=null,
/** @var string|null */
public ?string $LinkedPunchStatus=null,
/** @var int|null */
public ?int $LinkedNcrID=null,
/** @var string|null */
public ?string $LinkedNcrNo=null,
/** @var int|null */
public ?int $LinkedActionID=null,
/** @var string|null */
public ?string $AnsweredBy=null,
/** @var DateTime|null */
public ?DateTime $AnsweredAt=null,
/** @var array<InspectionPhoto>|null */
public ?array $Photos=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['InspectionItemID'])) $this->InspectionItemID = $o['InspectionItemID'];
if (isset($o['InspectionID'])) $this->InspectionID = $o['InspectionID'];
if (isset($o['Seq'])) $this->Seq = $o['Seq'];
if (isset($o['Section'])) $this->Section = $o['Section'];
if (isset($o['Prompt'])) $this->Prompt = $o['Prompt'];
if (isset($o['ResponseType'])) $this->ResponseType = $o['ResponseType'];
if (isset($o['IsRequired'])) $this->IsRequired = $o['IsRequired'];
if (isset($o['Unit'])) $this->Unit = $o['Unit'];
if (isset($o['Guidance'])) $this->Guidance = $o['Guidance'];
if (isset($o['Result'])) $this->Result = $o['Result'];
if (isset($o['Value'])) $this->Value = $o['Value'];
if (isset($o['Notes'])) $this->Notes = $o['Notes'];
if (isset($o['PhotoCount'])) $this->PhotoCount = $o['PhotoCount'];
if (isset($o['LinkedPunchItemID'])) $this->LinkedPunchItemID = $o['LinkedPunchItemID'];
if (isset($o['LinkedPunchNo'])) $this->LinkedPunchNo = $o['LinkedPunchNo'];
if (isset($o['LinkedPunchStatus'])) $this->LinkedPunchStatus = $o['LinkedPunchStatus'];
if (isset($o['LinkedNcrID'])) $this->LinkedNcrID = $o['LinkedNcrID'];
if (isset($o['LinkedNcrNo'])) $this->LinkedNcrNo = $o['LinkedNcrNo'];
if (isset($o['LinkedActionID'])) $this->LinkedActionID = $o['LinkedActionID'];
if (isset($o['AnsweredBy'])) $this->AnsweredBy = $o['AnsweredBy'];
if (isset($o['AnsweredAt'])) $this->AnsweredAt = JsonConverters::from('DateTime', $o['AnsweredAt']);
if (isset($o['Photos'])) $this->Photos = JsonConverters::fromArray('InspectionPhoto', $o['Photos']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->InspectionItemID)) $o['InspectionItemID'] = $this->InspectionItemID;
if (isset($this->InspectionID)) $o['InspectionID'] = $this->InspectionID;
if (isset($this->Seq)) $o['Seq'] = $this->Seq;
if (isset($this->Section)) $o['Section'] = $this->Section;
if (isset($this->Prompt)) $o['Prompt'] = $this->Prompt;
if (isset($this->ResponseType)) $o['ResponseType'] = $this->ResponseType;
if (isset($this->IsRequired)) $o['IsRequired'] = $this->IsRequired;
if (isset($this->Unit)) $o['Unit'] = $this->Unit;
if (isset($this->Guidance)) $o['Guidance'] = $this->Guidance;
if (isset($this->Result)) $o['Result'] = $this->Result;
if (isset($this->Value)) $o['Value'] = $this->Value;
if (isset($this->Notes)) $o['Notes'] = $this->Notes;
if (isset($this->PhotoCount)) $o['PhotoCount'] = $this->PhotoCount;
if (isset($this->LinkedPunchItemID)) $o['LinkedPunchItemID'] = $this->LinkedPunchItemID;
if (isset($this->LinkedPunchNo)) $o['LinkedPunchNo'] = $this->LinkedPunchNo;
if (isset($this->LinkedPunchStatus)) $o['LinkedPunchStatus'] = $this->LinkedPunchStatus;
if (isset($this->LinkedNcrID)) $o['LinkedNcrID'] = $this->LinkedNcrID;
if (isset($this->LinkedNcrNo)) $o['LinkedNcrNo'] = $this->LinkedNcrNo;
if (isset($this->LinkedActionID)) $o['LinkedActionID'] = $this->LinkedActionID;
if (isset($this->AnsweredBy)) $o['AnsweredBy'] = $this->AnsweredBy;
if (isset($this->AnsweredAt)) $o['AnsweredAt'] = JsonConverters::to('DateTime', $this->AnsweredAt);
if (isset($this->Photos)) $o['Photos'] = JsonConverters::toArray('InspectionPhoto', $this->Photos);
return empty($o) ? new class(){} : $o;
}
}
class InspectionRequest implements JsonSerializable
{
public function __construct(
/** @var int */
public int $InspectionRequestID=0,
/** @var int */
public int $InspectionID=0,
/** @var string|null */
public ?string $Agency=null,
/** @var string|null */
public ?string $ContactName=null,
/** @var string|null */
public ?string $ContactPhone=null,
/** @var string|null */
public ?string $PermitNo=null,
/** @var DateTime|null */
public ?DateTime $RequestedDate=null,
/** @var string|null */
public ?string $RequestedWindow=null,
/** @var string|null */
public ?string $Status=null,
/** @var string|null */
public ?string $ConfirmationNo=null,
/** @var string|null */
public ?string $Outcome=null,
/** @var string|null */
public ?string $CreatedBy=null,
/** @var DateTime|null */
public ?DateTime $CreatedAt=null,
/** @var DateTime|null */
public ?DateTime $UpdatedAt=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['InspectionRequestID'])) $this->InspectionRequestID = $o['InspectionRequestID'];
if (isset($o['InspectionID'])) $this->InspectionID = $o['InspectionID'];
if (isset($o['Agency'])) $this->Agency = $o['Agency'];
if (isset($o['ContactName'])) $this->ContactName = $o['ContactName'];
if (isset($o['ContactPhone'])) $this->ContactPhone = $o['ContactPhone'];
if (isset($o['PermitNo'])) $this->PermitNo = $o['PermitNo'];
if (isset($o['RequestedDate'])) $this->RequestedDate = JsonConverters::from('DateTime', $o['RequestedDate']);
if (isset($o['RequestedWindow'])) $this->RequestedWindow = $o['RequestedWindow'];
if (isset($o['Status'])) $this->Status = $o['Status'];
if (isset($o['ConfirmationNo'])) $this->ConfirmationNo = $o['ConfirmationNo'];
if (isset($o['Outcome'])) $this->Outcome = $o['Outcome'];
if (isset($o['CreatedBy'])) $this->CreatedBy = $o['CreatedBy'];
if (isset($o['CreatedAt'])) $this->CreatedAt = JsonConverters::from('DateTime', $o['CreatedAt']);
if (isset($o['UpdatedAt'])) $this->UpdatedAt = JsonConverters::from('DateTime', $o['UpdatedAt']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->InspectionRequestID)) $o['InspectionRequestID'] = $this->InspectionRequestID;
if (isset($this->InspectionID)) $o['InspectionID'] = $this->InspectionID;
if (isset($this->Agency)) $o['Agency'] = $this->Agency;
if (isset($this->ContactName)) $o['ContactName'] = $this->ContactName;
if (isset($this->ContactPhone)) $o['ContactPhone'] = $this->ContactPhone;
if (isset($this->PermitNo)) $o['PermitNo'] = $this->PermitNo;
if (isset($this->RequestedDate)) $o['RequestedDate'] = JsonConverters::to('DateTime', $this->RequestedDate);
if (isset($this->RequestedWindow)) $o['RequestedWindow'] = $this->RequestedWindow;
if (isset($this->Status)) $o['Status'] = $this->Status;
if (isset($this->ConfirmationNo)) $o['ConfirmationNo'] = $this->ConfirmationNo;
if (isset($this->Outcome)) $o['Outcome'] = $this->Outcome;
if (isset($this->CreatedBy)) $o['CreatedBy'] = $this->CreatedBy;
if (isset($this->CreatedAt)) $o['CreatedAt'] = JsonConverters::to('DateTime', $this->CreatedAt);
if (isset($this->UpdatedAt)) $o['UpdatedAt'] = JsonConverters::to('DateTime', $this->UpdatedAt);
return empty($o) ? new class(){} : $o;
}
}
class SignatureRecord implements JsonSerializable
{
public function __construct(
/** @var int */
public int $SignatureRecordID=0,
/** @var string|null */
public ?string $EntityType=null,
/** @var int */
public int $EntityID=0,
/** @var string|null */
public ?string $Role=null,
/** @var string|null */
public ?string $SignerName=null,
/** @var int|null */
public ?int $SignerContactID=null,
/** @var string|null */
public ?string $SignerUserId=null,
/** @var string|null */
public ?string $Method=null,
/** @var string|null */
public ?string $ImageAttachmentId=null,
/** @var string|null */
public ?string $ImageUrl=null,
/** @var string|null */
public ?string $ImageHash=null,
/** @var string|null */
public ?string $DocumentHash=null,
/** @var string|null */
public ?string $ConsentText=null,
/** @var string|null */
public ?string $IpAddress=null,
/** @var string|null */
public ?string $UserAgent=null,
/** @var DateTime|null */
public ?DateTime $SignedAt=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['SignatureRecordID'])) $this->SignatureRecordID = $o['SignatureRecordID'];
if (isset($o['EntityType'])) $this->EntityType = $o['EntityType'];
if (isset($o['EntityID'])) $this->EntityID = $o['EntityID'];
if (isset($o['Role'])) $this->Role = $o['Role'];
if (isset($o['SignerName'])) $this->SignerName = $o['SignerName'];
if (isset($o['SignerContactID'])) $this->SignerContactID = $o['SignerContactID'];
if (isset($o['SignerUserId'])) $this->SignerUserId = $o['SignerUserId'];
if (isset($o['Method'])) $this->Method = $o['Method'];
if (isset($o['ImageAttachmentId'])) $this->ImageAttachmentId = $o['ImageAttachmentId'];
if (isset($o['ImageUrl'])) $this->ImageUrl = $o['ImageUrl'];
if (isset($o['ImageHash'])) $this->ImageHash = $o['ImageHash'];
if (isset($o['DocumentHash'])) $this->DocumentHash = $o['DocumentHash'];
if (isset($o['ConsentText'])) $this->ConsentText = $o['ConsentText'];
if (isset($o['IpAddress'])) $this->IpAddress = $o['IpAddress'];
if (isset($o['UserAgent'])) $this->UserAgent = $o['UserAgent'];
if (isset($o['SignedAt'])) $this->SignedAt = JsonConverters::from('DateTime', $o['SignedAt']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->SignatureRecordID)) $o['SignatureRecordID'] = $this->SignatureRecordID;
if (isset($this->EntityType)) $o['EntityType'] = $this->EntityType;
if (isset($this->EntityID)) $o['EntityID'] = $this->EntityID;
if (isset($this->Role)) $o['Role'] = $this->Role;
if (isset($this->SignerName)) $o['SignerName'] = $this->SignerName;
if (isset($this->SignerContactID)) $o['SignerContactID'] = $this->SignerContactID;
if (isset($this->SignerUserId)) $o['SignerUserId'] = $this->SignerUserId;
if (isset($this->Method)) $o['Method'] = $this->Method;
if (isset($this->ImageAttachmentId)) $o['ImageAttachmentId'] = $this->ImageAttachmentId;
if (isset($this->ImageUrl)) $o['ImageUrl'] = $this->ImageUrl;
if (isset($this->ImageHash)) $o['ImageHash'] = $this->ImageHash;
if (isset($this->DocumentHash)) $o['DocumentHash'] = $this->DocumentHash;
if (isset($this->ConsentText)) $o['ConsentText'] = $this->ConsentText;
if (isset($this->IpAddress)) $o['IpAddress'] = $this->IpAddress;
if (isset($this->UserAgent)) $o['UserAgent'] = $this->UserAgent;
if (isset($this->SignedAt)) $o['SignedAt'] = JsonConverters::to('DateTime', $this->SignedAt);
return empty($o) ? new class(){} : $o;
}
}
class Inspection implements JsonSerializable
{
public function __construct(
/** @var int */
public int $InspectionID=0,
/** @var string */
public string $InspectionUID='',
/** @var int */
public int $ProjectID=0,
/** @var string|null */
public ?string $ProjectName=null,
/** @var int|null */
public ?int $JobID=null,
/** @var string|null */
public ?string $JobName=null,
/** @var string|null */
public ?string $InspectionNo=null,
/** @var string|null */
public ?string $Type=null,
/** @var string|null */
public ?string $Title=null,
/** @var string|null */
public ?string $Status=null,
/** @var string|null */
public ?string $TemplateUID=null,
/** @var int|null */
public ?int $TemplateVersionNo=null,
/** @var DateTime|null */
public ?DateTime $ScheduledFor=null,
/** @var DateTime|null */
public ?DateTime $StartedAt=null,
/** @var DateTime|null */
public ?DateTime $CompletedAt=null,
/** @var DateTime|null */
public ?DateTime $ClosedAt=null,
/** @var int|null */
public ?int $InspectorContactID=null,
/** @var string|null */
public ?string $InspectorName=null,
/** @var string|null */
public ?string $AgencyName=null,
/** @var string|null */
public ?string $PermitNo=null,
/** @var string|null */
public ?string $LocationText=null,
/** @var string|null */
public ?string $Notes=null,
/** @var string|null */
public ?string $WeatherJson=null,
/** @var int */
public int $ItemsTotal=0,
/** @var int */
public int $ItemsPassed=0,
/** @var int */
public int $ItemsFailed=0,
/** @var string|null */
public ?string $Outcome=null,
/** @var string|null */
public ?string $OutcomeNotes=null,
/** @var int|null */
public ?int $ReinspectionOfInspectionID=null,
/** @var int|null */
public ?int $QcHoldPointID=null,
/** @var string|null */
public ?string $ReportAttachmentId=null,
/** @var int */
public int $RequestCount=0,
/** @var int */
public int $SignatureCount=0,
/** @var string|null */
public ?string $CreatedBy=null,
/** @var DateTime|null */
public ?DateTime $CreatedAt=null,
/** @var DateTime|null */
public ?DateTime $UpdatedAt=null,
/** @var array<InspectionItem>|null */
public ?array $Items=null,
/** @var array<InspectionRequest>|null */
public ?array $Requests=null,
/** @var array<SignatureRecord>|null */
public ?array $Signatures=null,
/** @var array<string>|null */
public ?array $Actions=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['InspectionID'])) $this->InspectionID = $o['InspectionID'];
if (isset($o['InspectionUID'])) $this->InspectionUID = $o['InspectionUID'];
if (isset($o['ProjectID'])) $this->ProjectID = $o['ProjectID'];
if (isset($o['ProjectName'])) $this->ProjectName = $o['ProjectName'];
if (isset($o['JobID'])) $this->JobID = $o['JobID'];
if (isset($o['JobName'])) $this->JobName = $o['JobName'];
if (isset($o['InspectionNo'])) $this->InspectionNo = $o['InspectionNo'];
if (isset($o['Type'])) $this->Type = $o['Type'];
if (isset($o['Title'])) $this->Title = $o['Title'];
if (isset($o['Status'])) $this->Status = $o['Status'];
if (isset($o['TemplateUID'])) $this->TemplateUID = $o['TemplateUID'];
if (isset($o['TemplateVersionNo'])) $this->TemplateVersionNo = $o['TemplateVersionNo'];
if (isset($o['ScheduledFor'])) $this->ScheduledFor = JsonConverters::from('DateTime', $o['ScheduledFor']);
if (isset($o['StartedAt'])) $this->StartedAt = JsonConverters::from('DateTime', $o['StartedAt']);
if (isset($o['CompletedAt'])) $this->CompletedAt = JsonConverters::from('DateTime', $o['CompletedAt']);
if (isset($o['ClosedAt'])) $this->ClosedAt = JsonConverters::from('DateTime', $o['ClosedAt']);
if (isset($o['InspectorContactID'])) $this->InspectorContactID = $o['InspectorContactID'];
if (isset($o['InspectorName'])) $this->InspectorName = $o['InspectorName'];
if (isset($o['AgencyName'])) $this->AgencyName = $o['AgencyName'];
if (isset($o['PermitNo'])) $this->PermitNo = $o['PermitNo'];
if (isset($o['LocationText'])) $this->LocationText = $o['LocationText'];
if (isset($o['Notes'])) $this->Notes = $o['Notes'];
if (isset($o['WeatherJson'])) $this->WeatherJson = $o['WeatherJson'];
if (isset($o['ItemsTotal'])) $this->ItemsTotal = $o['ItemsTotal'];
if (isset($o['ItemsPassed'])) $this->ItemsPassed = $o['ItemsPassed'];
if (isset($o['ItemsFailed'])) $this->ItemsFailed = $o['ItemsFailed'];
if (isset($o['Outcome'])) $this->Outcome = $o['Outcome'];
if (isset($o['OutcomeNotes'])) $this->OutcomeNotes = $o['OutcomeNotes'];
if (isset($o['ReinspectionOfInspectionID'])) $this->ReinspectionOfInspectionID = $o['ReinspectionOfInspectionID'];
if (isset($o['QcHoldPointID'])) $this->QcHoldPointID = $o['QcHoldPointID'];
if (isset($o['ReportAttachmentId'])) $this->ReportAttachmentId = $o['ReportAttachmentId'];
if (isset($o['RequestCount'])) $this->RequestCount = $o['RequestCount'];
if (isset($o['SignatureCount'])) $this->SignatureCount = $o['SignatureCount'];
if (isset($o['CreatedBy'])) $this->CreatedBy = $o['CreatedBy'];
if (isset($o['CreatedAt'])) $this->CreatedAt = JsonConverters::from('DateTime', $o['CreatedAt']);
if (isset($o['UpdatedAt'])) $this->UpdatedAt = JsonConverters::from('DateTime', $o['UpdatedAt']);
if (isset($o['Items'])) $this->Items = JsonConverters::fromArray('InspectionItem', $o['Items']);
if (isset($o['Requests'])) $this->Requests = JsonConverters::fromArray('InspectionRequest', $o['Requests']);
if (isset($o['Signatures'])) $this->Signatures = JsonConverters::fromArray('SignatureRecord', $o['Signatures']);
if (isset($o['Actions'])) $this->Actions = JsonConverters::fromArray('string', $o['Actions']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->InspectionID)) $o['InspectionID'] = $this->InspectionID;
if (isset($this->InspectionUID)) $o['InspectionUID'] = $this->InspectionUID;
if (isset($this->ProjectID)) $o['ProjectID'] = $this->ProjectID;
if (isset($this->ProjectName)) $o['ProjectName'] = $this->ProjectName;
if (isset($this->JobID)) $o['JobID'] = $this->JobID;
if (isset($this->JobName)) $o['JobName'] = $this->JobName;
if (isset($this->InspectionNo)) $o['InspectionNo'] = $this->InspectionNo;
if (isset($this->Type)) $o['Type'] = $this->Type;
if (isset($this->Title)) $o['Title'] = $this->Title;
if (isset($this->Status)) $o['Status'] = $this->Status;
if (isset($this->TemplateUID)) $o['TemplateUID'] = $this->TemplateUID;
if (isset($this->TemplateVersionNo)) $o['TemplateVersionNo'] = $this->TemplateVersionNo;
if (isset($this->ScheduledFor)) $o['ScheduledFor'] = JsonConverters::to('DateTime', $this->ScheduledFor);
if (isset($this->StartedAt)) $o['StartedAt'] = JsonConverters::to('DateTime', $this->StartedAt);
if (isset($this->CompletedAt)) $o['CompletedAt'] = JsonConverters::to('DateTime', $this->CompletedAt);
if (isset($this->ClosedAt)) $o['ClosedAt'] = JsonConverters::to('DateTime', $this->ClosedAt);
if (isset($this->InspectorContactID)) $o['InspectorContactID'] = $this->InspectorContactID;
if (isset($this->InspectorName)) $o['InspectorName'] = $this->InspectorName;
if (isset($this->AgencyName)) $o['AgencyName'] = $this->AgencyName;
if (isset($this->PermitNo)) $o['PermitNo'] = $this->PermitNo;
if (isset($this->LocationText)) $o['LocationText'] = $this->LocationText;
if (isset($this->Notes)) $o['Notes'] = $this->Notes;
if (isset($this->WeatherJson)) $o['WeatherJson'] = $this->WeatherJson;
if (isset($this->ItemsTotal)) $o['ItemsTotal'] = $this->ItemsTotal;
if (isset($this->ItemsPassed)) $o['ItemsPassed'] = $this->ItemsPassed;
if (isset($this->ItemsFailed)) $o['ItemsFailed'] = $this->ItemsFailed;
if (isset($this->Outcome)) $o['Outcome'] = $this->Outcome;
if (isset($this->OutcomeNotes)) $o['OutcomeNotes'] = $this->OutcomeNotes;
if (isset($this->ReinspectionOfInspectionID)) $o['ReinspectionOfInspectionID'] = $this->ReinspectionOfInspectionID;
if (isset($this->QcHoldPointID)) $o['QcHoldPointID'] = $this->QcHoldPointID;
if (isset($this->ReportAttachmentId)) $o['ReportAttachmentId'] = $this->ReportAttachmentId;
if (isset($this->RequestCount)) $o['RequestCount'] = $this->RequestCount;
if (isset($this->SignatureCount)) $o['SignatureCount'] = $this->SignatureCount;
if (isset($this->CreatedBy)) $o['CreatedBy'] = $this->CreatedBy;
if (isset($this->CreatedAt)) $o['CreatedAt'] = JsonConverters::to('DateTime', $this->CreatedAt);
if (isset($this->UpdatedAt)) $o['UpdatedAt'] = JsonConverters::to('DateTime', $this->UpdatedAt);
if (isset($this->Items)) $o['Items'] = JsonConverters::toArray('InspectionItem', $this->Items);
if (isset($this->Requests)) $o['Requests'] = JsonConverters::toArray('InspectionRequest', $this->Requests);
if (isset($this->Signatures)) $o['Signatures'] = JsonConverters::toArray('SignatureRecord', $this->Signatures);
if (isset($this->Actions)) $o['Actions'] = JsonConverters::toArray('string', $this->Actions);
return empty($o) ? new class(){} : $o;
}
}
class InspectionResponse implements JsonSerializable
{
public function __construct(
/** @var ResponseStatus|null */
public ?ResponseStatus $ResponseStatus=null,
/** @var Inspection|null */
public ?Inspection $Inspection=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
if (isset($o['Inspection'])) $this->Inspection = JsonConverters::from('Inspection', $o['Inspection']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
if (isset($this->Inspection)) $o['Inspection'] = JsonConverters::to('Inspection', $this->Inspection);
return empty($o) ? new class(){} : $o;
}
}
class InspectionDetailRequest implements JsonSerializable
{
public function __construct(
/** @var string */
public string $InspectionUID=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['InspectionUID'])) $this->InspectionUID = $o['InspectionUID'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->InspectionUID)) $o['InspectionUID'] = $this->InspectionUID;
return empty($o) ? new class(){} : $o;
}
}
PHP InspectionDetailRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/inspections/{InspectionUID} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
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
}
},
Inspection:
{
InspectionID: 0,
InspectionUID: 00000000000000000000000000000000,
ProjectID: 0,
ProjectName: String,
JobID: 0,
JobName: String,
InspectionNo: String,
Type: String,
Title: String,
Status: String,
TemplateUID: 00000000000000000000000000000000,
TemplateVersionNo: 0,
ScheduledFor: 0001-01-01,
StartedAt: 0001-01-01,
CompletedAt: 0001-01-01,
ClosedAt: 0001-01-01,
InspectorContactID: 0,
InspectorName: String,
AgencyName: String,
PermitNo: String,
LocationText: String,
Notes: String,
WeatherJson: String,
ItemsTotal: 0,
ItemsPassed: 0,
ItemsFailed: 0,
Outcome: String,
OutcomeNotes: String,
ReinspectionOfInspectionID: 0,
QcHoldPointID: 0,
ReportAttachmentId: 00000000000000000000000000000000,
RequestCount: 0,
SignatureCount: 0,
CreatedBy: String,
CreatedAt: 0001-01-01,
UpdatedAt: 0001-01-01,
Items:
[
{
InspectionItemID: 0,
InspectionID: 0,
Seq: 0,
Section: String,
Prompt: String,
ResponseType: String,
IsRequired: False,
Unit: String,
Guidance: String,
Result: String,
Value: String,
Notes: String,
PhotoCount: 0,
LinkedPunchItemID: 0,
LinkedPunchNo: String,
LinkedPunchStatus: String,
LinkedNcrID: 0,
LinkedNcrNo: String,
LinkedActionID: 0,
AnsweredBy: String,
AnsweredAt: 0001-01-01,
Photos:
[
{
AttachmentId: 00000000000000000000000000000000,
FileName: String,
Url: String,
CreatedBy: String,
CreatedDate: 0001-01-01,
HasAnnotation: False,
AnnotatedAttachmentId: 00000000000000000000000000000000,
AnnotatedUrl: String
}
]
}
],
Requests:
[
{
InspectionRequestID: 0,
InspectionID: 0,
Agency: String,
ContactName: String,
ContactPhone: String,
PermitNo: String,
RequestedDate: 0001-01-01,
RequestedWindow: String,
Status: String,
ConfirmationNo: String,
Outcome: String,
CreatedBy: String,
CreatedAt: 0001-01-01,
UpdatedAt: 0001-01-01
}
],
Signatures:
[
{
SignatureRecordID: 0,
EntityType: String,
EntityID: 0,
Role: String,
SignerName: String,
SignerContactID: 0,
SignerUserId: String,
Method: String,
ImageAttachmentId: 00000000000000000000000000000000,
ImageUrl: String,
ImageHash: String,
DocumentHash: String,
ConsentText: String,
IpAddress: String,
UserAgent: String,
SignedAt: 0001-01-01
}
],
Actions:
[
String
]
}
}