""" Options: Date: 2025-02-05 15:54:51 Version: 5.140 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://api.clubmanagercentral.com #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: ViewBookingMemberAccess.* #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 LossReasonInstance: loss_reason_id: int = 0 reason: Optional[str] = None deleted: bool = False demo: bool = False selectable: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class UserInstance: user_id: int = 0 user_name: Optional[str] = None name: Optional[str] = None email: Optional[str] = None mobile_phone: Optional[str] = None enabled: bool = False last_login: Optional[datetime.datetime] = None created: datetime.datetime = datetime.datetime(1, 1, 1) training: bool = False deleted: bool = False courses_completed: int = 0 display_home_notification: Optional[bool] = None two_factor_enabled: bool = False email_confirmed: bool = False mobile_phone_confirmed: bool = False notifications: bool = False change_password: Optional[datetime.datetime] = None activated: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class MemberInstance: member_id: int = 0 member_type: int = 0 membership_number: Optional[str] = None card_number: Optional[str] = None company_name: Optional[str] = None surname: Optional[str] = None forenames: Optional[str] = None title: Optional[str] = None gender: int = 0 date_of_birth: Optional[datetime.datetime] = None address1: Optional[str] = None address2: Optional[str] = None city: Optional[str] = None county: Optional[str] = None postcode: Optional[str] = None home_phone: Optional[str] = None mobile_phone: Optional[str] = None email_address: Optional[str] = None email_opt_out: bool = False sms_opt_out: bool = False phone_opt_out: bool = False letter_opt_out: bool = False direct_debit_account_holder: Optional[str] = None direct_debit_account_number: Optional[str] = None direct_debit_sort_code: Optional[str] = None joined_date: Optional[datetime.datetime] = None direct_debit_bank_address: Optional[str] = None full_name: Optional[str] = None external_reference: Optional[str] = None photo: Optional[bytes] = None photo_modified_date: Optional[datetime.datetime] = None notes: Optional[str] = None deleted: bool = False demo: bool = False use_external_status: bool = False external_status: int = 0 free_text: Optional[str] = None member_key: Optional[str] = None balance: Decimal = decimal.Decimal(0) credit_limit: Decimal = decimal.Decimal(0) created_date: datetime.datetime = datetime.datetime(1, 1, 1) modified_date: Optional[datetime.datetime] = None deleted_date: Optional[datetime.datetime] = None external_source: int = 0 retention_metric: Optional[Decimal] = None monthly_attendance_frequency: Optional[Decimal] = None assigned_to_user_id: Optional[int] = None created_by_user_id: Optional[int] = None deleted_by_user_id: Optional[int] = None loss_reason: Optional[LossReasonInstance] = None # @References(typeof(LossReasonInstance)) loss_reason_id: Optional[int] = None won_or_lost: Optional[int] = None won_or_lost_date: Optional[datetime.datetime] = None gift_aid_permission: bool = False photo_permission: Optional[bool] = None first_aid_permission: Optional[bool] = None emergency_contact: Optional[str] = None won_or_lost_by_user: Optional[UserInstance] = None # @References(typeof(UserInstance)) won_or_lost_by_user_id: Optional[int] = None agreed_to_terms: Optional[datetime.datetime] = None online_booking_banned: bool = False country: Optional[str] = None fingerprint_enrolled: Optional[datetime.datetime] = None last_payment_amount: Optional[Decimal] = None pin: Optional[str] = None prospecting_points: int = 0 achievement_points: int = 0 parent_forenames: Optional[str] = None parent_surname: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AttendanceInstance: attendance_id: int = 0 date: datetime.datetime = datetime.datetime(1, 1, 1) member: Optional[MemberInstance] = None # @References(typeof(MemberInstance)) member_id: int = 0 demo: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ProductInstance: product_id: int = 0 group: Optional[str] = None name: Optional[str] = None description: Optional[str] = None price: Decimal = decimal.Decimal(0) vat: Optional[Decimal] = None total_price: Optional[Decimal] = None product_type: int = 0 deleted: bool = False demo: bool = False usage_count: Optional[int] = None stock_level: Optional[int] = None reorder_flag: Optional[int] = None visible_online: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ScheduleInstance: schedule_id: int = 0 name: Optional[str] = None description: Optional[str] = None monday_from: Optional[datetime.timedelta] = None monday_to: Optional[datetime.timedelta] = None tuesday_from: Optional[datetime.timedelta] = None tuesday_to: Optional[datetime.timedelta] = None wednesday_from: Optional[datetime.timedelta] = None wednesday_to: Optional[datetime.timedelta] = None thursday_from: Optional[datetime.timedelta] = None thursday_to: Optional[datetime.timedelta] = None friday_from: Optional[datetime.timedelta] = None friday_to: Optional[datetime.timedelta] = None saturday_from: Optional[datetime.timedelta] = None saturday_to: Optional[datetime.timedelta] = None sunday_from: Optional[datetime.timedelta] = None sunday_to: Optional[datetime.timedelta] = None schedule_type: int = 0 deleted: bool = False demo: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FacilityInstance: facility_id: int = 0 name: Optional[str] = None description: Optional[str] = None schedule: Optional[ScheduleInstance] = None # @References(typeof(ScheduleInstance)) schedule_id: int = 0 colour: Optional[str] = None bookable: bool = False deleted: bool = False demo: bool = False group: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class StaffInstance: staff_id: int = 0 name: Optional[str] = None schedule: Optional[ScheduleInstance] = None # @References(typeof(ScheduleInstance)) schedule_id: Optional[int] = None deleted: bool = False demo: bool = False group: Optional[str] = None profile: Optional[str] = None first_aid_trained: bool = False dbs_check: Optional[datetime.datetime] = None insurance_expires: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BookingInstance: booking_id: int = 0 name: Optional[str] = None notes: Optional[str] = None start_date: datetime.datetime = datetime.datetime(1, 1, 1) duration: int = 0 all_day: bool = False recurrence: Optional[str] = None use_recurrence: bool = False min_attendees: Optional[int] = None max_attendees: Optional[int] = None product: Optional[ProductInstance] = None # @References(typeof(ProductInstance)) product_id: Optional[int] = None facility: Optional[FacilityInstance] = None # @References(typeof(FacilityInstance)) facility_id: Optional[int] = None staff: Optional[StaffInstance] = None # @References(typeof(StaffInstance)) staff_id: Optional[int] = None parent_booking: Optional[BookingInstance] = None # @References(typeof(BookingInstance)) parent_booking_id: Optional[int] = None series_index: Optional[int] = None deleted: bool = False demo: bool = False member: Optional[MemberInstance] = None # @References(typeof(MemberInstance)) member_id: Optional[int] = None end_date: Optional[datetime.datetime] = None taster_session: Optional[bool] = None immediate_payment: bool = False grading_event: Optional[bool] = None url: Optional[str] = None visible: bool = False bookable: bool = False non_member_product_id: Optional[int] = None taster_session_product_id: Optional[int] = None active_member_can_book: bool = False non_member_can_book: bool = False online_booking_timetable_limit: Optional[int] = None online_booking_cancellation_limit: Optional[int] = None booking_category_id: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class MembershipTypeInstance: membership_type_id: int = 0 name: Optional[str] = None description: Optional[str] = None definition: Optional[str] = None schedule: Optional[ScheduleInstance] = None # @References(typeof(ScheduleInstance)) schedule_id: int = 0 deleted: bool = False demo: bool = False public: bool = False sessions_remaining: Optional[int] = None classes_remaining: Optional[int] = None sort_order: Optional[int] = None special: bool = False multi_site_access: bool = False member_limit: int = 0 promotion_code: Optional[str] = None promotion_start: Optional[datetime.datetime] = None promotion_end: Optional[datetime.datetime] = None licenses_remaining: Optional[int] = None booking_access_only: bool = False sessions_period: Optional[int] = None sessions_frequency: Optional[int] = None starts_on: Optional[datetime.datetime] = None allow_selection_after_starts_on: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PurchaseInstance: purchase_id: int = 0 receipt_id: Optional[int] = None date: datetime.datetime = datetime.datetime(1, 1, 1) quantity: Decimal = decimal.Decimal(0) product_price: Decimal = decimal.Decimal(0) product_v_a_t: Decimal = decimal.Decimal(0) total_price: Optional[Decimal] = None total_v_a_t: Optional[Decimal] = None total: Optional[Decimal] = None payment_method: int = 0 payment_token: Optional[str] = None product: Optional[ProductInstance] = None # @References(typeof(ProductInstance)) product_id: Optional[int] = None member: Optional[MemberInstance] = None # @References(typeof(MemberInstance)) member_id: Optional[int] = None deleted: bool = False demo: bool = False created_by: Optional[int] = None modified_by: Optional[int] = None created_date: Optional[datetime.datetime] = None modified_date: Optional[datetime.datetime] = None original_receipt_id: Optional[int] = None original_purchase_id: Optional[int] = None card_number: Optional[str] = None usage_count: Optional[int] = None # @References(typeof(PaymentInstance)) payment_id: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BookingMemberAccessInstance: member: Optional[MemberInstance] = None # @References(typeof(MemberInstance)) member_id: int = 0 booking: Optional[BookingInstance] = None # @References(typeof(BookingInstance)) booking_id: int = 0 # @References(typeof(MembershipInstance)) membership_id: Optional[int] = None membership_type: Optional[MembershipTypeInstance] = None # @References(typeof(MembershipTypeInstance)) membership_type_id: Optional[int] = None product: Optional[ProductInstance] = None # @References(typeof(ProductInstance)) product_id: Optional[int] = None booking_attendee_id: Optional[int] = None purchase: Optional[PurchaseInstance] = None # @References(typeof(PurchaseInstance)) purchase_id: Optional[int] = None attendance: Optional[AttendanceInstance] = None # @References(typeof(AttendanceInstance)) attendance_id: Optional[int] = None end_date: Optional[datetime.datetime] = None can_book: int = 0 is_free: int = 0 # @Route("/api/Query/BookingMemberAccess") # @AutoQueryViewer(Description="", IconUrl="octicon:database", Title="BookingMemberAccess") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ViewBookingMemberAccess(QueryDb[BookingMemberAccessInstance], IReturn[QueryResponse[BookingMemberAccessInstance]]): pass