/* Options: Date: 2026-02-05 06:47:05 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://unstable-consumer-api.brovs.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: FindBoundedMapAdsRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack public class FindBoundedMapAdsRequest : IReturn, IGet, IPost, ICacheable, Codable { public typealias Return = FindBoundedMapAdsResponse public var cacheVersion:Int? public var filter:QueryFilterDto? public var bounds:MapBoundsDto? required public init(){} } public class FindBoundedMapAdsResponse : Codable { public var clusters:[FindBoundedMapPinCluster] = [] public var adsWithDisplayLocation:[AdWithDisplayLocationDto] = [] public var categoryFacetTrees:[CategoryFacetTreeDto] = [] public var placeCount:Int? public var adSaveFoodAndMoneyCount:Int? required public init(){} } public class QueryFilterDto : Codable { public var term:String? public var placeGuid:String? public var adGuid:String? public var categoryAbsoluteSlugs:[String] = [] public var barSpecialitySlugs:[String] = [] public var barTypeSlugs:[String] = [] public var brandNames:[String] = [] public var cuisineSlugs:[String] = [] public var mealTypeSlugs:[String] = [] public var parking:[Parking] = [] public var paymentOptions:[PaymentOption] = [] public var priceMainDishes:[PriceMainDish] = [] public var eatingSuitabilitySlugs:[String] = [] public var takeAwaySlugs:[String] = [] public var wearPriceProfileSlugs:[String] = [] public var wheelChairAccessible:Bool? public var wifi:Bool? public var outdoorSeating:Bool? public var saveFoodAndMoney:Bool? public var openAt:OpenAtTimeDto? required public init(){} } public protocol ICacheable { var cacheVersion:Int? { get set } } public class MapBoundsDto : Codable { public var north:Float? public var south:Float? public var east:Float? public var west:Float? public var clusterZoomLevel:Int? required public init(){} } public class AdDto : Codable { public var id:Int? public var guid:String? public var title:String? public var startAt:Date? public var stopAt:Date? public var publishAt:Date? public var imageUrls:[ImageUrls] = [] public var place:PlaceBasicApiDto? public var detailsUnion:AdDetailsUnion? public var starredCount:Int? required public init(){} } public class CategoryFacetTreeDto : Codable { public var name:String? public var slug:String? public var absoluteSlug:String? public var featureTypes:[FeatureType] = [] public var type:CategoryFacetTreeType? public var count:Int? public var imageUrl:String? public var allImageUrl:String? public var iconImageUrl:String? public var position:Int? public var children:[CategoryFacetTreeDto] = [] required public init(){} } public class FindBoundedMapPinCluster : Codable { public var count:Int? public var latitude:Float? public var longitude:Float? required public init(){} } public class AdWithDisplayLocationDto : Codable { public var ad:AdDto? public var crowdedMapDisplayLocation:Position? required public init(){} } public class PlaceBasicApiDto : Codable { public var id:Int? public var guid:String? public var overview:String? public var name:String? public var longitude:Float? public var latitude:Float? public var claimed:Bool? public var organizationNumber:String? public var countryCode:String? public var openingHours:OpeningHours? public var wheelchairAccessible:Bool? public var wifi:Bool? public var outdoorSeating:Bool? public var saveFoodAndMoney:Bool? public var placeType:PlaceType? public var priceMainDish:PriceMainDishApiDto? public var timeZoneDto:TimeZoneDto? public var businessId:Int? public var contact:PlaceContact? public var address:PlaceAddress? public var categories:[CategoryTreeApiDto] = [] public var logoUrl:ImageUrls? public var imageUrl:ImageUrls? public var wearPriceProfiles:[WearPriceProfileEsDto] = [] public var brands:[PlaceSelectedBrandApiDto] = [] public var floor:String? required public init(){} } public enum Parking : String, Codable { case StreetParking case ParkingGarageNearby } public enum PaymentOption : String, Codable { case Visa case MasterCard case AmericanExpress case Diners case Vipps } public enum PriceMainDish : String, Codable { case Value case Medium case High case FineDining } public class OpenAtTimeDto : Codable { public var weekDay:DayOfWeek? public var hour:Int? public var minute:Int? required public init(){} } public class OpeningHours : Codable { public var weekly:WeeklyOpeningHours? required public init(){} } public class CategoryTreeApiDto : Codable { public var name:String? public var slug:String? public var absoluteSlug:String? public var imageUrl:String? public var allImageUrl:String? public var iconImageUrl:String? public var position:Int? public var children:[CategoryTreeApiDto] = [] required public init(){} } public class PlaceSelectedBrandApiDto : Codable { public var brand:BrandApiDto? public var categoryAbsoluteSlugs:[String] = [] public var placeCustomBrand:PlaceCustomBrandApiDto? required public init(){} } public class WearPriceProfileEsDto : Codable { public var slug:String? public var label:String? required public init(){} } public class ImageUrls : Codable { public var preview:String? public var small:String? public var medium:String? public var large:String? required public init(){} } public enum PlaceType : String, Codable { case Mall case Regular } public class PriceMainDishApiDto : Codable { public var title:String? public var slug:PriceMainDish? required public init(){} } public class TimeZoneDto : Codable { @TimeSpan public var baseUtcOffset:TimeInterval? public var daylightName:String? public var displayName:String? public var id:String? public var standardName:String? public var supportsDaylightSavingTime:Bool? required public init(){} } public class PlaceContact : Codable { public var phone:String? public var email:String? public var website:String? public var webShop:String? required public init(){} } public class PlaceAddress : Codable { public var street:String? public var postalCode:String? public var region:String? public var countryCode:String? required public init(){} } public class AdDetailsUnion : Codable { public var percentageOnAllMerchandise:AdDetailsPercentageDiscountOnAllMerchandise? public var percentageRangeOnAllMerchandise:AdDetailsPercentageDiscountRangeOnAllMerchandise? public var percentageOnSelectedMerchandise:AdDetailsPercentageDiscountOnSelectedMerchandise? public var absoluteOnSelectedMerchandise:AdDetailsAbsoluteDiscountOnSelectedMerchandise? public var absoluteRangeOnAllMerchandise:AdDetailsAbsoluteDiscountRangeOnAllMerchandise? public var totalAmountOverXgivesYdiscount:AdDetailsTotalAmountOverXgivesYdiscount? public var xforY:AdDetailsXforYdiscount? public var newArrivals:AdDetailsNewArrivals? public var freetext:AdDetailsFreetext? public var todaysBreakFastOffer:AdDetailsTodaysBreakFastOffer? public var todaysLunchOffer:AdDetailsTodaysLunchOffer? public var todaysDinnerOffer:AdDetailsTodaysDinnerOffer? public var saveFoodAndMoney:AdDetailsSaveFoodAndMoney? public var percentageOfYourFoodBill:AdDetailsPercentageOffYourFoodBill? public var happyHour:AdDetailsHappyHour? public var someFreeTablesLeftToday:AdDetailsSomeFreeTablesLeftToday? public var twoDishesForThePriceOfOne:AdDetailsTwoDishesForThePriceOfOne? required public init(){} } public class BrandApiDto : Codable { public var name:String? required public init(){} } public enum FeatureType : String, Codable { case BarSpeciality case BarType case Cuisine case SaveFoodAndMoney case MealType case Menu case OutdoorSeating case Parking case PaymentOptions case PriceMainDish case SubCategories case SubCategoriesAndBrands case EatingSuitabilities case TakeAway case WearPriceProfile case WheelChairAccessible case Wifi case WebShop case Filtering } public enum CategoryFacetTreeType : String, Codable { case Parent case Selected case Available } public class Position : Codable { public var longitude:Float? public var latitude:Float? required public init(){} } public enum DayOfWeek : String, Codable { case Sunday case Monday case Tuesday case Wednesday case Thursday case Friday case Saturday } public class WeeklyOpeningHours : Codable { public var monday:OpeningHour? public var tuesday:OpeningHour? public var wednesday:OpeningHour? public var thursday:OpeningHour? public var friday:OpeningHour? public var saturday:OpeningHour? public var sunday:OpeningHour? required public init(){} } public class PlaceCustomBrandApiDto : Codable { public var name:String? required public init(){} } public class AdDetailsPercentageDiscountOnAllMerchandise : AdDetailsBase { public var value:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case value } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) value = try container.decodeIfPresent(Double.self, forKey: .value) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if value != nil { try container.encode(value, forKey: .value) } } } public class AdDetailsPercentageDiscountRangeOnAllMerchandise : AdDetailsBase { public var start:Double? public var stop:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case start case stop } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) start = try container.decodeIfPresent(Double.self, forKey: .start) stop = try container.decodeIfPresent(Double.self, forKey: .stop) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if start != nil { try container.encode(start, forKey: .start) } if stop != nil { try container.encode(stop, forKey: .stop) } } } public class AdDetailsPercentageDiscountOnSelectedMerchandise : AdDetailsBase { public var value:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case value } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) value = try container.decodeIfPresent(Double.self, forKey: .value) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if value != nil { try container.encode(value, forKey: .value) } } } public class AdDetailsAbsoluteDiscountOnSelectedMerchandise : AdDetailsBase { public var value:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case value } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) value = try container.decodeIfPresent(Double.self, forKey: .value) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if value != nil { try container.encode(value, forKey: .value) } } } public class AdDetailsAbsoluteDiscountRangeOnAllMerchandise : AdDetailsBase { public var start:Double? public var stop:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case start case stop } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) start = try container.decodeIfPresent(Double.self, forKey: .start) stop = try container.decodeIfPresent(Double.self, forKey: .stop) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if start != nil { try container.encode(start, forKey: .start) } if stop != nil { try container.encode(stop, forKey: .stop) } } } public class AdDetailsTotalAmountOverXgivesYdiscount : AdDetailsBase { public var ifTotalAmountMoreThanX:Double? public var thenYouGetDiscountPercentageY:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case ifTotalAmountMoreThanX case thenYouGetDiscountPercentageY } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) ifTotalAmountMoreThanX = try container.decodeIfPresent(Double.self, forKey: .ifTotalAmountMoreThanX) thenYouGetDiscountPercentageY = try container.decodeIfPresent(Double.self, forKey: .thenYouGetDiscountPercentageY) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if ifTotalAmountMoreThanX != nil { try container.encode(ifTotalAmountMoreThanX, forKey: .ifTotalAmountMoreThanX) } if thenYouGetDiscountPercentageY != nil { try container.encode(thenYouGetDiscountPercentageY, forKey: .thenYouGetDiscountPercentageY) } } } public class AdDetailsXforYdiscount : AdDetailsBase { public var ifYouBuyX:Int? public var thenYouGetY:Int? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case ifYouBuyX case thenYouGetY } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) ifYouBuyX = try container.decodeIfPresent(Int.self, forKey: .ifYouBuyX) thenYouGetY = try container.decodeIfPresent(Int.self, forKey: .thenYouGetY) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if ifYouBuyX != nil { try container.encode(ifYouBuyX, forKey: .ifYouBuyX) } if thenYouGetY != nil { try container.encode(thenYouGetY, forKey: .thenYouGetY) } } } public class AdDetailsNewArrivals : AdDetailsBase { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class AdDetailsFreetext : AdDetailsBase { public var title:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case title } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) title = try container.decodeIfPresent(String.self, forKey: .title) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if title != nil { try container.encode(title, forKey: .title) } } } public class AdDetailsTodaysBreakFastOffer : AdDetailsBase { public var value:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case value } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) value = try container.decodeIfPresent(Double.self, forKey: .value) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if value != nil { try container.encode(value, forKey: .value) } } } public class AdDetailsTodaysLunchOffer : AdDetailsBase { public var value:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case value } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) value = try container.decodeIfPresent(Double.self, forKey: .value) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if value != nil { try container.encode(value, forKey: .value) } } } public class AdDetailsTodaysDinnerOffer : AdDetailsBase { public var value:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case value } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) value = try container.decodeIfPresent(Double.self, forKey: .value) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if value != nil { try container.encode(value, forKey: .value) } } } public class AdDetailsSaveFoodAndMoney : AdDetailsBase { public var value:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case value } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) value = try container.decodeIfPresent(Double.self, forKey: .value) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if value != nil { try container.encode(value, forKey: .value) } } } public class AdDetailsPercentageOffYourFoodBill : AdDetailsBase { public var percentage:Double? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case percentage } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) percentage = try container.decodeIfPresent(Double.self, forKey: .percentage) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if percentage != nil { try container.encode(percentage, forKey: .percentage) } } } public class AdDetailsHappyHour : AdDetailsBase { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class AdDetailsSomeFreeTablesLeftToday : AdDetailsBase { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class AdDetailsTwoDishesForThePriceOfOne : AdDetailsBase { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class OpeningHour : Codable { public var openAtHour:Int? public var openAtMinute:Int? public var closeAtHour:Int? public var closeAtMinute:Int? required public init(){} } public class AdDetailsBase : Codable { public var Description:String? public var moreInformation:[String] = [] required public init(){} }