/* Options: Date: 2024-12-23 11:43:14 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://consumer-api.brovs.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: FindRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/find", Verbs="GET") open class FindRequest : IReturn, IGet, IPost, ICacheable { var offset:Int? = null var size:Int? = null var resultAt:Date? = null var filter:QueryFilterDto? = null var location:QueryLocationDto? = null var cacheVersion:Long? = null companion object { private val responseType = FindResponse::class.java } override fun getResponseType(): Any? = FindRequest.responseType } open class FindResponse { var adMessages:ArrayList = ArrayList() var places:ArrayList = ArrayList() var placeCount:Long? = null var adMessageCount:Long? = null var adMessageSaveFoodAndMoneyCount:Long? = null var resultAt:Date? = null var categoryFacetTrees:ArrayList = ArrayList() } open class QueryFilterDto { var term:String? = null var placeGuid:UUID? = null var adMessageGuid:UUID? = null var categoryAbsoluteSlugs:ArrayList = ArrayList() var barSpecialitySlugs:ArrayList = ArrayList() var barTypeSlugs:ArrayList = ArrayList() var brandNames:ArrayList = ArrayList() var cuisineSlugs:ArrayList = ArrayList() var mealTypeSlugs:ArrayList = ArrayList() var parking:ArrayList = ArrayList() var paymentOptions:ArrayList = ArrayList() var priceMainDishes:ArrayList = ArrayList() var eatingSuitabilitySlugs:ArrayList = ArrayList() var takeAwaySlugs:ArrayList = ArrayList() var wearPriceProfileSlugs:ArrayList = ArrayList() var wheelChairAccessible:Boolean? = null var wifi:Boolean? = null var outdoorSeating:Boolean? = null var saveFoodAndMoney:Boolean? = null var openAt:OpenAtTimeDto? = null } open class QueryLocationDto { var longitude:Float? = null var latitude:Float? = null var searchRadiusInKm:Float? = null } open interface ICacheable { var cacheVersion:Long? } open class PlaceDto { var id:Long? = null var guid:UUID? = null var overview:String? = null var name:String? = null var longitude:Float? = null var latitude:Float? = null var claimed:Boolean? = null var organizationNumber:String? = null var countryCode:String? = null var placeState:String? = null var followersCount:Long? = null var openingHours:OpeningHours? = null var categories:ArrayList = ArrayList() var featureData:ArrayList = ArrayList() var barSpecialities:ArrayList = ArrayList() var barTypes:ArrayList = ArrayList() var brands:ArrayList = ArrayList() var cuisines:ArrayList = ArrayList() var mealTypes:ArrayList = ArrayList() var parking:ArrayList = ArrayList() var paymentOptions:ArrayList = ArrayList() var eatingSuitabilities:ArrayList = ArrayList() var takeAways:ArrayList = ArrayList() var wearPriceProfiles:ArrayList = ArrayList() var menus:ArrayList = ArrayList() var logoUrl:ImageUrls? = null var imageUrl:ImageUrls? = null var wheelchairAccessible:Boolean? = null var wifi:Boolean? = null var outdoorSeating:Boolean? = null var saveFoodAndMoney:Boolean? = null var placeType:PlaceType? = null var mall:PlaceBasicDto? = null var priceMainDish:PriceMainDishDto? = null var places:ArrayList = ArrayList() var otherServices:ArrayList = ArrayList() var floor:String? = null var timeZoneDto:TimeZoneDto? = null var businessId:Long? = null var contact:PlaceContact? = null var address:PlaceAddress? = null } open class AdMessageDto { var id:Long? = null var guid:UUID? = null var title:String? = null var startAt:Date? = null var stopAt:Date? = null var publishAt:Date? = null var imageUrls:ArrayList = ArrayList() var place:PlaceBasicDto? = null var detailsUnion:AdMessageDetailsUnion? = null var starredCount:Long? = null } open class CategoryFacetTreeDto { var name:String? = null var slug:String? = null var absoluteSlug:String? = null var featureTypes:ArrayList = ArrayList() @SerializedName("type") var Type:CategoryFacetTreeType? = null var count:Long? = null var imageUrl:String? = null var allImageUrl:String? = null var iconImageUrl:String? = null var position:Int? = null var children:ArrayList = ArrayList() } enum class Parking { StreetParking, ParkingGarageNearby, } enum class PaymentOption { Visa, MasterCard, AmericanExpress, Diners, Vipps, } enum class PriceMainDish { Value, Medium, High, FineDining, } open class OpenAtTimeDto { var weekDay:DayOfWeek? = null var hour:Int? = null var minute:Int? = null } open class OpeningHours { var weekly:WeeklyOpeningHours? = null } open class CategoryTreeDto { var name:String? = null var slug:String? = null var absoluteSlug:String? = null var imageUrl:String? = null var allImageUrl:String? = null var iconImageUrl:String? = null var position:Int? = null var children:ArrayList = ArrayList() } open class IndividualFeatureDataDto { var slug:FeatureType? = null var label:String? = null } open class BarSpecialityDto { var slug:String? = null var title:String? = null } open class BarTypeDto { var slug:String? = null var title:String? = null } open class PlaceSelectedBrandDto { var brand:BrandDto? = null var categoryAbsoluteSlugs:ArrayList? = null var placeCustomBrand:PlaceCustomBrandDto? = null } open class CuisineDto { var label:String? = null var slug:String? = null } open class MealTypeDto { var label:String? = null var slug:String? = null } open class ParkingDto { var label:String? = null var slug:Parking? = null } open class PaymentOptionDto { var label:String? = null var slug:PaymentOption? = null } open class EatingSuitabilityDto { var label:String? = null var slug:String? = null } open class TakeAwayDto { var label:String? = null var slug:String? = null } open class WearPriceProfileDto { var slug:String? = null var label:String? = null } open class MenuDto { var name:String? = null var url:String? = null var position:Int? = null } open class ImageUrls { var preview:String? = null var small:String? = null var medium:String? = null var large:String? = null } enum class PlaceType { Mall, Regular, } open class PlaceBasicDto { var id:Long? = null var guid:UUID? = null var overview:String? = null var name:String? = null var longitude:Float? = null var latitude:Float? = null var claimed:Boolean? = null var organizationNumber:String? = null var countryCode:String? = null var openingHours:OpeningHours? = null var wheelchairAccessible:Boolean? = null var wifi:Boolean? = null var outdoorSeating:Boolean? = null var saveFoodAndMoney:Boolean? = null var placeType:PlaceType? = null var priceMainDish:PriceMainDishDto? = null var timeZoneDto:TimeZoneDto? = null var businessId:Long? = null var contact:PlaceContact? = null var address:PlaceAddress? = null var categories:ArrayList = ArrayList() var logoUrl:ImageUrls? = null var imageUrl:ImageUrls? = null var wearPriceProfiles:ArrayList = ArrayList() var brands:ArrayList = ArrayList() var floor:String? = null } open class PriceMainDishDto { var title:String? = null var slug:PriceMainDish? = null } open class MallOtherServiceDto { var serviceName:String? = null var floor:String? = null } open class TimeZoneDto { var baseUtcOffset:TimeSpan? = null var daylightName:String? = null var displayName:String? = null var id:String? = null var standardName:String? = null var supportsDaylightSavingTime:Boolean? = null } open class PlaceContact { var phone:String? = null var email:String? = null var website:String? = null var webShop:String? = null } open class PlaceAddress { var street:String? = null var postalCode:String? = null var region:String? = null var countryCode:String? = null } open class AdMessageDetailsUnion { var percentageOnAllMerchandise:AdMessageDetailsPercentageDiscountOnAllMerchandise? = null var percentageRangeOnAllMerchandise:AdMessageDetailsPercentageDiscountRangeOnAllMerchandise? = null var percentageOnSelectedMerchandise:AdMessageDetailsPercentageDiscountOnSelectedMerchandise? = null var absoluteOnSelectedMerchandise:AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise? = null var absoluteRangeOnAllMerchandise:AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise? = null var totalAmountOverXgivesYdiscount:AdMessageDetailsTotalAmountOverXgivesYdiscount? = null var xforY:AdMessageDetailsXforYdiscount? = null var newArrivals:AdMessageDetailsNewArrivals? = null var freetext:AdMessageDetailsFreetext? = null var todaysBreakFastOffer:AdMessageDetailsTodaysBreakFastOffer? = null var todaysLunchOffer:AdMessageDetailsTodaysLunchOffer? = null var todaysDinnerOffer:AdMessageDetailsTodaysDinnerOffer? = null var saveFoodAndMoney:AdMessageDetailsSaveFoodAndMoney? = null var percentageOfYourFoodBill:AdMessageDetailsPercentageOffYourFoodBill? = null var happyHour:AdMessageDetailsHappyHour? = null var someFreeTablesLeftToday:AdMessageDetailsSomeFreeTablesLeftToday? = null var twoDishesForThePriceOfOne:AdMessageDetailsTwoDishesForThePriceOfOne? = null } open class BrandDto { var name:String? = null } enum class FeatureType { BarSpeciality, BarType, Cuisine, SaveFoodAndMoney, MealType, Menu, OutdoorSeating, Parking, PaymentOptions, PriceMainDish, SubCategories, SubCategoriesAndBrands, EatingSuitabilities, TakeAway, WearPriceProfile, WheelChairAccessible, Wifi, WebShop, Filtering, } enum class CategoryFacetTreeType { Parent, Selected, Available, } enum class DayOfWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, } open class WeeklyOpeningHours { var monday:OpeningHour? = null var tuesday:OpeningHour? = null var wednesday:OpeningHour? = null var thursday:OpeningHour? = null var friday:OpeningHour? = null var saturday:OpeningHour? = null var sunday:OpeningHour? = null } open class PlaceCustomBrandDto { var name:String? = null } open class AdMessageDetailsPercentageDiscountOnAllMerchandise : AdMessageDetailsBase() { var value:Double? = null } open class AdMessageDetailsPercentageDiscountRangeOnAllMerchandise : AdMessageDetailsBase() { var start:Double? = null var stop:Double? = null } open class AdMessageDetailsPercentageDiscountOnSelectedMerchandise : AdMessageDetailsBase() { var value:Double? = null } open class AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise : AdMessageDetailsBase() { var value:Double? = null } open class AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise : AdMessageDetailsBase() { var start:Double? = null var stop:Double? = null } open class AdMessageDetailsTotalAmountOverXgivesYdiscount : AdMessageDetailsBase() { var ifTotalAmountMoreThanX:Double? = null var thenYouGetDiscountPercentageY:Double? = null } open class AdMessageDetailsXforYdiscount : AdMessageDetailsBase() { var ifYouBuyX:Int? = null var thenYouGetY:Int? = null } open class AdMessageDetailsNewArrivals : AdMessageDetailsBase() { } open class AdMessageDetailsFreetext : AdMessageDetailsBase() { var title:String? = null } open class AdMessageDetailsTodaysBreakFastOffer : AdMessageDetailsBase() { var value:Double? = null } open class AdMessageDetailsTodaysLunchOffer : AdMessageDetailsBase() { var value:Double? = null } open class AdMessageDetailsTodaysDinnerOffer : AdMessageDetailsBase() { var value:Double? = null } open class AdMessageDetailsSaveFoodAndMoney : AdMessageDetailsBase() { var value:Double? = null } open class AdMessageDetailsPercentageOffYourFoodBill : AdMessageDetailsBase() { var percentage:Double? = null } open class AdMessageDetailsHappyHour : AdMessageDetailsBase() { } open class AdMessageDetailsSomeFreeTablesLeftToday : AdMessageDetailsBase() { } open class AdMessageDetailsTwoDishesForThePriceOfOne : AdMessageDetailsBase() { } open class OpeningHour { var openAtHour:Int? = null var openAtMinute:Int? = null var closeAtHour:Int? = null var closeAtMinute:Int? = null } open class AdMessageDetailsBase { var description:String? = null var moreInformation:ArrayList = ArrayList() }