| POST,OPTIONS | /v1/dashboard/kpiv2/visits |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CRM.AgencyPlatform.API.Internal;
namespace CRM.AgencyPlatform.API.Internal
{
public partial class KpiV2VisitsRequest
{
public virtual Guid BranchId { get; set; }
public virtual DateTime FromDate { get; set; }
public virtual DateTime ToDate { get; set; }
public virtual Guid? StationId { get; set; }
public virtual Guid? EmployeeId { get; set; }
public virtual string Outcome { get; set; }
public virtual Guid? LineId { get; set; }
public virtual int Page { get; set; }
public virtual int PageSize { get; set; }
}
public partial class KpiV2VisitsResponse
{
public virtual ResponseStatus ResponseStatus { get; set; }
public virtual SvcVisitPage Visits { get; set; }
}
public partial class SvcChip
{
public virtual Guid LineId { get; set; }
public virtual string Name { get; set; }
public virtual int N { get; set; }
}
public partial class SvcVisitPage
{
public virtual List<SvcVisitRow> Rows { get; set; } = [];
public virtual int TotalRows { get; set; }
public virtual int Page { get; set; }
public virtual int PageSize { get; set; }
public virtual Dictionary<string, int> OutcomeCounts { get; set; } = new();
public virtual List<SvcChip> Services { get; set; } = [];
public virtual bool CanSeeStaff { get; set; }
public virtual bool CanSeeFinancial { get; set; }
}
public partial class SvcVisitRow
{
public virtual Guid CheckinId { get; set; }
public virtual string TicketLabel { get; set; }
public virtual DateTime LocalDate { get; set; }
public virtual Guid LineId { get; set; }
public virtual string ServiceName { get; set; }
public virtual Guid? StationId { get; set; }
public virtual string StationName { get; set; }
public virtual Guid? EmployeeId { get; set; }
public virtual string EmployeeName { get; set; }
public virtual string CustomerName { get; set; }
public virtual int? ContactId { get; set; }
public virtual int? ContactAgentId { get; set; }
public virtual Guid CustomerId { get; set; }
public virtual bool IsAppointment { get; set; }
public virtual DateTime? LocalHere { get; set; }
public virtual DateTime? LocalCalled { get; set; }
public virtual DateTime? LocalStart { get; set; }
public virtual DateTime? LocalEnd { get; set; }
public virtual int? WaitSec { get; set; }
public virtual int? ServeSec { get; set; }
public virtual string Outcome { get; set; }
public virtual decimal? Fee { get; set; }
}
}
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/dashboard/kpiv2/visits HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
BranchId: 00000000000000000000000000000000,
FromDate: 0001-01-01,
ToDate: 0001-01-01,
StationId: 00000000000000000000000000000000,
EmployeeId: 00000000000000000000000000000000,
Outcome: String,
LineId: 00000000000000000000000000000000,
Page: 0,
PageSize: 0
}
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
}
},
Visits:
{
Rows:
[
{
CheckinId: 00000000000000000000000000000000,
TicketLabel: String,
LocalDate: 0001-01-01,
LineId: 00000000000000000000000000000000,
ServiceName: String,
StationId: 00000000000000000000000000000000,
StationName: String,
EmployeeId: 00000000000000000000000000000000,
EmployeeName: String,
CustomerName: String,
ContactId: 0,
ContactAgentId: 0,
CustomerId: 00000000000000000000000000000000,
IsAppointment: False,
LocalHere: 0001-01-01,
LocalCalled: 0001-01-01,
LocalStart: 0001-01-01,
LocalEnd: 0001-01-01,
WaitSec: 0,
ServeSec: 0,
Outcome: String,
Fee: 0
}
],
TotalRows: 0,
Page: 0,
PageSize: 0,
OutcomeCounts:
{
String: 0
},
Services:
[
{
LineId: 00000000000000000000000000000000,
Name: String,
N: 0
}
],
CanSeeStaff: False,
CanSeeFinancial: False
}
}