BokaMera.API.Host

<back to all web services

StatisticQuery

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin, bookingsupplier-administrator-read
The following routes are available for this service:
GET/statistics
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        Public Partial Class BookedByDay
            Public Overridable Property [Date] As Date
            Public Overridable Property Value As Integer
        End Class

        <ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
        <ApiResponse(Description:="You have too low privilegies to call this service", StatusCode:=403)>
        <ValidateRequest(Validator:="IsAuthenticated")>
        Public Partial Class StatisticQuery
            Implements ICompany
            '''<Summary>
            '''Enter the company id, if blank company id and you are an admin, your company id will be used.
            '''</Summary>
            <ApiMember(Description:="Enter the company id, if blank company id and you are an admin, your company id will be used.", IsRequired:=true, ParameterType:="query")>
            Public Overridable Property CompanyId As Nullable(Of Guid)

            '''<Summary>
            '''Start of interval to get bookings and customers
            '''</Summary>
            <ApiMember(Description:="Start of interval to get bookings and customers", IsRequired:=true, ParameterType:="query")>
            <Required>
            Public Overridable Property From As Date

            '''<Summary>
            '''End of interval to get bookings and customers
            '''</Summary>
            <ApiMember(Description:="End of interval to get bookings and customers", IsRequired:=true, ParameterType:="query")>
            Public Overridable Property To As Date

            '''<Summary>
            '''Set true if you want to include booked events by day
            '''</Summary>
            <ApiMember(Description:="Set true if you want to include booked events by day", ParameterType:="query")>
            Public Overridable Property IncludeOccuringBookingsByDay As Boolean

            '''<Summary>
            '''Set true if you want to include booking created by day
            '''</Summary>
            <ApiMember(Description:="Set true if you want to include booking created by day", ParameterType:="query")>
            Public Overridable Property IncludeCreatedBookingsByDay As Boolean

            '''<Summary>
            '''Set true if you want to include customers created by day
            '''</Summary>
            <ApiMember(Description:="Set true if you want to include customers created by day", ParameterType:="query")>
            Public Overridable Property IncludeCreatedCustomersByDay As Boolean
        End Class

        Public Partial Class StatisticQueryResponse
            Public Sub New()
                OccuringBookingsByDay = New List(Of BookedByDay)
                CreatedBookingsByDay = New List(Of BookedByDay)
                CreatedCustomersByDay = New List(Of BookedByDay)
            End Sub

            Public Overridable Property NumberOfOccuringBookings As Integer
            Public Overridable Property NumberOfCreatedBookings As Integer
            Public Overridable Property NumberOfCreatedCustomers As Integer
            Public Overridable Property OccuringBookingsByDay As List(Of BookedByDay)
            Public Overridable Property CreatedBookingsByDay As List(Of BookedByDay)
            Public Overridable Property CreatedCustomersByDay As List(Of BookedByDay)
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace
End Namespace

VB.NET StatisticQuery DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

GET /statistics HTTP/1.1 
Host: testapi.bokamera.se 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"NumberOfOccuringBookings":0,"NumberOfCreatedBookings":0,"NumberOfCreatedCustomers":0,"OccuringBookingsByDay":[{"Value":0}],"CreatedBookingsByDay":[{"Value":0}],"CreatedCustomersByDay":[{"Value":0}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}