| PUT,OPTIONS | /v1/inspections/{InspectionUID} |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InspectionPhoto:
attachment_id: Optional[str] = None
file_name: Optional[str] = None
url: Optional[str] = None
created_by: Optional[str] = None
created_date: Optional[datetime.datetime] = None
has_annotation: bool = False
annotated_attachment_id: Optional[str] = None
annotated_url: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InspectionItem:
inspection_item_i_d: int = 0
inspection_i_d: int = 0
seq: int = 0
section: Optional[str] = None
prompt: Optional[str] = None
response_type: Optional[str] = None
is_required: bool = False
unit: Optional[str] = None
guidance: Optional[str] = None
result: Optional[str] = None
value: Optional[str] = None
notes: Optional[str] = None
photo_count: int = 0
linked_punch_item_i_d: Optional[int] = None
linked_punch_no: Optional[str] = None
linked_punch_status: Optional[str] = None
linked_ncr_i_d: Optional[int] = None
linked_ncr_no: Optional[str] = None
linked_action_i_d: Optional[int] = None
answered_by: Optional[str] = None
answered_at: Optional[datetime.datetime] = None
photos: List[InspectionPhoto] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InspectionRequest:
inspection_request_i_d: int = 0
inspection_i_d: int = 0
agency: Optional[str] = None
contact_name: Optional[str] = None
contact_phone: Optional[str] = None
permit_no: Optional[str] = None
requested_date: Optional[datetime.datetime] = None
requested_window: Optional[str] = None
status: Optional[str] = None
confirmation_no: Optional[str] = None
outcome: Optional[str] = None
created_by: Optional[str] = None
created_at: Optional[datetime.datetime] = None
updated_at: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SignatureRecord:
signature_record_i_d: int = 0
entity_type: Optional[str] = None
entity_i_d: int = 0
role: Optional[str] = None
signer_name: Optional[str] = None
signer_contact_i_d: Optional[int] = None
signer_user_id: Optional[str] = None
method: Optional[str] = None
image_attachment_id: Optional[str] = None
image_url: Optional[str] = None
image_hash: Optional[str] = None
document_hash: Optional[str] = None
consent_text: Optional[str] = None
ip_address: Optional[str] = None
user_agent: Optional[str] = None
signed_at: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Inspection:
inspection_i_d: int = 0
inspection_u_i_d: Optional[str] = None
project_i_d: int = 0
project_name: Optional[str] = None
job_i_d: Optional[int] = None
job_name: Optional[str] = None
inspection_no: Optional[str] = None
type: Optional[str] = None
title: Optional[str] = None
status: Optional[str] = None
template_u_i_d: Optional[str] = None
template_version_no: Optional[int] = None
scheduled_for: Optional[datetime.datetime] = None
started_at: Optional[datetime.datetime] = None
completed_at: Optional[datetime.datetime] = None
closed_at: Optional[datetime.datetime] = None
inspector_contact_i_d: Optional[int] = None
inspector_name: Optional[str] = None
agency_name: Optional[str] = None
permit_no: Optional[str] = None
location_text: Optional[str] = None
notes: Optional[str] = None
weather_json: Optional[str] = None
items_total: int = 0
items_passed: int = 0
items_failed: int = 0
outcome: Optional[str] = None
outcome_notes: Optional[str] = None
reinspection_of_inspection_i_d: Optional[int] = None
qc_hold_point_i_d: Optional[int] = None
report_attachment_id: Optional[str] = None
request_count: int = 0
signature_count: int = 0
created_by: Optional[str] = None
created_at: Optional[datetime.datetime] = None
updated_at: Optional[datetime.datetime] = None
items: List[InspectionItem] = field(default_factory=list)
requests: List[InspectionRequest] = field(default_factory=list)
signatures: List[SignatureRecord] = field(default_factory=list)
actions: List[str] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InspectionResponse:
response_status: Optional[ResponseStatus] = None
inspection: Optional[Inspection] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InspectionUpdateRequest:
inspection_u_i_d: Optional[str] = None
job_i_d: Optional[int] = None
type: Optional[str] = None
title: Optional[str] = None
scheduled_for: Optional[datetime.datetime] = None
inspector_contact_i_d: Optional[int] = None
inspector_name: Optional[str] = None
agency_name: Optional[str] = None
permit_no: Optional[str] = None
location_text: Optional[str] = None
notes: Optional[str] = None
weather_json: Optional[str] = None
qc_hold_point_i_d: Optional[int] = None
Python InspectionUpdateRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /v1/inspections/{InspectionUID} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<InspectionUpdateRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<AgencyName>String</AgencyName>
<InspectionUID>00000000-0000-0000-0000-000000000000</InspectionUID>
<InspectorContactID>0</InspectorContactID>
<InspectorName>String</InspectorName>
<JobID>0</JobID>
<LocationText>String</LocationText>
<Notes>String</Notes>
<PermitNo>String</PermitNo>
<QcHoldPointID>0</QcHoldPointID>
<ScheduledFor>0001-01-01T00:00:00</ScheduledFor>
<Title>String</Title>
<Type>String</Type>
<WeatherJson>String</WeatherJson>
</InspectionUpdateRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<InspectionResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Inspection>
<Actions xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</Actions>
<AgencyName>String</AgencyName>
<ClosedAt>0001-01-01T00:00:00</ClosedAt>
<CompletedAt>0001-01-01T00:00:00</CompletedAt>
<CreatedAt>0001-01-01T00:00:00</CreatedAt>
<CreatedBy>String</CreatedBy>
<InspectionID>0</InspectionID>
<InspectionNo>String</InspectionNo>
<InspectionUID>00000000-0000-0000-0000-000000000000</InspectionUID>
<InspectorContactID>0</InspectorContactID>
<InspectorName>String</InspectorName>
<Items>
<InspectionItem>
<AnsweredAt>0001-01-01T00:00:00</AnsweredAt>
<AnsweredBy>String</AnsweredBy>
<Guidance>String</Guidance>
<InspectionID>0</InspectionID>
<InspectionItemID>0</InspectionItemID>
<IsRequired>false</IsRequired>
<LinkedActionID>0</LinkedActionID>
<LinkedNcrID>0</LinkedNcrID>
<LinkedNcrNo>String</LinkedNcrNo>
<LinkedPunchItemID>0</LinkedPunchItemID>
<LinkedPunchNo>String</LinkedPunchNo>
<LinkedPunchStatus>String</LinkedPunchStatus>
<Notes>String</Notes>
<PhotoCount>0</PhotoCount>
<Photos>
<InspectionPhoto>
<AnnotatedAttachmentId>00000000-0000-0000-0000-000000000000</AnnotatedAttachmentId>
<AnnotatedUrl>String</AnnotatedUrl>
<AttachmentId>00000000-0000-0000-0000-000000000000</AttachmentId>
<CreatedBy>String</CreatedBy>
<CreatedDate>0001-01-01T00:00:00</CreatedDate>
<FileName>String</FileName>
<HasAnnotation>false</HasAnnotation>
<Url>String</Url>
</InspectionPhoto>
</Photos>
<Prompt>String</Prompt>
<ResponseType>String</ResponseType>
<Result>String</Result>
<Section>String</Section>
<Seq>0</Seq>
<Unit>String</Unit>
<Value>String</Value>
</InspectionItem>
</Items>
<ItemsFailed>0</ItemsFailed>
<ItemsPassed>0</ItemsPassed>
<ItemsTotal>0</ItemsTotal>
<JobID>0</JobID>
<JobName>String</JobName>
<LocationText>String</LocationText>
<Notes>String</Notes>
<Outcome>String</Outcome>
<OutcomeNotes>String</OutcomeNotes>
<PermitNo>String</PermitNo>
<ProjectID>0</ProjectID>
<ProjectName>String</ProjectName>
<QcHoldPointID>0</QcHoldPointID>
<ReinspectionOfInspectionID>0</ReinspectionOfInspectionID>
<ReportAttachmentId>00000000-0000-0000-0000-000000000000</ReportAttachmentId>
<RequestCount>0</RequestCount>
<Requests>
<InspectionRequest>
<Agency>String</Agency>
<ConfirmationNo>String</ConfirmationNo>
<ContactName>String</ContactName>
<ContactPhone>String</ContactPhone>
<CreatedAt>0001-01-01T00:00:00</CreatedAt>
<CreatedBy>String</CreatedBy>
<InspectionID>0</InspectionID>
<InspectionRequestID>0</InspectionRequestID>
<Outcome>String</Outcome>
<PermitNo>String</PermitNo>
<RequestedDate>0001-01-01T00:00:00</RequestedDate>
<RequestedWindow>String</RequestedWindow>
<Status>String</Status>
<UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
</InspectionRequest>
</Requests>
<ScheduledFor>0001-01-01T00:00:00</ScheduledFor>
<SignatureCount>0</SignatureCount>
<Signatures>
<SignatureRecord>
<ConsentText>String</ConsentText>
<DocumentHash>String</DocumentHash>
<EntityID>0</EntityID>
<EntityType>String</EntityType>
<ImageAttachmentId>00000000-0000-0000-0000-000000000000</ImageAttachmentId>
<ImageHash>String</ImageHash>
<ImageUrl>String</ImageUrl>
<IpAddress>String</IpAddress>
<Method>String</Method>
<Role>String</Role>
<SignatureRecordID>0</SignatureRecordID>
<SignedAt>0001-01-01T00:00:00</SignedAt>
<SignerContactID>0</SignerContactID>
<SignerName>String</SignerName>
<SignerUserId>String</SignerUserId>
<UserAgent>String</UserAgent>
</SignatureRecord>
</Signatures>
<StartedAt>0001-01-01T00:00:00</StartedAt>
<Status>String</Status>
<TemplateUID>00000000-0000-0000-0000-000000000000</TemplateUID>
<TemplateVersionNo>0</TemplateVersionNo>
<Title>String</Title>
<Type>String</Type>
<UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
<WeatherJson>String</WeatherJson>
</Inspection>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
</InspectionResponse>