Required role: | Consumer |
namespace ConsumerApi
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type Parking =
| StreetParking = 0
| ParkingGarageNearby = 1
type PaymentOption =
| Visa = 0
| MasterCard = 1
| AmericanExpress = 2
| Diners = 3
| Vipps = 4
type PriceMainDish =
| Value = 0
| Medium = 1
| High = 2
| FineDining = 3
type DayOfWeek =
| Sunday = 0
| Monday = 1
| Tuesday = 2
| Wednesday = 3
| Thursday = 4
| Friday = 5
| Saturday = 6
[<AllowNullLiteral>]
type OpenAtTimeDto() =
member val WeekDay:DayOfWeek = new DayOfWeek() with get,set
member val Hour:Int32 = new Int32() with get,set
member val Minute:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type ImageUrls() =
member val Preview:String = null with get,set
member val Small:String = null with get,set
member val Medium:String = null with get,set
member val Large:String = null with get,set
[<AllowNullLiteral>]
type OpeningHour() =
member val OpenAtHour:Int32 = new Int32() with get,set
member val OpenAtMinute:Int32 = new Int32() with get,set
member val CloseAtHour:Int32 = new Int32() with get,set
member val CloseAtMinute:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type WeeklyOpeningHours() =
member val Monday:OpeningHour = null with get,set
member val Tuesday:OpeningHour = null with get,set
member val Wednesday:OpeningHour = null with get,set
member val Thursday:OpeningHour = null with get,set
member val Friday:OpeningHour = null with get,set
member val Saturday:OpeningHour = null with get,set
member val Sunday:OpeningHour = null with get,set
[<AllowNullLiteral>]
type OpeningHours() =
member val Weekly:WeeklyOpeningHours = null with get,set
type PlaceType =
| Mall = 0
| Regular = 1
[<AllowNullLiteral>]
type PriceMainDishApiDto() =
member val Title:String = null with get,set
member val Slug:PriceMainDish = new PriceMainDish() with get,set
[<AllowNullLiteral>]
type TimeZoneDto() =
member val BaseUtcOffset:TimeSpan = new TimeSpan() with get,set
member val DaylightName:String = null with get,set
member val DisplayName:String = null with get,set
member val Id:String = null with get,set
member val StandardName:String = null with get,set
member val SupportsDaylightSavingTime:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type PlaceContact() =
member val Phone:String = null with get,set
member val Email:String = null with get,set
member val Website:String = null with get,set
member val WebShop:String = null with get,set
[<AllowNullLiteral>]
type PlaceAddress() =
member val Street:String = null with get,set
member val PostalCode:String = null with get,set
member val Region:String = null with get,set
member val CountryCode:String = null with get,set
[<AllowNullLiteral>]
type CategoryTreeApiDto() =
member val Name:String = null with get,set
member val Slug:String = null with get,set
member val AbsoluteSlug:String = null with get,set
member val ImageUrl:String = null with get,set
member val AllImageUrl:String = null with get,set
member val IconImageUrl:String = null with get,set
member val Position:Int32 = new Int32() with get,set
member val Children:ResizeArray<CategoryTreeApiDto> = new ResizeArray<CategoryTreeApiDto>() with get,set
[<AllowNullLiteral>]
type WearPriceProfileEsDto() =
member val Slug:String = null with get,set
member val Label:String = null with get,set
[<AllowNullLiteral>]
type BrandApiDto() =
member val Name:String = null with get,set
[<AllowNullLiteral>]
type PlaceCustomBrandApiDto() =
member val Name:String = null with get,set
[<AllowNullLiteral>]
type PlaceSelectedBrandApiDto() =
member val Brand:BrandApiDto = null with get,set
member val CategoryAbsoluteSlugs:String[] = [||] with get,set
member val PlaceCustomBrand:PlaceCustomBrandApiDto = null with get,set
[<AllowNullLiteral>]
type PlaceBasicApiDto() =
member val Id:Int64 = new Int64() with get,set
member val Guid:Guid = new Guid() with get,set
member val Overview:String = null with get,set
member val Name:String = null with get,set
member val Longitude:Single = new Single() with get,set
member val Latitude:Single = new Single() with get,set
member val Claimed:Boolean = new Boolean() with get,set
member val OrganizationNumber:String = null with get,set
member val CountryCode:String = null with get,set
member val OpeningHours:OpeningHours = null with get,set
member val WheelchairAccessible:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val Wifi:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val OutdoorSeating:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val SaveFoodAndMoney:Nullable<Boolean> = new Nullable<Boolean>() with get,set
member val PlaceType:PlaceType = new PlaceType() with get,set
member val PriceMainDish:PriceMainDishApiDto = null with get,set
member val TimeZoneDto:TimeZoneDto = null with get,set
member val BusinessId:Nullable<Int64> = new Nullable<Int64>() with get,set
member val Contact:PlaceContact = null with get,set
member val Address:PlaceAddress = null with get,set
member val Categories:ResizeArray<CategoryTreeApiDto> = new ResizeArray<CategoryTreeApiDto>() with get,set
member val LogoUrl:ImageUrls = null with get,set
member val ImageUrl:ImageUrls = null with get,set
member val WearPriceProfiles:ResizeArray<WearPriceProfileEsDto> = new ResizeArray<WearPriceProfileEsDto>() with get,set
member val Brands:ResizeArray<PlaceSelectedBrandApiDto> = new ResizeArray<PlaceSelectedBrandApiDto>() with get,set
member val Floor:String = null with get,set
[<AllowNullLiteral>]
type AdMessageDetailsBase() =
member val Description:String = null with get,set
member val MoreInformation:ResizeArray<String> = new ResizeArray<String>() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsPercentageDiscountOnAllMerchandise() =
inherit AdMessageDetailsBase()
member val Value:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsPercentageDiscountRangeOnAllMerchandise() =
inherit AdMessageDetailsBase()
member val Start:Double = new Double() with get,set
member val Stop:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsPercentageDiscountOnSelectedMerchandise() =
inherit AdMessageDetailsBase()
member val Value:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise() =
inherit AdMessageDetailsBase()
member val Value:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise() =
inherit AdMessageDetailsBase()
member val Start:Double = new Double() with get,set
member val Stop:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsTotalAmountOverXgivesYdiscount() =
inherit AdMessageDetailsBase()
member val IfTotalAmountMoreThanX:Double = new Double() with get,set
member val ThenYouGetDiscountPercentageY:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsXforYdiscount() =
inherit AdMessageDetailsBase()
member val IfYouBuyX:Int32 = new Int32() with get,set
member val ThenYouGetY:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsNewArrivals() =
inherit AdMessageDetailsBase()
[<AllowNullLiteral>]
type AdMessageDetailsFreetext() =
inherit AdMessageDetailsBase()
member val Title:String = null with get,set
[<AllowNullLiteral>]
type AdMessageDetailsTodaysBreakFastOffer() =
inherit AdMessageDetailsBase()
member val Value:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsTodaysLunchOffer() =
inherit AdMessageDetailsBase()
member val Value:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsTodaysDinnerOffer() =
inherit AdMessageDetailsBase()
member val Value:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsSaveFoodAndMoney() =
inherit AdMessageDetailsBase()
member val Value:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsPercentageOffYourFoodBill() =
inherit AdMessageDetailsBase()
member val Percentage:Double = new Double() with get,set
[<AllowNullLiteral>]
type AdMessageDetailsHappyHour() =
inherit AdMessageDetailsBase()
[<AllowNullLiteral>]
type AdMessageDetailsSomeFreeTablesLeftToday() =
inherit AdMessageDetailsBase()
[<AllowNullLiteral>]
type AdMessageDetailsTwoDishesForThePriceOfOne() =
inherit AdMessageDetailsBase()
[<AllowNullLiteral>]
type AdMessageDetailsUnion() =
member val PercentageOnAllMerchandise:AdMessageDetailsPercentageDiscountOnAllMerchandise = null with get,set
member val PercentageRangeOnAllMerchandise:AdMessageDetailsPercentageDiscountRangeOnAllMerchandise = null with get,set
member val PercentageOnSelectedMerchandise:AdMessageDetailsPercentageDiscountOnSelectedMerchandise = null with get,set
member val AbsoluteOnSelectedMerchandise:AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise = null with get,set
member val AbsoluteRangeOnAllMerchandise:AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise = null with get,set
member val TotalAmountOverXgivesYdiscount:AdMessageDetailsTotalAmountOverXgivesYdiscount = null with get,set
member val XforY:AdMessageDetailsXforYdiscount = null with get,set
member val NewArrivals:AdMessageDetailsNewArrivals = null with get,set
member val Freetext:AdMessageDetailsFreetext = null with get,set
member val TodaysBreakFastOffer:AdMessageDetailsTodaysBreakFastOffer = null with get,set
member val TodaysLunchOffer:AdMessageDetailsTodaysLunchOffer = null with get,set
member val TodaysDinnerOffer:AdMessageDetailsTodaysDinnerOffer = null with get,set
member val SaveFoodAndMoney:AdMessageDetailsSaveFoodAndMoney = null with get,set
member val PercentageOfYourFoodBill:AdMessageDetailsPercentageOffYourFoodBill = null with get,set
member val HappyHour:AdMessageDetailsHappyHour = null with get,set
member val SomeFreeTablesLeftToday:AdMessageDetailsSomeFreeTablesLeftToday = null with get,set
member val TwoDishesForThePriceOfOne:AdMessageDetailsTwoDishesForThePriceOfOne = null with get,set
[<AllowNullLiteral>]
type AdMessageDto() =
member val Id:Int64 = new Int64() with get,set
member val Guid:Guid = new Guid() with get,set
member val Title:String = null with get,set
member val StartAt:DateTimeOffset = new DateTimeOffset() with get,set
member val StopAt:DateTimeOffset = new DateTimeOffset() with get,set
member val PublishAt:DateTimeOffset = new DateTimeOffset() with get,set
member val ImageUrls:ResizeArray<ImageUrls> = new ResizeArray<ImageUrls>() with get,set
member val Place:PlaceBasicApiDto = null with get,set
member val DetailsUnion:AdMessageDetailsUnion = null with get,set
member val StarredCount:Int64 = new Int64() with get,set
type FeatureType =
| BarSpeciality = 0
| BarType = 1
| Cuisine = 2
| SaveFoodAndMoney = 3
| MealType = 4
| Menu = 5
| OutdoorSeating = 6
| Parking = 7
| PaymentOptions = 8
| PriceMainDish = 9
| SubCategories = 10
| SubCategoriesAndBrands = 11
| EatingSuitabilities = 12
| TakeAway = 13
| WearPriceProfile = 14
| WheelChairAccessible = 15
| Wifi = 16
| WebShop = 17
| Filtering = 18
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/FindAdMessageRequest HTTP/1.1
Host: unstable-consumer-api.brovs.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"offset":0,"size":0,"resultAt":"0001-01-01T00:00:00.0000000Z","filter":{"term":"String","placeGuid":"00000000-0000-0000-0000-000000000000","adMessageGuid":"00000000-0000-0000-0000-000000000000","categoryAbsoluteSlugs":["String"],"barSpecialitySlugs":["String"],"barTypeSlugs":["String"],"brandNames":["String"],"cuisineSlugs":["String"],"mealTypeSlugs":["String"],"parking":["StreetParking"],"paymentOptions":["Visa"],"priceMainDishes":["Value"],"eatingSuitabilitySlugs":["String"],"takeAwaySlugs":["String"],"wearPriceProfileSlugs":["String"],"wheelChairAccessible":false,"wifi":false,"outdoorSeating":false,"saveFoodAndMoney":false,"openAt":{"weekDay":"Sunday","hour":0,"minute":0}},"location":{"longitude":0,"latitude":0,"searchRadiusInKm":0},"cacheVersion":0}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"adMessages":[{"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}],"adMessageCount":0,"adMessageSaveFoodAndMoneyCount":0,"resultAt":"0001-01-01T00:00:00.0000000Z","categoryFacetTrees":[{"name":"String","slug":"String","absoluteSlug":"String","featureTypes":["BarSpeciality"],"type":"Parent","count":0,"imageUrl":"String","allImageUrl":"String","iconImageUrl":"String","position":0,"children":[{"name":"String","slug":"String","absoluteSlug":"String","featureTypes":["BarSpeciality"],"type":"Parent","count":0,"imageUrl":"String","allImageUrl":"String","iconImageUrl":"String","position":0,"children":[{"name":"String","slug":"String","absoluteSlug":"String","featureTypes":["BarSpeciality"],"type":"Parent","count":0,"imageUrl":"String","allImageUrl":"String","iconImageUrl":"String","position":0}]}]}]}