| 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 |
export class CustomerCheckinObject
{
public Id: string;
public LineId: string;
public CustomerId: string;
public EmployeeId: string;
public LocationId: string;
public StationId: string;
public SignInTime: string;
public AdjustedSignInTime: string;
public SendReminders: boolean;
public Status: number;
public TaskTime: number;
public Completed: boolean;
public CompletedTime: string;
public QuestionnaireSubmitted: boolean;
public LineIds: string[] = [];
public constructor(init?: Partial<CustomerCheckinObject>) { (Object as any).assign(this, init); }
}
export class LineQuestion
{
public Id: number;
public CustomerCheckInId: string;
public LineId: string;
public Question: string;
public Answer: string;
public Active: boolean;
public constructor(init?: Partial<LineQuestion>) { (Object as any).assign(this, init); }
}
export class LineImage
{
public ImageId?: string;
public FileName: string;
public ImageTitle: string;
public UploadDate: string;
public constructor(init?: Partial<LineImage>) { (Object as any).assign(this, init); }
}
export class Line
{
public Id: string;
public LocationId: string;
public LocationName: string;
public Name: string;
public Description: string;
public ServiceDurationMinutes: number;
public WaitTime: number;
public Cost: number;
public UpperThreshold?: number;
public LowerThreshold?: number;
public Active: boolean;
public EntDate?: string;
public ModDate?: string;
public SendQuestionnaire: boolean;
public RequireUpload: boolean;
public UploadMessage: string;
public LineImages: LineImage[] = [];
public constructor(init?: Partial<Line>) { (Object as any).assign(this, init); }
}
export class CheckinInformation
{
public Id: string;
public LocationId: string;
public LocationName: string;
public CustomerId?: string;
public QuestionnaireSubmitted?: boolean;
public Name: string;
public Description: string;
public TotalServiceDurationMinutes: number;
public TotalCost: number;
public SendQuestionnaire: boolean;
public RequireUpload: boolean;
public Questions: LineQuestion[] = [];
public Lines: Line[] = [];
public constructor(init?: Partial<CheckinInformation>) { (Object as any).assign(this, init); }
}
export class CustomerCheckinsResponse
{
public ResponseStatus: ResponseStatus;
public CustomerCheckins: CustomerCheckinObject[] = [];
public CustomerCheckinRequirements: CheckinInformation;
public constructor(init?: Partial<CustomerCheckinsResponse>) { (Object as any).assign(this, init); }
}
export class CustomerCheckins extends CustomerCheckinObject
{
public ApiKey: string;
public constructor(init?: Partial<CustomerCheckins>) { super(init); (Object as any).assign(this, init); }
}
TypeScript CustomerCheckins 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.
POST /v1/CustomerCheckins/{Id} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ApiKey: 00000000000000000000000000000000,
Id: 00000000000000000000000000000000,
LineId: 00000000000000000000000000000000,
CustomerId: 00000000000000000000000000000000,
EmployeeId: 00000000000000000000000000000000,
LocationId: 00000000000000000000000000000000,
StationId: 00000000000000000000000000000000,
SignInTime: 0001-01-01,
AdjustedSignInTime: 0001-01-01,
SendReminders: False,
Status: 0,
TaskTime: 0,
Completed: False,
CompletedTime: 0001-01-01,
QuestionnaireSubmitted: False,
LineIds:
[
00000000000000000000000000000000
]
}
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
}
},
CustomerCheckins:
[
{
Id: 00000000000000000000000000000000,
LineId: 00000000000000000000000000000000,
CustomerId: 00000000000000000000000000000000,
EmployeeId: 00000000000000000000000000000000,
LocationId: 00000000000000000000000000000000,
StationId: 00000000000000000000000000000000,
SignInTime: 0001-01-01,
AdjustedSignInTime: 0001-01-01,
SendReminders: False,
Status: 0,
TaskTime: 0,
Completed: False,
CompletedTime: 0001-01-01,
QuestionnaireSubmitted: False,
LineIds:
[
00000000000000000000000000000000
]
}
],
CustomerCheckinRequirements:
{
Id: 00000000000000000000000000000000,
LocationId: 00000000000000000000000000000000,
LocationName: String,
CustomerId: 00000000000000000000000000000000,
QuestionnaireSubmitted: False,
Name: String,
Description: String,
TotalServiceDurationMinutes: 0,
TotalCost: 0,
SendQuestionnaire: False,
RequireUpload: False,
Questions:
[
{
Id: 0,
CustomerCheckInId: 00000000000000000000000000000000,
LineId: 00000000000000000000000000000000,
Question: String,
Answer: String,
Active: False
}
],
Lines:
[
{
Id: 00000000000000000000000000000000,
LocationId: 00000000000000000000000000000000,
LocationName: String,
Name: String,
Description: String,
ServiceDurationMinutes: 0,
WaitTime: 0,
Cost: 0,
UpperThreshold: 0,
LowerThreshold: 0,
Active: False,
EntDate: 0001-01-01,
ModDate: 0001-01-01,
SendQuestionnaire: False,
RequireUpload: False,
UploadMessage: String,
LineImages:
[
{
ImageId: 00000000000000000000000000000000,
FileName: String,
ImageTitle: String,
UploadDate: 0001-01-01
}
]
}
]
}
}