ConsumerApi

<back to all web services

GetStarredAdMessageListRequest

Consumer
Requires Authentication
Required role:Consumer
The following routes are available for this service:
GET/admessage/GetStarredAdMessageList
import Foundation
import ServiceStack

public class AdMessageDto : 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:AdMessageDetailsUnion
    public var starredCount:Int

    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 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 class OpeningHours : Codable
{
    public var weekly:WeeklyOpeningHours

    required public init(){}
}

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 OpeningHour : Codable
{
    public var openAtHour:Int
    public var openAtMinute:Int
    public var closeAtHour:Int
    public var closeAtMinute:Int

    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 enum PriceMainDish : String, Codable
{
    case Value
    case Medium
    case High
    case FineDining
}

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 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 WearPriceProfileEsDto : Codable
{
    public var slug:String
    public var label:String

    required public init(){}
}

public class PlaceSelectedBrandApiDto : Codable
{
    public var brand:BrandApiDto
    public var categoryAbsoluteSlugs:[String] = []
    public var placeCustomBrand:PlaceCustomBrandApiDto

    required public init(){}
}

public class BrandApiDto : Codable
{
    public var name:String

    required public init(){}
}

public class PlaceCustomBrandApiDto : Codable
{
    public var name:String

    required public init(){}
}

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 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 AdMessageDetailsBase : Codable
{
    public var Description:String
    public var moreInformation:[String] = []

    required public init(){}
}

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)
    }
}


Swift GetStarredAdMessageListRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /admessage/GetStarredAdMessageList HTTP/1.1 
Host: unstable-consumer-api.brovs.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	starredList: 
	[
		{
			adMessage: 
			{
				id: 0,
				title: String,
				startAt: 0001-01-01T00:00:00.0000000+00:00,
				stopAt: 0001-01-01T00:00:00.0000000+00:00,
				publishAt: 0001-01-01T00:00:00.0000000+00:00,
				imageUrls: 
				[
					{
						preview: String,
						small: String,
						medium: String,
						large: String
					}
				],
				place: 
				{
					id: 0,
					overview: String,
					name: String,
					longitude: 0,
					latitude: 0,
					claimed: False,
					organizationNumber: String,
					countryCode: String,
					openingHours: 
					{
						weekly: 
						{
							monday: 
							{
								openAtHour: 0,
								openAtMinute: 0,
								closeAtHour: 0,
								closeAtMinute: 0
							},
							tuesday: 
							{
								openAtHour: 0,
								openAtMinute: 0,
								closeAtHour: 0,
								closeAtMinute: 0
							},
							wednesday: 
							{
								openAtHour: 0,
								openAtMinute: 0,
								closeAtHour: 0,
								closeAtMinute: 0
							},
							thursday: 
							{
								openAtHour: 0,
								openAtMinute: 0,
								closeAtHour: 0,
								closeAtMinute: 0
							},
							friday: 
							{
								openAtHour: 0,
								openAtMinute: 0,
								closeAtHour: 0,
								closeAtMinute: 0
							},
							saturday: 
							{
								openAtHour: 0,
								openAtMinute: 0,
								closeAtHour: 0,
								closeAtMinute: 0
							},
							sunday: 
							{
								openAtHour: 0,
								openAtMinute: 0,
								closeAtHour: 0,
								closeAtMinute: 0
							}
						}
					},
					wheelchairAccessible: False,
					wifi: False,
					outdoorSeating: False,
					saveFoodAndMoney: False,
					placeType: Mall,
					priceMainDish: 
					{
						title: String,
						slug: Value
					},
					timeZoneDto: 
					{
						baseUtcOffset: PT0S,
						daylightName: String,
						displayName: String,
						id: String,
						standardName: String,
						supportsDaylightSavingTime: False
					},
					businessId: 0,
					contact: 
					{
						phone: String,
						email: String,
						website: String,
						webShop: String
					},
					address: 
					{
						street: String,
						postalCode: String,
						region: String,
						countryCode: String
					},
					categories: 
					[
						{
							name: String,
							slug: String,
							absoluteSlug: String,
							imageUrl: String,
							allImageUrl: String,
							iconImageUrl: String,
							position: 0,
							children: 
							[
								{
									name: String,
									slug: String,
									absoluteSlug: String,
									imageUrl: String,
									allImageUrl: String,
									iconImageUrl: String,
									position: 0,
									children: 
									[
										{
											name: String,
											slug: String,
											absoluteSlug: String,
											imageUrl: String,
											allImageUrl: String,
											iconImageUrl: String,
											position: 0
										}
									]
								}
							]
						}
					],
					logoUrl: 
					{
						preview: String,
						small: String,
						medium: String,
						large: String
					},
					imageUrl: 
					{
						preview: String,
						small: String,
						medium: String,
						large: String
					},
					wearPriceProfiles: 
					[
						{
							slug: String,
							label: String
						}
					],
					brands: 
					[
						{
							brand: 
							{
								name: String
							},
							categoryAbsoluteSlugs: 
							[
								String
							],
							placeCustomBrand: 
							{
								name: String
							}
						}
					],
					floor: String
				},
				detailsUnion: 
				{
					percentageOnAllMerchandise: 
					{
						value: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					percentageRangeOnAllMerchandise: 
					{
						start: 0,
						stop: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					percentageOnSelectedMerchandise: 
					{
						value: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					absoluteOnSelectedMerchandise: 
					{
						value: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					absoluteRangeOnAllMerchandise: 
					{
						start: 0,
						stop: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					totalAmountOverXgivesYdiscount: 
					{
						ifTotalAmountMoreThanX: 0,
						thenYouGetDiscountPercentageY: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					xforY: 
					{
						ifYouBuyX: 0,
						thenYouGetY: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					newArrivals: 
					{
						description: String,
						moreInformation: 
						[
							String
						]
					},
					freetext: 
					{
						title: String,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					todaysBreakFastOffer: 
					{
						value: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					todaysLunchOffer: 
					{
						value: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					todaysDinnerOffer: 
					{
						value: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					saveFoodAndMoney: 
					{
						value: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					percentageOfYourFoodBill: 
					{
						percentage: 0,
						description: String,
						moreInformation: 
						[
							String
						]
					},
					happyHour: 
					{
						description: String,
						moreInformation: 
						[
							String
						]
					},
					someFreeTablesLeftToday: 
					{
						description: String,
						moreInformation: 
						[
							String
						]
					},
					twoDishesForThePriceOfOne: 
					{
						description: String,
						moreInformation: 
						[
							String
						]
					}
				},
				starredCount: 0
			}
		}
	]
}