Trendsic Platform Service

<back to all web services

InspectionActionRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/inspections/{InspectionUID}/{Action}
import Foundation
import ServiceStack

public class InspectionActionRequest : Codable
{
    public var inspectionUID:String
    public var action:String
    public var outcomeNotes:String
    public var releaseHoldPoint:Bool
    public var scheduledFor:Date?

    required public init(){}
}

public class InspectionResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var inspection:Inspection

    required public init(){}
}

public class Inspection : Codable
{
    public var inspectionID:Int
    public var inspectionUID:String
    public var projectID:Int
    public var projectName:String
    public var jobID:Int?
    public var jobName:String
    public var inspectionNo:String
    public var type:String
    public var title:String
    public var status:String
    public var templateUID:String?
    public var templateVersionNo:Int?
    public var scheduledFor:Date?
    public var startedAt:Date?
    public var completedAt:Date?
    public var closedAt:Date?
    public var inspectorContactID:Int?
    public var inspectorName:String
    public var agencyName:String
    public var permitNo:String
    public var locationText:String
    public var notes:String
    public var weatherJson:String
    public var itemsTotal:Int
    public var itemsPassed:Int
    public var itemsFailed:Int
    public var outcome:String
    public var outcomeNotes:String
    public var reinspectionOfInspectionID:Int?
    public var qcHoldPointID:Int?
    public var reportAttachmentId:String?
    public var requestCount:Int
    public var signatureCount:Int
    public var createdBy:String
    public var createdAt:Date?
    public var updatedAt:Date?
    public var items:[InspectionItem] = []
    public var requests:[InspectionRequest] = []
    public var signatures:[SignatureRecord] = []
    public var actions:[String] = []

    required public init(){}
}

public class InspectionItem : Codable
{
    public var inspectionItemID:Int
    public var inspectionID:Int
    public var seq:Int
    public var section:String
    public var prompt:String
    public var responseType:String
    public var isRequired:Bool
    public var unit:String
    public var guidance:String
    public var result:String
    public var value:String
    public var notes:String
    public var photoCount:Int
    public var linkedPunchItemID:Int?
    public var linkedPunchNo:String
    public var linkedPunchStatus:String
    public var linkedNcrID:Int?
    public var linkedNcrNo:String
    public var linkedActionID:Int?
    public var answeredBy:String
    public var answeredAt:Date?
    public var photos:[InspectionPhoto] = []

    required public init(){}
}

public class InspectionPhoto : Codable
{
    public var attachmentId:String
    public var fileName:String
    public var url:String
    public var createdBy:String
    public var createdDate:Date?
    public var hasAnnotation:Bool
    public var annotatedAttachmentId:String?
    public var annotatedUrl:String

    required public init(){}
}

public class InspectionRequest : Codable
{
    public var inspectionRequestID:Int
    public var inspectionID:Int
    public var agency:String
    public var contactName:String
    public var contactPhone:String
    public var permitNo:String
    public var requestedDate:Date?
    public var requestedWindow:String
    public var status:String
    public var confirmationNo:String
    public var outcome:String
    public var createdBy:String
    public var createdAt:Date?
    public var updatedAt:Date?

    required public init(){}
}

public class SignatureRecord : Codable
{
    public var signatureRecordID:Int
    public var entityType:String
    public var entityID:Int
    public var role:String
    public var signerName:String
    public var signerContactID:Int?
    public var signerUserId:String
    public var method:String
    public var imageAttachmentId:String?
    public var imageUrl:String
    public var imageHash:String
    public var documentHash:String
    public var consentText:String
    public var ipAddress:String
    public var userAgent:String
    public var signedAt:Date?

    required public init(){}
}


Swift InspectionActionRequest 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

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/inspections/{InspectionUID}/{Action} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"InspectionUID":"00000000000000000000000000000000","Action":"String","OutcomeNotes":"String","ReleaseHoldPoint":false,"ScheduledFor":"0001-01-01T00:00:00.0000000"}
HTTP/1.1 200 OK
Content-Type: application/json
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-01T00:00:00.0000000","StartedAt":"0001-01-01T00:00:00.0000000","CompletedAt":"0001-01-01T00:00:00.0000000","ClosedAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","Photos":[{"AttachmentId":"00000000000000000000000000000000","FileName":"String","Url":"String","CreatedBy":"String","CreatedDate":"0001-01-01T00:00:00.0000000","HasAnnotation":false,"AnnotatedAttachmentId":"00000000000000000000000000000000","AnnotatedUrl":"String"}]}],"Requests":[{"InspectionRequestID":0,"InspectionID":0,"Agency":"String","ContactName":"String","ContactPhone":"String","PermitNo":"String","RequestedDate":"0001-01-01T00:00:00.0000000","RequestedWindow":"String","Status":"String","ConfirmationNo":"String","Outcome":"String","CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000"}],"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-01T00:00:00.0000000"}],"Actions":["String"]}}