| Requires any of the roles: | Agent, Administrator, Agent, Administrator, Agent, Administrator, Agent, Administrator |
| 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(){}
}
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.
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>