""" Options: Date: 2025-12-06 07:07:24 Version: 8.80 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://backoffice-api.brovs.com #GlobalNamespace: BackofficeApi #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: FeatureTypeListRequest.* #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 # module BackofficeApi class FeatureType(str, Enum): BAR_SPECIALITY = 'BarSpeciality' BAR_TYPE = 'BarType' CUISINE = 'Cuisine' SAVE_FOOD_AND_MONEY = 'SaveFoodAndMoney' MEAL_TYPE = 'MealType' MENU = 'Menu' OUTDOOR_SEATING = 'OutdoorSeating' PARKING = 'Parking' PAYMENT_OPTIONS = 'PaymentOptions' PRICE_MAIN_DISH = 'PriceMainDish' SUB_CATEGORIES = 'SubCategories' SUB_CATEGORIES_AND_BRANDS = 'SubCategoriesAndBrands' EATING_SUITABILITIES = 'EatingSuitabilities' TAKE_AWAY = 'TakeAway' WEAR_PRICE_PROFILE = 'WearPriceProfile' WHEEL_CHAIR_ACCESSIBLE = 'WheelChairAccessible' WIFI = 'Wifi' WEB_SHOP = 'WebShop' FILTERING = 'Filtering' class FeatureGroup(str, Enum): GENERAL = 'General' FASHION = 'Fashion' FOOD_AND_DRINK = 'FoodAndDrink' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FeatureTypeDto: slug: Optional[FeatureType] = None label: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FeatureGroupCategoryMatch: category_slug_prefixes: List[str] = field(default_factory=list) group: Optional[FeatureGroup] = None feature_types: List[FeatureTypeDto] = field(default_factory=list) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FeatureTypeListResponse: feature_groups: List[FeatureGroupCategoryMatch] = field(default_factory=list) # @Route("/feature/types", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FeatureTypeListRequest(IReturn[FeatureTypeListResponse], IGet): pass