/* Options: Date: 2025-12-06 07:50:07 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://business-api.brovs.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: GetAdMessagesRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/admessage/get_all", "GET") public class GetAdMessagesRequest : IReturn, IGet, IHasPlaceId, Codable { public typealias Return = GetAdMessagesResponse public var placeId:Int? public var visibilityState:VisibilityState? public var period:GetAdMessagesPeriod? required public init(){} } public class GetAdMessagesResponse : Codable { public var adMessagesWithVisibilityState:[BusinessAdMessageDto] = [] required public init(){} } public protocol IHasPlaceId { var placeId:Int? { get set } } public class AdMessageDetailsUnion : Codable { public var percentageOnAllMerchandise:AdMessageDetailsPercentageDiscountOnAllMerchandise? public var percentageRangeOnAllMerchandise:AdMessageDetailsPercentageDiscountRangeOnAllMerchandise? public var percentageOnSelectedMerchandise:AdMessageDetailsPercentageDiscountOnSelectedMerchandise? public var absoluteOnSelectedMerchandise:AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise? public var absoluteRangeOnAllMerchandise:AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise? public var totalAmountOverXgivesYdiscount:AdMessageDetailsTotalAmountOverXgivesYdiscount? public var xforY:AdMessageDetailsXforYdiscount? public var newArrivals:AdMessageDetailsNewArrivals? public var freetext:AdMessageDetailsFreetext? public var todaysBreakFastOffer:AdMessageDetailsTodaysBreakFastOffer? public var todaysLunchOffer:AdMessageDetailsTodaysLunchOffer? public var todaysDinnerOffer:AdMessageDetailsTodaysDinnerOffer? public var saveFoodAndMoney:AdMessageDetailsSaveFoodAndMoney? public var percentageOfYourFoodBill:AdMessageDetailsPercentageOffYourFoodBill? public var happyHour:AdMessageDetailsHappyHour? public var someFreeTablesLeftToday:AdMessageDetailsSomeFreeTablesLeftToday? public var twoDishesForThePriceOfOne:AdMessageDetailsTwoDishesForThePriceOfOne? required public init(){} } public class PlaceRelativeDateTimeDto : Codable { public var year:Int? public var month:Int? public var day:Int? public var hour:Int? public var minute:Int? public var second:Int? required public init(){} } public enum VisibilityState : String, Codable { case Draft case Running case Upcoming case Archived case Paused } public enum GetAdMessagesPeriod : String, Codable { case PastMonth case Past3Months case Past6Months case PastYear } public enum PriceMainDish : String, Codable { case Value case Medium case High case FineDining } public class OpeningHours : Codable { public var weekly:WeeklyOpeningHours? required public init(){} } public class PriceMainDishDto : Codable { public var title:String? public var slug:PriceMainDish? required public init(){} } public class PlaceBasicDto : Codable { public var id:Int? public var guid:String? public var name:String? public var businessId:Int? public var longitude:Float? public var latitude:Float? public var claimed:Bool? public var organizationNumber:String? public var countryCode:String? public var overview:String? public var openingHours:OpeningHours? public var placeType:PlaceType? public var contact:PlaceContact? public var address:PlaceAddress? public var wheelChairAccessible:Bool? public var wifi:Bool? public var outdoorSeating:Bool? public var saveFoodAndMoney:Bool? public var timeZoneDto:TimeZoneDto? public var priceMainDish:PriceMainDishDto? public var otherServices:[MallOtherServiceDto] = [] public var floor:String? required public init(){} } public class MallOtherServiceDto : Codable { public var id:Int? public var serviceName:String? public var floor:String? required public init(){} } public class BusinessAdMessageDto : Codable { public var id:Int? public var guid:String? public var title:String? public var startAt:PlaceRelativeDateTimeDto? public var stopAt:PlaceRelativeDateTimeDto? public var publishAt:PlaceRelativeDateTimeDto? public var state:String? public var updatedAt:Date? public var imageUrls:[ImageUrls] = [] public var place:PlaceBasicDto? public var detailsUnion:AdMessageDetailsUnion? 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 class AdMessageDetailsPercentageDiscountOnAllMerchandise : AdMessageDetailsBase { 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 AdMessageDetailsPercentageDiscountRangeOnAllMerchandise : AdMessageDetailsBase { 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 AdMessageDetailsPercentageDiscountOnSelectedMerchandise : AdMessageDetailsBase { 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 AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise : AdMessageDetailsBase { 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 AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise : AdMessageDetailsBase { 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 AdMessageDetailsTotalAmountOverXgivesYdiscount : AdMessageDetailsBase { 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 AdMessageDetailsXforYdiscount : AdMessageDetailsBase { 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 AdMessageDetailsNewArrivals : AdMessageDetailsBase { 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 AdMessageDetailsFreetext : AdMessageDetailsBase { 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 AdMessageDetailsTodaysBreakFastOffer : AdMessageDetailsBase { 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 AdMessageDetailsTodaysLunchOffer : AdMessageDetailsBase { 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 AdMessageDetailsTodaysDinnerOffer : AdMessageDetailsBase { 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 AdMessageDetailsSaveFoodAndMoney : AdMessageDetailsBase { 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 AdMessageDetailsPercentageOffYourFoodBill : AdMessageDetailsBase { 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 AdMessageDetailsHappyHour : AdMessageDetailsBase { 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 AdMessageDetailsSomeFreeTablesLeftToday : AdMessageDetailsBase { 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 AdMessageDetailsTwoDishesForThePriceOfOne : AdMessageDetailsBase { 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 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 enum PlaceType : String, Codable { case Mall case Regular } 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 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 AdMessageDetailsBase : Codable { public var Description:String? public var moreInformation:[String] = [] required public init(){} } public class OpeningHour : Codable { public var openAtHour:Int? public var openAtMinute:Int? public var closeAtHour:Int? public var closeAtMinute:Int? required public init(){} }