ConsumerApi

<back to all web services

FindAvailableFilterRequest

Consumer
Requires Authentication
Required role:Consumer
The following routes are available for this service:
GET/find/filtering
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 BarTypeEsDto() = 
        member val Slug:String = null with get,set
        member val Title:String = null with get,set

    [<AllowNullLiteral>]
    type BarSpecialityEsDto() = 
        member val Slug:String = null with get,set
        member val Title:String = null with get,set

    [<AllowNullLiteral>]
    type BrandApiDto() = 
        member val Name:String = null with get,set

    [<AllowNullLiteral>]
    type CuisineEsDto() = 
        member val Label:String = null with get,set
        member val Slug:String = null with get,set

    [<AllowNullLiteral>]
    type MealTypeApiDto() = 
        member val Label:String = null with get,set
        member val Slug:String = null with get,set

    [<AllowNullLiteral>]
    type EatingSuitabilityApiDto() = 
        member val Label:String = null with get,set
        member val Slug:String = null with get,set

    [<AllowNullLiteral>]
    type ParkingApiDto() = 
        member val Label:String = null with get,set
        member val Slug:Parking = new Parking() with get,set

    [<AllowNullLiteral>]
    type PaymentOptionApiDto() = 
        member val Label:String = null with get,set
        member val Slug:PaymentOption = new PaymentOption() with get,set

    [<AllowNullLiteral>]
    type PriceMainDishApiDto() = 
        member val Title:String = null with get,set
        member val Slug:PriceMainDish = new PriceMainDish() with get,set

    [<AllowNullLiteral>]
    type TakeAwayApiDto() = 
        member val Label:String = null with get,set
        member val Slug:String = null with get,set

    [<AllowNullLiteral>]
    type WearPriceProfileEsDto() = 
        member val Slug:String = null with get,set
        member val Label:String = null 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

F# FindAvailableFilterRequest 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 /find/filtering HTTP/1.1 
Host: unstable-consumer-api.brovs.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	barTypes: 
	[
		{
			count: 0,
			slug: String,
			title: String
		}
	],
	barSpecialities: 
	[
		{
			count: 0,
			slug: String,
			title: String
		}
	],
	brands: 
	[
		{
			count: 0,
			name: String
		}
	],
	cuisines: 
	[
		{
			count: 0,
			label: String,
			slug: String
		}
	],
	mealType: 
	[
		{
			count: 0,
			label: String,
			slug: String
		}
	],
	eatingSuitabilities: 
	[
		{
			count: 0,
			label: String,
			slug: String
		}
	],
	parkings: 
	[
		{
			count: 0,
			label: String,
			slug: StreetParking
		}
	],
	paymentOptions: 
	[
		{
			count: 0,
			label: String,
			slug: Visa
		}
	],
	priceMainDishes: 
	[
		{
			count: 0,
			title: String,
			slug: Value
		}
	],
	takeAways: 
	[
		{
			count: 0,
			label: String,
			slug: String
		}
	],
	wearPriceProfiles: 
	[
		{
			count: 0,
			slug: String,
			label: String
		}
	],
	categories: 
	[
		{
			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
						}
					]
				}
			]
		}
	]
}