""" Options: Date: 2025-12-14 05:12:43 Version: 8.80 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://api.bokamera.se #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetAllBookingQueue.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ 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 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GroupBookingSettings: active: bool = False min: int = 0 max: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class MultipleResourceSettings: active: bool = False min: int = 0 max: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BookedCustomer: id: Optional[str] = None firstname: Optional[str] = None lastname: Optional[str] = None email: Optional[str] = None phone: Optional[str] = None facebook_user_name: Optional[str] = None image_url: Optional[str] = None personal_identity_number: Optional[str] = None corporate_identity_number: Optional[str] = None invoice_address1: Optional[str] = None invoice_address2: Optional[str] = None invoice_city: Optional[str] = None invoice_postal_code: Optional[str] = None invoice_country_code: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ServiceInfoResponse: id: int = 0 name: Optional[str] = None description: Optional[str] = None image_url: Optional[str] = None length_in_minutes: Optional[int] = None max_number_of_spots_per_booking: int = 0 min_number_of_spots_per_booking: int = 0 group_booking: Optional[GroupBookingSettings] = None multiple_resource: Optional[MultipleResourceSettings] = None is_group_booking: bool = False is_payment_enabled: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BookingUserQueuePriceResponse: company_id: Optional[str] = None id: int = 0 booking_user_queue_id: int = 0 service_price_id: Optional[int] = None quantity: Optional[int] = None price: Optional[float] = None price_text: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CompanyInfoResponse: id: Optional[str] = None name: Optional[str] = None logo_type: Optional[str] = None site_path: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BookingUserQueueItemResponse: booking_user_queue_id: int = 0 company_id: Optional[str] = None customer_id: Optional[str] = None service_id: int = 0 from_: datetime.datetime = field(metadata=config(field_name='from'), default=datetime.datetime(1, 1, 1)) to: datetime.datetime = datetime.datetime(1, 1, 1) status_code: int = 0 status_name: Optional[str] = None send_confirmation_time: Optional[datetime.datetime] = None quantities: List[BookingUserQueuePriceResponse] = field(default_factory=list) service: Optional[ServiceInfoResponse] = None company: Optional[CompanyInfoResponse] = None customer: Optional[BookedCustomer] = None # @Route("/bookinguserqueue/user", "GET") # @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) # @ValidateRequest(Validator="IsAuthenticated") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetAllBookingQueue(IReturn[List[BookingUserQueueItemResponse]]): # @ApiMember(Description="The user id for your profile. If not set it will set it automatically from your session") user_id: Optional[str] = None """ The user id for your profile. If not set it will set it automatically from your session """ # @ApiMember(DataType="dateTime", Description="Optional start date for the search interval. If not set it will default to todays date.", ParameterType="query") date_start: Optional[datetime.datetime] = None """ Optional start date for the search interval. If not set it will default to todays date. """ # @ApiMember(DataType="dateTime", Description="Optional end date for the search interval. If not set all future queue items will be returned.", ParameterType="query") date_end: Optional[datetime.datetime] = None """ Optional end date for the search interval. If not set all future queue items will be returned. """ # @ApiMember(DataType="boolean", Description="Set to true if you want to include the queue items for the company you are logged in as administrator on, if false only queue items for the logged in user will be retrieved. Only administrators are allowed to do this.", ParameterType="query") company_queue_items: bool = False """ Set to true if you want to include the queue items for the company you are logged in as administrator on, if false only queue items for the logged in user will be retrieved. Only administrators are allowed to do this. """ # @ApiMember(DataType="int", Description="Optional filter for a specific service id.", ParameterType="query") service_id: Optional[int] = None """ Optional filter for a specific service id. """ # @ApiMember(DataType="Guid", Description="Optional filter for a specific customer id.", ParameterType="query") customer_id: Optional[str] = None """ Optional filter for a specific customer id. """ # @ApiMember(DataType="boolean", Description="If you want to include the service information for the booking", ParameterType="query") include_service_information: bool = False """ If you want to include the service information for the booking """ # @ApiMember(DataType="boolean", Description="If you want to include the company information for the booking", ParameterType="query") include_company_information: bool = False """ If you want to include the company information for the booking """ # @ApiMember(DataType="boolean", Description="If you want to include the customer information for the booking", ParameterType="query") include_customer_information: bool = False """ If you want to include the customer information for the booking """ # @ApiMember(DataType="int", Description="Number of records to skip (for pagination)", ParameterType="query") skip: Optional[int] = None """ Number of records to skip (for pagination) """ # @ApiMember(DataType="int", Description="Maximum number of records to return (for pagination)", ParameterType="query") take: Optional[int] = None """ Maximum number of records to return (for pagination) """