| Requires any of the roles: | bookingsupplier-administrator-write, superadmin, bookingsupplier-administrator-read |
| GET | /survicate/metrics |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
Object = TypeVar('Object')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SurvicateMetricsResponse:
# @ApiMember(Description="Number of distinct bookings paid via Stripe for the company.")
stripe_paid_bookings_count: int = 0
"""
Number of distinct bookings paid via Stripe for the company.
"""
# @ApiMember(Description="Number of distinct bookings paid via Qvickly for the company.")
qvickly_paid_bookings_count: int = 0
"""
Number of distinct bookings paid via Qvickly for the company.
"""
# @ApiMember(Description="Approximate number of bookings synced to a code lock / access control system. Derived from access-control external references (CodeLockAccessKey, IloqBookingKey); the system does not record confirmed syncs, so treat this as a proxy, not an exact count.")
codelock_synced_bookings_count: int = 0
"""
Approximate number of bookings synced to a code lock / access control system. Derived from access-control external references (CodeLockAccessKey, IloqBookingKey); the system does not record confirmed syncs, so treat this as a proxy, not an exact count.
"""
response_status: Optional[ResponseStatus] = None
# @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")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SurvicateMetricsQuery(ICompany):
# @ApiMember(Description="Enter the company id. If blank and you are an admin, your own company id is used.", ParameterType="query")
company_id: Optional[str] = None
"""
Enter the company id. If blank and you are an admin, your own company id is used.
"""
Python SurvicateMetricsQuery DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /survicate/metrics HTTP/1.1 Host: testapi.bokamera.se Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"StripePaidBookingsCount":0,"QvicklyPaidBookingsCount":0,"CodelockSyncedBookingsCount":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}