Trendsic Platform Service

<back to all web services

CustomerCheckins

Requires Authentication
Requires any of the roles:Agent, Administrator, Agent, Administrator, Agent, Administrator, Agent, Administrator
The following routes are available for this service:
GET,POST,DELETE,OPTIONS/v1/CustomerCheckins/{Id}
GET,POST,DELETE,OPTIONS/v1/CustomerCheckins
import Foundation
import ServiceStack

public class CustomerCheckins : CustomerCheckinObject
{
    public var apiKey:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case apiKey
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        apiKey = try container.decodeIfPresent(String.self, forKey: .apiKey)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if apiKey != nil { try container.encode(apiKey, forKey: .apiKey) }
    }
}

public class CustomerCheckinObject : Codable
{
    public var id:String
    public var lineId:String
    public var customerId:String
    public var employeeId:String
    public var locationId:String
    public var stationId:String
    public var signInTime:Date
    public var adjustedSignInTime:Date
    public var sendReminders:Bool
    public var status:Int
    public var taskTime:Int
    public var completed:Bool
    public var completedTime:Date
    public var questionnaireSubmitted:Bool
    public var lineIds:[String] = []

    required public init(){}
}

public class CustomerCheckinsResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var customerCheckins:[CustomerCheckinObject] = []
    public var customerCheckinRequirements:CheckinInformation

    required public init(){}
}

public class CheckinInformation : Codable
{
    public var id:String
    public var locationId:String
    public var locationName:String
    public var customerId:String?
    public var questionnaireSubmitted:Bool?
    public var name:String
    public var Description:String
    public var totalServiceDurationMinutes:Int
    public var totalCost:Double
    public var sendQuestionnaire:Bool
    public var requireUpload:Bool
    public var questions:[LineQuestion] = []
    public var lines:[Line] = []

    required public init(){}
}

public class LineQuestion : Codable
{
    public var id:Int
    public var customerCheckInId:String
    public var lineId:String
    public var question:String
    public var answer:String
    public var active:Bool

    required public init(){}
}

public class Line : Codable
{
    public var id:String
    public var locationId:String
    public var locationName:String
    public var name:String
    public var Description:String
    public var serviceDurationMinutes:Int
    public var waitTime:Int
    public var cost:Double
    public var upperThreshold:Int?
    public var lowerThreshold:Int?
    public var active:Bool
    public var entDate:Date?
    public var modDate:Date?
    public var sendQuestionnaire:Bool
    public var requireUpload:Bool
    public var uploadMessage:String
    public var lineImages:[LineImage] = []

    required public init(){}
}

public class LineImage : Codable
{
    public var imageId:String?
    public var fileName:String
    public var imageTitle:String
    public var uploadDate:Date

    required public init(){}
}


Swift CustomerCheckins DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

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

POST /v1/CustomerCheckins/{Id} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CustomerCheckins xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <AdjustedSignInTime>0001-01-01T00:00:00</AdjustedSignInTime>
  <Completed>false</Completed>
  <CompletedTime>0001-01-01T00:00:00</CompletedTime>
  <CustomerId>00000000-0000-0000-0000-000000000000</CustomerId>
  <EmployeeId>00000000-0000-0000-0000-000000000000</EmployeeId>
  <Id>00000000-0000-0000-0000-000000000000</Id>
  <LineId>00000000-0000-0000-0000-000000000000</LineId>
  <LineIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:guid>00000000-0000-0000-0000-000000000000</d2p1:guid>
  </LineIds>
  <LocationId>00000000-0000-0000-0000-000000000000</LocationId>
  <QuestionnaireSubmitted>false</QuestionnaireSubmitted>
  <SendReminders>false</SendReminders>
  <SignInTime>0001-01-01T00:00:00</SignInTime>
  <StationId>00000000-0000-0000-0000-000000000000</StationId>
  <Status>0</Status>
  <TaskTime>0</TaskTime>
  <ApiKey>00000000-0000-0000-0000-000000000000</ApiKey>
</CustomerCheckins>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CustomerCheckinsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <CustomerCheckinRequirements>
    <CustomerId>00000000-0000-0000-0000-000000000000</CustomerId>
    <Description>String</Description>
    <Id>00000000-0000-0000-0000-000000000000</Id>
    <Lines>
      <Line>
        <Active>false</Active>
        <Cost>0</Cost>
        <Description>String</Description>
        <EntDate>0001-01-01T00:00:00</EntDate>
        <Id>00000000-0000-0000-0000-000000000000</Id>
        <LineImages>
          <LineImage>
            <FileName>String</FileName>
            <ImageId>00000000-0000-0000-0000-000000000000</ImageId>
            <ImageTitle>String</ImageTitle>
            <UploadDate>0001-01-01T00:00:00</UploadDate>
          </LineImage>
        </LineImages>
        <LocationId>00000000-0000-0000-0000-000000000000</LocationId>
        <LocationName>String</LocationName>
        <LowerThreshold>0</LowerThreshold>
        <ModDate>0001-01-01T00:00:00</ModDate>
        <Name>String</Name>
        <RequireUpload>false</RequireUpload>
        <SendQuestionnaire>false</SendQuestionnaire>
        <ServiceDurationMinutes>0</ServiceDurationMinutes>
        <UploadMessage>String</UploadMessage>
        <UpperThreshold>0</UpperThreshold>
        <WaitTime>0</WaitTime>
      </Line>
    </Lines>
    <LocationId>00000000-0000-0000-0000-000000000000</LocationId>
    <LocationName>String</LocationName>
    <Name>String</Name>
    <QuestionnaireSubmitted>false</QuestionnaireSubmitted>
    <Questions>
      <LineQuestion>
        <Active>false</Active>
        <Answer>String</Answer>
        <CustomerCheckInId>00000000-0000-0000-0000-000000000000</CustomerCheckInId>
        <Id>0</Id>
        <LineId>00000000-0000-0000-0000-000000000000</LineId>
        <Question>String</Question>
      </LineQuestion>
    </Questions>
    <RequireUpload>false</RequireUpload>
    <SendQuestionnaire>false</SendQuestionnaire>
    <TotalCost>0</TotalCost>
    <TotalServiceDurationMinutes>0</TotalServiceDurationMinutes>
  </CustomerCheckinRequirements>
  <CustomerCheckins>
    <CustomerCheckinObject>
      <AdjustedSignInTime>0001-01-01T00:00:00</AdjustedSignInTime>
      <Completed>false</Completed>
      <CompletedTime>0001-01-01T00:00:00</CompletedTime>
      <CustomerId>00000000-0000-0000-0000-000000000000</CustomerId>
      <EmployeeId>00000000-0000-0000-0000-000000000000</EmployeeId>
      <Id>00000000-0000-0000-0000-000000000000</Id>
      <LineId>00000000-0000-0000-0000-000000000000</LineId>
      <LineIds xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:guid>00000000-0000-0000-0000-000000000000</d4p1:guid>
      </LineIds>
      <LocationId>00000000-0000-0000-0000-000000000000</LocationId>
      <QuestionnaireSubmitted>false</QuestionnaireSubmitted>
      <SendReminders>false</SendReminders>
      <SignInTime>0001-01-01T00:00:00</SignInTime>
      <StationId>00000000-0000-0000-0000-000000000000</StationId>
      <Status>0</Status>
      <TaskTime>0</TaskTime>
    </CustomerCheckinObject>
  </CustomerCheckins>
  <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>
</CustomerCheckinsResponse>