| Requires any of the roles: | Admin, TeamAdmin | Required permission: | Sales.Total |
| POST | /sales/overview |
|---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports TicketUserServices.ServiceModel
Namespace Global
Namespace TicketUserServices.ServiceModel
Public Partial Class KpiDelta
Public Overridable Property Abs As Decimal
Public Overridable Property Pct As Nullable(Of Double)
Public Overridable Property Dir As String
End Class
Public Partial Class SalesDeltas
Public Overridable Property GrossNet As KpiDelta
Public Overridable Property Refunded As KpiDelta
Public Overridable Property TicketsAllReal As KpiDelta
Public Overridable Property TicketsPaid As KpiDelta
Public Overridable Property Orders As KpiDelta
Public Overridable Property Aov As KpiDelta
End Class
Public Partial Class SalesDowBucket
Public Overridable Property Dow As Integer
Public Overridable Property Revenue As Decimal
Public Overridable Property Orders As Integer
Public Overridable Property Tickets As Integer
End Class
Public Partial Class SalesHourBucket
Public Overridable Property Hour As Integer
Public Overridable Property Revenue As Decimal
Public Overridable Property Orders As Integer
Public Overridable Property Tickets As Integer
End Class
Public Partial Class SalesKpis
Public Overridable Property GrossNet As Decimal
Public Overridable Property Refunded As Decimal
Public Overridable Property TicketsAllReal As Integer
Public Overridable Property TicketsPaid As Integer
Public Overridable Property Orders As Integer
Public Overridable Property Aov As Decimal
End Class
Public Partial Class SalesOverviewRequest
Public Sub New()
AdditionalOwnerIds = New Integer(){}
End Sub
Public Overridable Property EventOwnerId As Integer
Public Overridable Property AdditionalOwnerIds As Integer()
Public Overridable Property EventId As Nullable(Of Integer)
Public Overridable Property FromUtc As Date
Public Overridable Property ToUtc As Date
Public Overridable Property CompareFromUtc As Nullable(Of Date)
Public Overridable Property CompareToUtc As Nullable(Of Date)
Public Overridable Property Bucket As String
Public Overridable Property TopEventsLimit As Integer
Public Overridable Property RecentOrdersLimit As Integer
End Class
Public Partial Class SalesOverviewResult
Public Sub New()
Trend = New List(Of SalesTrendBucket)
PreviousTrend = New List(Of SalesTrendBucket)
TopEvents = New List(Of SalesTopEvent)
RecentOrders = New List(Of SalesRecentOrder)
ByHourOfDay = New List(Of SalesHourBucket)
ByDayOfWeek = New List(Of SalesDowBucket)
TopProducts = New List(Of SalesProduct)
Owners = New List(Of Integer)
End Sub
Public Overridable Property Current As SalesKpis
Public Overridable Property Previous As SalesKpis
Public Overridable Property Delta As SalesDeltas
Public Overridable Property Trend As List(Of SalesTrendBucket)
Public Overridable Property PreviousTrend As List(Of SalesTrendBucket)
Public Overridable Property TopEvents As List(Of SalesTopEvent)
Public Overridable Property RecentOrders As List(Of SalesRecentOrder)
Public Overridable Property ByHourOfDay As List(Of SalesHourBucket)
Public Overridable Property ByDayOfWeek As List(Of SalesDowBucket)
Public Overridable Property TopProducts As List(Of SalesProduct)
Public Overridable Property HasAnyDataEver As Boolean
Public Overridable Property Owners As List(Of Integer)
Public Overridable Property Bucket As String
Public Overridable Property FreshnessUtc As Date
Public Overridable Property StatusCode As Integer
Public Overridable Property Message As String
End Class
Public Partial Class SalesProduct
Public Overridable Property TicketName As String
Public Overridable Property Tickets As Integer
Public Overridable Property Revenue As Decimal
Public Overridable Property Orders As Integer
End Class
Public Partial Class SalesRecentOrder
Public Overridable Property TicketId As Integer
Public Overridable Property CreatedAt As Date
Public Overridable Property EventName As String
Public Overridable Property Amount As Decimal
Public Overridable Property TicketCount As Integer
Public Overridable Property BuyerName As String
End Class
Public Partial Class SalesTopEvent
Public Overridable Property EventId As Integer
Public Overridable Property EventName As String
Public Overridable Property EventDate As Nullable(Of Date)
Public Overridable Property GrossNet As Decimal
Public Overridable Property PaidTickets As Integer
Public Overridable Property RealTickets As Integer
Public Overridable Property Orders As Integer
End Class
Public Partial Class SalesTrendBucket
Public Overridable Property Bucket As Date
Public Overridable Property Revenue As Decimal
Public Overridable Property Tickets As Integer
End Class
End Namespace
End Namespace
VB.NET SalesOverviewRequest 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 /sales/overview HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
eventOwnerId: 0,
additionalOwnerIds:
[
0
],
eventId: 0,
fromUtc: 0001-01-01,
toUtc: 0001-01-01,
compareFromUtc: 0001-01-01,
compareToUtc: 0001-01-01,
bucket: String,
topEventsLimit: 0,
recentOrdersLimit: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
current:
{
grossNet: 0,
refunded: 0,
ticketsAllReal: 0,
ticketsPaid: 0,
orders: 0,
aov: 0
},
previous:
{
grossNet: 0,
refunded: 0,
ticketsAllReal: 0,
ticketsPaid: 0,
orders: 0,
aov: 0
},
delta:
{
grossNet:
{
abs: 0,
pct: 0,
dir: String
},
refunded:
{
abs: 0,
pct: 0,
dir: String
},
ticketsAllReal:
{
abs: 0,
pct: 0,
dir: String
},
ticketsPaid:
{
abs: 0,
pct: 0,
dir: String
},
orders:
{
abs: 0,
pct: 0,
dir: String
},
aov:
{
abs: 0,
pct: 0,
dir: String
}
},
trend:
[
{
bucket: 0001-01-01,
revenue: 0,
tickets: 0
}
],
previousTrend:
[
{
bucket: 0001-01-01,
revenue: 0,
tickets: 0
}
],
topEvents:
[
{
eventId: 0,
eventName: String,
eventDate: 0001-01-01,
grossNet: 0,
paidTickets: 0,
realTickets: 0,
orders: 0
}
],
recentOrders:
[
{
ticketId: 0,
createdAt: 0001-01-01,
eventName: String,
amount: 0,
ticketCount: 0,
buyerName: String
}
],
byHourOfDay:
[
{
hour: 0,
revenue: 0,
orders: 0,
tickets: 0
}
],
byDayOfWeek:
[
{
dow: 0,
revenue: 0,
orders: 0,
tickets: 0
}
],
topProducts:
[
{
ticketName: String,
tickets: 0,
revenue: 0,
orders: 0
}
],
hasAnyDataEver: False,
owners:
[
0
],
bucket: String,
freshnessUtc: 0001-01-01,
statusCode: 0,
message: String
}