ConsumerApi

<back to all web services

GetPlaceRequest

Consumer
Requires Authentication
Required role:Consumer
The following routes are available for this service:
GET/place/GetPlace

library ConsumerApi;
import 'package:servicestack/servicestack.dart';

class OpeningHour implements IConvertible
{
    int? openAtHour;
    int? openAtMinute;
    int? closeAtHour;
    int? closeAtMinute;

    OpeningHour({this.openAtHour,this.openAtMinute,this.closeAtHour,this.closeAtMinute});
    OpeningHour.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        openAtHour = json['openAtHour'];
        openAtMinute = json['openAtMinute'];
        closeAtHour = json['closeAtHour'];
        closeAtMinute = json['closeAtMinute'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'openAtHour': openAtHour,
        'openAtMinute': openAtMinute,
        'closeAtHour': closeAtHour,
        'closeAtMinute': closeAtMinute
    };

    getTypeName() => "OpeningHour";
    TypeContext? context = _ctx;
}

class WeeklyOpeningHours implements IConvertible
{
    OpeningHour? monday;
    OpeningHour? tuesday;
    OpeningHour? wednesday;
    OpeningHour? thursday;
    OpeningHour? friday;
    OpeningHour? saturday;
    OpeningHour? sunday;

    WeeklyOpeningHours({this.monday,this.tuesday,this.wednesday,this.thursday,this.friday,this.saturday,this.sunday});
    WeeklyOpeningHours.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        monday = JsonConverters.fromJson(json['monday'],'OpeningHour',context!);
        tuesday = JsonConverters.fromJson(json['tuesday'],'OpeningHour',context!);
        wednesday = JsonConverters.fromJson(json['wednesday'],'OpeningHour',context!);
        thursday = JsonConverters.fromJson(json['thursday'],'OpeningHour',context!);
        friday = JsonConverters.fromJson(json['friday'],'OpeningHour',context!);
        saturday = JsonConverters.fromJson(json['saturday'],'OpeningHour',context!);
        sunday = JsonConverters.fromJson(json['sunday'],'OpeningHour',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'monday': JsonConverters.toJson(monday,'OpeningHour',context!),
        'tuesday': JsonConverters.toJson(tuesday,'OpeningHour',context!),
        'wednesday': JsonConverters.toJson(wednesday,'OpeningHour',context!),
        'thursday': JsonConverters.toJson(thursday,'OpeningHour',context!),
        'friday': JsonConverters.toJson(friday,'OpeningHour',context!),
        'saturday': JsonConverters.toJson(saturday,'OpeningHour',context!),
        'sunday': JsonConverters.toJson(sunday,'OpeningHour',context!)
    };

    getTypeName() => "WeeklyOpeningHours";
    TypeContext? context = _ctx;
}

class OpeningHours implements IConvertible
{
    WeeklyOpeningHours? weekly;

    OpeningHours({this.weekly});
    OpeningHours.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        weekly = JsonConverters.fromJson(json['weekly'],'WeeklyOpeningHours',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'weekly': JsonConverters.toJson(weekly,'WeeklyOpeningHours',context!)
    };

    getTypeName() => "OpeningHours";
    TypeContext? context = _ctx;
}

class CategoryTreeApiDto implements IConvertible
{
    String? name;
    String? slug;
    String? absoluteSlug;
    String? imageUrl;
    String? allImageUrl;
    String? iconImageUrl;
    int? position;
    List<CategoryTreeApiDto>? children = [];

    CategoryTreeApiDto({this.name,this.slug,this.absoluteSlug,this.imageUrl,this.allImageUrl,this.iconImageUrl,this.position,this.children});
    CategoryTreeApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        slug = json['slug'];
        absoluteSlug = json['absoluteSlug'];
        imageUrl = json['imageUrl'];
        allImageUrl = json['allImageUrl'];
        iconImageUrl = json['iconImageUrl'];
        position = json['position'];
        children = JsonConverters.fromJson(json['children'],'List<CategoryTreeApiDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'slug': slug,
        'absoluteSlug': absoluteSlug,
        'imageUrl': imageUrl,
        'allImageUrl': allImageUrl,
        'iconImageUrl': iconImageUrl,
        'position': position,
        'children': JsonConverters.toJson(children,'List<CategoryTreeApiDto>',context!)
    };

    getTypeName() => "CategoryTreeApiDto";
    TypeContext? context = _ctx;
}

enum FeatureType
{
    BarSpeciality,
    BarType,
    Cuisine,
    SaveFoodAndMoney,
    MealType,
    Menu,
    OutdoorSeating,
    Parking,
    PaymentOptions,
    PriceMainDish,
    SubCategories,
    SubCategoriesAndBrands,
    EatingSuitabilities,
    TakeAway,
    WearPriceProfile,
    WheelChairAccessible,
    Wifi,
    WebShop,
    Filtering,
}

class IndividualFeatureDataApiDto implements IConvertible
{
    FeatureType? slug;
    String? label;

    IndividualFeatureDataApiDto({this.slug,this.label});
    IndividualFeatureDataApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        slug = JsonConverters.fromJson(json['slug'],'FeatureType',context!);
        label = json['label'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'slug': JsonConverters.toJson(slug,'FeatureType',context!),
        'label': label
    };

    getTypeName() => "IndividualFeatureDataApiDto";
    TypeContext? context = _ctx;
}

class BarSpecialityEsDto implements IConvertible
{
    String? slug;
    String? title;

    BarSpecialityEsDto({this.slug,this.title});
    BarSpecialityEsDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        slug = json['slug'];
        title = json['title'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'slug': slug,
        'title': title
    };

    getTypeName() => "BarSpecialityEsDto";
    TypeContext? context = _ctx;
}

class BarTypeEsDto implements IConvertible
{
    String? slug;
    String? title;

    BarTypeEsDto({this.slug,this.title});
    BarTypeEsDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        slug = json['slug'];
        title = json['title'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'slug': slug,
        'title': title
    };

    getTypeName() => "BarTypeEsDto";
    TypeContext? context = _ctx;
}

class BrandApiDto implements IConvertible
{
    String? name;

    BrandApiDto({this.name});
    BrandApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name
    };

    getTypeName() => "BrandApiDto";
    TypeContext? context = _ctx;
}

class PlaceCustomBrandApiDto implements IConvertible
{
    String? name;

    PlaceCustomBrandApiDto({this.name});
    PlaceCustomBrandApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name
    };

    getTypeName() => "PlaceCustomBrandApiDto";
    TypeContext? context = _ctx;
}

class PlaceSelectedBrandApiDto implements IConvertible
{
    BrandApiDto? brand;
    List<String>? categoryAbsoluteSlugs = [];
    PlaceCustomBrandApiDto? placeCustomBrand;

    PlaceSelectedBrandApiDto({this.brand,this.categoryAbsoluteSlugs,this.placeCustomBrand});
    PlaceSelectedBrandApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        brand = JsonConverters.fromJson(json['brand'],'BrandApiDto',context!);
        categoryAbsoluteSlugs = JsonConverters.fromJson(json['categoryAbsoluteSlugs'],'List<String>',context!);
        placeCustomBrand = JsonConverters.fromJson(json['placeCustomBrand'],'PlaceCustomBrandApiDto',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'brand': JsonConverters.toJson(brand,'BrandApiDto',context!),
        'categoryAbsoluteSlugs': JsonConverters.toJson(categoryAbsoluteSlugs,'List<String>',context!),
        'placeCustomBrand': JsonConverters.toJson(placeCustomBrand,'PlaceCustomBrandApiDto',context!)
    };

    getTypeName() => "PlaceSelectedBrandApiDto";
    TypeContext? context = _ctx;
}

class CuisineEsDto implements IConvertible
{
    String? label;
    String? slug;

    CuisineEsDto({this.label,this.slug});
    CuisineEsDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        label = json['label'];
        slug = json['slug'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'label': label,
        'slug': slug
    };

    getTypeName() => "CuisineEsDto";
    TypeContext? context = _ctx;
}

class MealTypeApiDto implements IConvertible
{
    String? label;
    String? slug;

    MealTypeApiDto({this.label,this.slug});
    MealTypeApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        label = json['label'];
        slug = json['slug'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'label': label,
        'slug': slug
    };

    getTypeName() => "MealTypeApiDto";
    TypeContext? context = _ctx;
}

enum Parking
{
    StreetParking,
    ParkingGarageNearby,
}

class ParkingApiDto implements IConvertible
{
    String? label;
    Parking? slug;

    ParkingApiDto({this.label,this.slug});
    ParkingApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        label = json['label'];
        slug = JsonConverters.fromJson(json['slug'],'Parking',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'label': label,
        'slug': JsonConverters.toJson(slug,'Parking',context!)
    };

    getTypeName() => "ParkingApiDto";
    TypeContext? context = _ctx;
}

enum PaymentOption
{
    Visa,
    MasterCard,
    AmericanExpress,
    Diners,
    Vipps,
}

class PaymentOptionApiDto implements IConvertible
{
    String? label;
    PaymentOption? slug;

    PaymentOptionApiDto({this.label,this.slug});
    PaymentOptionApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        label = json['label'];
        slug = JsonConverters.fromJson(json['slug'],'PaymentOption',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'label': label,
        'slug': JsonConverters.toJson(slug,'PaymentOption',context!)
    };

    getTypeName() => "PaymentOptionApiDto";
    TypeContext? context = _ctx;
}

class EatingSuitabilityApiDto implements IConvertible
{
    String? label;
    String? slug;

    EatingSuitabilityApiDto({this.label,this.slug});
    EatingSuitabilityApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        label = json['label'];
        slug = json['slug'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'label': label,
        'slug': slug
    };

    getTypeName() => "EatingSuitabilityApiDto";
    TypeContext? context = _ctx;
}

class TakeAwayApiDto implements IConvertible
{
    String? label;
    String? slug;

    TakeAwayApiDto({this.label,this.slug});
    TakeAwayApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        label = json['label'];
        slug = json['slug'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'label': label,
        'slug': slug
    };

    getTypeName() => "TakeAwayApiDto";
    TypeContext? context = _ctx;
}

class WearPriceProfileEsDto implements IConvertible
{
    String? slug;
    String? label;

    WearPriceProfileEsDto({this.slug,this.label});
    WearPriceProfileEsDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        slug = json['slug'];
        label = json['label'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'slug': slug,
        'label': label
    };

    getTypeName() => "WearPriceProfileEsDto";
    TypeContext? context = _ctx;
}

class MenuEsDto implements IConvertible
{
    String? name;
    String? url;
    int? position;

    MenuEsDto({this.name,this.url,this.position});
    MenuEsDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        url = json['url'];
        position = json['position'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'url': url,
        'position': position
    };

    getTypeName() => "MenuEsDto";
    TypeContext? context = _ctx;
}

class ImageUrls implements IConvertible
{
    String? preview;
    String? small;
    String? medium;
    String? large;

    ImageUrls({this.preview,this.small,this.medium,this.large});
    ImageUrls.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        preview = json['preview'];
        small = json['small'];
        medium = json['medium'];
        large = json['large'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'preview': preview,
        'small': small,
        'medium': medium,
        'large': large
    };

    getTypeName() => "ImageUrls";
    TypeContext? context = _ctx;
}

enum PlaceType
{
    Mall,
    Regular,
}

enum PriceMainDish
{
    Value,
    Medium,
    High,
    FineDining,
}

class PriceMainDishApiDto implements IConvertible
{
    String? title;
    PriceMainDish? slug;

    PriceMainDishApiDto({this.title,this.slug});
    PriceMainDishApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        title = json['title'];
        slug = JsonConverters.fromJson(json['slug'],'PriceMainDish',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'title': title,
        'slug': JsonConverters.toJson(slug,'PriceMainDish',context!)
    };

    getTypeName() => "PriceMainDishApiDto";
    TypeContext? context = _ctx;
}

class TimeZoneDto implements IConvertible
{
    Duration? baseUtcOffset;
    String? daylightName;
    String? displayName;
    String? id;
    String? standardName;
    bool? supportsDaylightSavingTime;

    TimeZoneDto({this.baseUtcOffset,this.daylightName,this.displayName,this.id,this.standardName,this.supportsDaylightSavingTime});
    TimeZoneDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        baseUtcOffset = JsonConverters.fromJson(json['baseUtcOffset'],'Duration',context!);
        daylightName = json['daylightName'];
        displayName = json['displayName'];
        id = json['id'];
        standardName = json['standardName'];
        supportsDaylightSavingTime = json['supportsDaylightSavingTime'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'baseUtcOffset': JsonConverters.toJson(baseUtcOffset,'Duration',context!),
        'daylightName': daylightName,
        'displayName': displayName,
        'id': id,
        'standardName': standardName,
        'supportsDaylightSavingTime': supportsDaylightSavingTime
    };

    getTypeName() => "TimeZoneDto";
    TypeContext? context = _ctx;
}

class PlaceContact implements IConvertible
{
    String? phone;
    String? email;
    String? website;
    String? webShop;

    PlaceContact({this.phone,this.email,this.website,this.webShop});
    PlaceContact.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        phone = json['phone'];
        email = json['email'];
        website = json['website'];
        webShop = json['webShop'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'phone': phone,
        'email': email,
        'website': website,
        'webShop': webShop
    };

    getTypeName() => "PlaceContact";
    TypeContext? context = _ctx;
}

class PlaceAddress implements IConvertible
{
    String? street;
    String? postalCode;
    String? region;
    String? countryCode;

    PlaceAddress({this.street,this.postalCode,this.region,this.countryCode});
    PlaceAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        street = json['street'];
        postalCode = json['postalCode'];
        region = json['region'];
        countryCode = json['countryCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'street': street,
        'postalCode': postalCode,
        'region': region,
        'countryCode': countryCode
    };

    getTypeName() => "PlaceAddress";
    TypeContext? context = _ctx;
}

class PlaceBasicApiDto implements IConvertible
{
    int? id;
    String? guid;
    String? overview;
    String? name;
    double? longitude;
    double? latitude;
    bool? claimed;
    String? organizationNumber;
    String? countryCode;
    OpeningHours? openingHours;
    bool? wheelchairAccessible;
    bool? wifi;
    bool? outdoorSeating;
    bool? saveFoodAndMoney;
    PlaceType? placeType;
    PriceMainDishApiDto? priceMainDish;
    TimeZoneDto? timeZoneDto;
    int? businessId;
    PlaceContact? contact;
    PlaceAddress? address;
    List<CategoryTreeApiDto>? categories = [];
    ImageUrls? logoUrl;
    ImageUrls? imageUrl;
    List<WearPriceProfileEsDto>? wearPriceProfiles = [];
    List<PlaceSelectedBrandApiDto>? brands = [];
    String? floor;

    PlaceBasicApiDto({this.id,this.guid,this.overview,this.name,this.longitude,this.latitude,this.claimed,this.organizationNumber,this.countryCode,this.openingHours,this.wheelchairAccessible,this.wifi,this.outdoorSeating,this.saveFoodAndMoney,this.placeType,this.priceMainDish,this.timeZoneDto,this.businessId,this.contact,this.address,this.categories,this.logoUrl,this.imageUrl,this.wearPriceProfiles,this.brands,this.floor});
    PlaceBasicApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        guid = json['guid'];
        overview = json['overview'];
        name = json['name'];
        longitude = JsonConverters.toDouble(json['longitude']);
        latitude = JsonConverters.toDouble(json['latitude']);
        claimed = json['claimed'];
        organizationNumber = json['organizationNumber'];
        countryCode = json['countryCode'];
        openingHours = JsonConverters.fromJson(json['openingHours'],'OpeningHours',context!);
        wheelchairAccessible = json['wheelchairAccessible'];
        wifi = json['wifi'];
        outdoorSeating = json['outdoorSeating'];
        saveFoodAndMoney = json['saveFoodAndMoney'];
        placeType = JsonConverters.fromJson(json['placeType'],'PlaceType',context!);
        priceMainDish = JsonConverters.fromJson(json['priceMainDish'],'PriceMainDishApiDto',context!);
        timeZoneDto = JsonConverters.fromJson(json['timeZoneDto'],'TimeZoneDto',context!);
        businessId = json['businessId'];
        contact = JsonConverters.fromJson(json['contact'],'PlaceContact',context!);
        address = JsonConverters.fromJson(json['address'],'PlaceAddress',context!);
        categories = JsonConverters.fromJson(json['categories'],'List<CategoryTreeApiDto>',context!);
        logoUrl = JsonConverters.fromJson(json['logoUrl'],'ImageUrls',context!);
        imageUrl = JsonConverters.fromJson(json['imageUrl'],'ImageUrls',context!);
        wearPriceProfiles = JsonConverters.fromJson(json['wearPriceProfiles'],'List<WearPriceProfileEsDto>',context!);
        brands = JsonConverters.fromJson(json['brands'],'List<PlaceSelectedBrandApiDto>',context!);
        floor = json['floor'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'guid': guid,
        'overview': overview,
        'name': name,
        'longitude': longitude,
        'latitude': latitude,
        'claimed': claimed,
        'organizationNumber': organizationNumber,
        'countryCode': countryCode,
        'openingHours': JsonConverters.toJson(openingHours,'OpeningHours',context!),
        'wheelchairAccessible': wheelchairAccessible,
        'wifi': wifi,
        'outdoorSeating': outdoorSeating,
        'saveFoodAndMoney': saveFoodAndMoney,
        'placeType': JsonConverters.toJson(placeType,'PlaceType',context!),
        'priceMainDish': JsonConverters.toJson(priceMainDish,'PriceMainDishApiDto',context!),
        'timeZoneDto': JsonConverters.toJson(timeZoneDto,'TimeZoneDto',context!),
        'businessId': businessId,
        'contact': JsonConverters.toJson(contact,'PlaceContact',context!),
        'address': JsonConverters.toJson(address,'PlaceAddress',context!),
        'categories': JsonConverters.toJson(categories,'List<CategoryTreeApiDto>',context!),
        'logoUrl': JsonConverters.toJson(logoUrl,'ImageUrls',context!),
        'imageUrl': JsonConverters.toJson(imageUrl,'ImageUrls',context!),
        'wearPriceProfiles': JsonConverters.toJson(wearPriceProfiles,'List<WearPriceProfileEsDto>',context!),
        'brands': JsonConverters.toJson(brands,'List<PlaceSelectedBrandApiDto>',context!),
        'floor': floor
    };

    getTypeName() => "PlaceBasicApiDto";
    TypeContext? context = _ctx;
}

class MallOtherServiceApiDto implements IConvertible
{
    String? serviceName;
    String? floor;

    MallOtherServiceApiDto({this.serviceName,this.floor});
    MallOtherServiceApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        serviceName = json['serviceName'];
        floor = json['floor'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'serviceName': serviceName,
        'floor': floor
    };

    getTypeName() => "MallOtherServiceApiDto";
    TypeContext? context = _ctx;
}

class PlaceApiDto implements IConvertible
{
    int? id;
    String? guid;
    String? overview;
    String? name;
    double? longitude;
    double? latitude;
    bool? claimed;
    String? organizationNumber;
    String? countryCode;
    String? placeState;
    int? followersCount;
    OpeningHours? openingHours;
    List<CategoryTreeApiDto>? categories = [];
    List<IndividualFeatureDataApiDto>? featureData = [];
    List<BarSpecialityEsDto>? barSpecialities = [];
    List<BarTypeEsDto>? barTypes = [];
    List<PlaceSelectedBrandApiDto>? brands = [];
    List<CuisineEsDto>? cuisines = [];
    List<MealTypeApiDto>? mealTypes = [];
    List<ParkingApiDto>? parking = [];
    List<PaymentOptionApiDto>? paymentOptions = [];
    List<EatingSuitabilityApiDto>? eatingSuitabilities = [];
    List<TakeAwayApiDto>? takeAways = [];
    List<WearPriceProfileEsDto>? wearPriceProfiles = [];
    List<MenuEsDto>? menus = [];
    ImageUrls? logoUrl;
    ImageUrls? imageUrl;
    bool? wheelchairAccessible;
    bool? wifi;
    bool? outdoorSeating;
    bool? saveFoodAndMoney;
    PlaceType? placeType;
    PlaceBasicApiDto? mall;
    PriceMainDishApiDto? priceMainDish;
    List<PlaceBasicApiDto>? places = [];
    List<MallOtherServiceApiDto>? otherServices = [];
    String? floor;
    TimeZoneDto? timeZoneDto;
    int? businessId;
    PlaceContact? contact;
    PlaceAddress? address;

    PlaceApiDto({this.id,this.guid,this.overview,this.name,this.longitude,this.latitude,this.claimed,this.organizationNumber,this.countryCode,this.placeState,this.followersCount,this.openingHours,this.categories,this.featureData,this.barSpecialities,this.barTypes,this.brands,this.cuisines,this.mealTypes,this.parking,this.paymentOptions,this.eatingSuitabilities,this.takeAways,this.wearPriceProfiles,this.menus,this.logoUrl,this.imageUrl,this.wheelchairAccessible,this.wifi,this.outdoorSeating,this.saveFoodAndMoney,this.placeType,this.mall,this.priceMainDish,this.places,this.otherServices,this.floor,this.timeZoneDto,this.businessId,this.contact,this.address});
    PlaceApiDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        guid = json['guid'];
        overview = json['overview'];
        name = json['name'];
        longitude = JsonConverters.toDouble(json['longitude']);
        latitude = JsonConverters.toDouble(json['latitude']);
        claimed = json['claimed'];
        organizationNumber = json['organizationNumber'];
        countryCode = json['countryCode'];
        placeState = json['placeState'];
        followersCount = json['followersCount'];
        openingHours = JsonConverters.fromJson(json['openingHours'],'OpeningHours',context!);
        categories = JsonConverters.fromJson(json['categories'],'List<CategoryTreeApiDto>',context!);
        featureData = JsonConverters.fromJson(json['featureData'],'List<IndividualFeatureDataApiDto>',context!);
        barSpecialities = JsonConverters.fromJson(json['barSpecialities'],'List<BarSpecialityEsDto>',context!);
        barTypes = JsonConverters.fromJson(json['barTypes'],'List<BarTypeEsDto>',context!);
        brands = JsonConverters.fromJson(json['brands'],'List<PlaceSelectedBrandApiDto>',context!);
        cuisines = JsonConverters.fromJson(json['cuisines'],'List<CuisineEsDto>',context!);
        mealTypes = JsonConverters.fromJson(json['mealTypes'],'List<MealTypeApiDto>',context!);
        parking = JsonConverters.fromJson(json['parking'],'List<ParkingApiDto>',context!);
        paymentOptions = JsonConverters.fromJson(json['paymentOptions'],'List<PaymentOptionApiDto>',context!);
        eatingSuitabilities = JsonConverters.fromJson(json['eatingSuitabilities'],'List<EatingSuitabilityApiDto>',context!);
        takeAways = JsonConverters.fromJson(json['takeAways'],'List<TakeAwayApiDto>',context!);
        wearPriceProfiles = JsonConverters.fromJson(json['wearPriceProfiles'],'List<WearPriceProfileEsDto>',context!);
        menus = JsonConverters.fromJson(json['menus'],'List<MenuEsDto>',context!);
        logoUrl = JsonConverters.fromJson(json['logoUrl'],'ImageUrls',context!);
        imageUrl = JsonConverters.fromJson(json['imageUrl'],'ImageUrls',context!);
        wheelchairAccessible = json['wheelchairAccessible'];
        wifi = json['wifi'];
        outdoorSeating = json['outdoorSeating'];
        saveFoodAndMoney = json['saveFoodAndMoney'];
        placeType = JsonConverters.fromJson(json['placeType'],'PlaceType',context!);
        mall = JsonConverters.fromJson(json['mall'],'PlaceBasicApiDto',context!);
        priceMainDish = JsonConverters.fromJson(json['priceMainDish'],'PriceMainDishApiDto',context!);
        places = JsonConverters.fromJson(json['places'],'List<PlaceBasicApiDto>',context!);
        otherServices = JsonConverters.fromJson(json['otherServices'],'List<MallOtherServiceApiDto>',context!);
        floor = json['floor'];
        timeZoneDto = JsonConverters.fromJson(json['timeZoneDto'],'TimeZoneDto',context!);
        businessId = json['businessId'];
        contact = JsonConverters.fromJson(json['contact'],'PlaceContact',context!);
        address = JsonConverters.fromJson(json['address'],'PlaceAddress',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'guid': guid,
        'overview': overview,
        'name': name,
        'longitude': longitude,
        'latitude': latitude,
        'claimed': claimed,
        'organizationNumber': organizationNumber,
        'countryCode': countryCode,
        'placeState': placeState,
        'followersCount': followersCount,
        'openingHours': JsonConverters.toJson(openingHours,'OpeningHours',context!),
        'categories': JsonConverters.toJson(categories,'List<CategoryTreeApiDto>',context!),
        'featureData': JsonConverters.toJson(featureData,'List<IndividualFeatureDataApiDto>',context!),
        'barSpecialities': JsonConverters.toJson(barSpecialities,'List<BarSpecialityEsDto>',context!),
        'barTypes': JsonConverters.toJson(barTypes,'List<BarTypeEsDto>',context!),
        'brands': JsonConverters.toJson(brands,'List<PlaceSelectedBrandApiDto>',context!),
        'cuisines': JsonConverters.toJson(cuisines,'List<CuisineEsDto>',context!),
        'mealTypes': JsonConverters.toJson(mealTypes,'List<MealTypeApiDto>',context!),
        'parking': JsonConverters.toJson(parking,'List<ParkingApiDto>',context!),
        'paymentOptions': JsonConverters.toJson(paymentOptions,'List<PaymentOptionApiDto>',context!),
        'eatingSuitabilities': JsonConverters.toJson(eatingSuitabilities,'List<EatingSuitabilityApiDto>',context!),
        'takeAways': JsonConverters.toJson(takeAways,'List<TakeAwayApiDto>',context!),
        'wearPriceProfiles': JsonConverters.toJson(wearPriceProfiles,'List<WearPriceProfileEsDto>',context!),
        'menus': JsonConverters.toJson(menus,'List<MenuEsDto>',context!),
        'logoUrl': JsonConverters.toJson(logoUrl,'ImageUrls',context!),
        'imageUrl': JsonConverters.toJson(imageUrl,'ImageUrls',context!),
        'wheelchairAccessible': wheelchairAccessible,
        'wifi': wifi,
        'outdoorSeating': outdoorSeating,
        'saveFoodAndMoney': saveFoodAndMoney,
        'placeType': JsonConverters.toJson(placeType,'PlaceType',context!),
        'mall': JsonConverters.toJson(mall,'PlaceBasicApiDto',context!),
        'priceMainDish': JsonConverters.toJson(priceMainDish,'PriceMainDishApiDto',context!),
        'places': JsonConverters.toJson(places,'List<PlaceBasicApiDto>',context!),
        'otherServices': JsonConverters.toJson(otherServices,'List<MallOtherServiceApiDto>',context!),
        'floor': floor,
        'timeZoneDto': JsonConverters.toJson(timeZoneDto,'TimeZoneDto',context!),
        'businessId': businessId,
        'contact': JsonConverters.toJson(contact,'PlaceContact',context!),
        'address': JsonConverters.toJson(address,'PlaceAddress',context!)
    };

    getTypeName() => "PlaceApiDto";
    TypeContext? context = _ctx;
}

class AdMessageDetailsBase implements IConvertible
{
    String? description;
    List<String>? moreInformation = [];

    AdMessageDetailsBase({this.description,this.moreInformation});
    AdMessageDetailsBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        description = json['description'];
        moreInformation = JsonConverters.fromJson(json['moreInformation'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'description': description,
        'moreInformation': JsonConverters.toJson(moreInformation,'List<String>',context!)
    };

    getTypeName() => "AdMessageDetailsBase";
    TypeContext? context = _ctx;
}

class AdMessageDetailsPercentageDiscountOnAllMerchandise extends AdMessageDetailsBase implements IConvertible
{
    double? value;

    AdMessageDetailsPercentageDiscountOnAllMerchandise({this.value});
    AdMessageDetailsPercentageDiscountOnAllMerchandise.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        value = JsonConverters.toDouble(json['value']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'value': value
    });

    getTypeName() => "AdMessageDetailsPercentageDiscountOnAllMerchandise";
    TypeContext? context = _ctx;
}

class AdMessageDetailsPercentageDiscountRangeOnAllMerchandise extends AdMessageDetailsBase implements IConvertible
{
    double? start;
    double? stop;

    AdMessageDetailsPercentageDiscountRangeOnAllMerchandise({this.start,this.stop});
    AdMessageDetailsPercentageDiscountRangeOnAllMerchandise.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        start = JsonConverters.toDouble(json['start']);
        stop = JsonConverters.toDouble(json['stop']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'start': start,
        'stop': stop
    });

    getTypeName() => "AdMessageDetailsPercentageDiscountRangeOnAllMerchandise";
    TypeContext? context = _ctx;
}

class AdMessageDetailsPercentageDiscountOnSelectedMerchandise extends AdMessageDetailsBase implements IConvertible
{
    double? value;

    AdMessageDetailsPercentageDiscountOnSelectedMerchandise({this.value});
    AdMessageDetailsPercentageDiscountOnSelectedMerchandise.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        value = JsonConverters.toDouble(json['value']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'value': value
    });

    getTypeName() => "AdMessageDetailsPercentageDiscountOnSelectedMerchandise";
    TypeContext? context = _ctx;
}

class AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise extends AdMessageDetailsBase implements IConvertible
{
    double? value;

    AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise({this.value});
    AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        value = JsonConverters.toDouble(json['value']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'value': value
    });

    getTypeName() => "AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise";
    TypeContext? context = _ctx;
}

class AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise extends AdMessageDetailsBase implements IConvertible
{
    double? start;
    double? stop;

    AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise({this.start,this.stop});
    AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        start = JsonConverters.toDouble(json['start']);
        stop = JsonConverters.toDouble(json['stop']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'start': start,
        'stop': stop
    });

    getTypeName() => "AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise";
    TypeContext? context = _ctx;
}

class AdMessageDetailsTotalAmountOverXgivesYdiscount extends AdMessageDetailsBase implements IConvertible
{
    double? ifTotalAmountMoreThanX;
    double? thenYouGetDiscountPercentageY;

    AdMessageDetailsTotalAmountOverXgivesYdiscount({this.ifTotalAmountMoreThanX,this.thenYouGetDiscountPercentageY});
    AdMessageDetailsTotalAmountOverXgivesYdiscount.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        ifTotalAmountMoreThanX = JsonConverters.toDouble(json['ifTotalAmountMoreThanX']);
        thenYouGetDiscountPercentageY = JsonConverters.toDouble(json['thenYouGetDiscountPercentageY']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'ifTotalAmountMoreThanX': ifTotalAmountMoreThanX,
        'thenYouGetDiscountPercentageY': thenYouGetDiscountPercentageY
    });

    getTypeName() => "AdMessageDetailsTotalAmountOverXgivesYdiscount";
    TypeContext? context = _ctx;
}

class AdMessageDetailsXforYdiscount extends AdMessageDetailsBase implements IConvertible
{
    int? ifYouBuyX;
    int? thenYouGetY;

    AdMessageDetailsXforYdiscount({this.ifYouBuyX,this.thenYouGetY});
    AdMessageDetailsXforYdiscount.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        ifYouBuyX = json['ifYouBuyX'];
        thenYouGetY = json['thenYouGetY'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'ifYouBuyX': ifYouBuyX,
        'thenYouGetY': thenYouGetY
    });

    getTypeName() => "AdMessageDetailsXforYdiscount";
    TypeContext? context = _ctx;
}

class AdMessageDetailsNewArrivals extends AdMessageDetailsBase implements IConvertible
{
    AdMessageDetailsNewArrivals();
    AdMessageDetailsNewArrivals.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "AdMessageDetailsNewArrivals";
    TypeContext? context = _ctx;
}

class AdMessageDetailsFreetext extends AdMessageDetailsBase implements IConvertible
{
    String? title;

    AdMessageDetailsFreetext({this.title});
    AdMessageDetailsFreetext.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        title = json['title'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'title': title
    });

    getTypeName() => "AdMessageDetailsFreetext";
    TypeContext? context = _ctx;
}

class AdMessageDetailsTodaysBreakFastOffer extends AdMessageDetailsBase implements IConvertible
{
    double? value;

    AdMessageDetailsTodaysBreakFastOffer({this.value});
    AdMessageDetailsTodaysBreakFastOffer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        value = JsonConverters.toDouble(json['value']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'value': value
    });

    getTypeName() => "AdMessageDetailsTodaysBreakFastOffer";
    TypeContext? context = _ctx;
}

class AdMessageDetailsTodaysLunchOffer extends AdMessageDetailsBase implements IConvertible
{
    double? value;

    AdMessageDetailsTodaysLunchOffer({this.value});
    AdMessageDetailsTodaysLunchOffer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        value = JsonConverters.toDouble(json['value']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'value': value
    });

    getTypeName() => "AdMessageDetailsTodaysLunchOffer";
    TypeContext? context = _ctx;
}

class AdMessageDetailsTodaysDinnerOffer extends AdMessageDetailsBase implements IConvertible
{
    double? value;

    AdMessageDetailsTodaysDinnerOffer({this.value});
    AdMessageDetailsTodaysDinnerOffer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        value = JsonConverters.toDouble(json['value']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'value': value
    });

    getTypeName() => "AdMessageDetailsTodaysDinnerOffer";
    TypeContext? context = _ctx;
}

class AdMessageDetailsSaveFoodAndMoney extends AdMessageDetailsBase implements IConvertible
{
    double? value;

    AdMessageDetailsSaveFoodAndMoney({this.value});
    AdMessageDetailsSaveFoodAndMoney.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        value = JsonConverters.toDouble(json['value']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'value': value
    });

    getTypeName() => "AdMessageDetailsSaveFoodAndMoney";
    TypeContext? context = _ctx;
}

class AdMessageDetailsPercentageOffYourFoodBill extends AdMessageDetailsBase implements IConvertible
{
    double? percentage;

    AdMessageDetailsPercentageOffYourFoodBill({this.percentage});
    AdMessageDetailsPercentageOffYourFoodBill.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        percentage = JsonConverters.toDouble(json['percentage']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'percentage': percentage
    });

    getTypeName() => "AdMessageDetailsPercentageOffYourFoodBill";
    TypeContext? context = _ctx;
}

class AdMessageDetailsHappyHour extends AdMessageDetailsBase implements IConvertible
{
    AdMessageDetailsHappyHour();
    AdMessageDetailsHappyHour.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "AdMessageDetailsHappyHour";
    TypeContext? context = _ctx;
}

class AdMessageDetailsSomeFreeTablesLeftToday extends AdMessageDetailsBase implements IConvertible
{
    AdMessageDetailsSomeFreeTablesLeftToday();
    AdMessageDetailsSomeFreeTablesLeftToday.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "AdMessageDetailsSomeFreeTablesLeftToday";
    TypeContext? context = _ctx;
}

class AdMessageDetailsTwoDishesForThePriceOfOne extends AdMessageDetailsBase implements IConvertible
{
    AdMessageDetailsTwoDishesForThePriceOfOne();
    AdMessageDetailsTwoDishesForThePriceOfOne.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "AdMessageDetailsTwoDishesForThePriceOfOne";
    TypeContext? context = _ctx;
}

class AdMessageDetailsUnion implements IConvertible
{
    AdMessageDetailsPercentageDiscountOnAllMerchandise? percentageOnAllMerchandise;
    AdMessageDetailsPercentageDiscountRangeOnAllMerchandise? percentageRangeOnAllMerchandise;
    AdMessageDetailsPercentageDiscountOnSelectedMerchandise? percentageOnSelectedMerchandise;
    AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise? absoluteOnSelectedMerchandise;
    AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise? absoluteRangeOnAllMerchandise;
    AdMessageDetailsTotalAmountOverXgivesYdiscount? totalAmountOverXgivesYdiscount;
    AdMessageDetailsXforYdiscount? xforY;
    AdMessageDetailsNewArrivals? newArrivals;
    AdMessageDetailsFreetext? freetext;
    AdMessageDetailsTodaysBreakFastOffer? todaysBreakFastOffer;
    AdMessageDetailsTodaysLunchOffer? todaysLunchOffer;
    AdMessageDetailsTodaysDinnerOffer? todaysDinnerOffer;
    AdMessageDetailsSaveFoodAndMoney? saveFoodAndMoney;
    AdMessageDetailsPercentageOffYourFoodBill? percentageOfYourFoodBill;
    AdMessageDetailsHappyHour? happyHour;
    AdMessageDetailsSomeFreeTablesLeftToday? someFreeTablesLeftToday;
    AdMessageDetailsTwoDishesForThePriceOfOne? twoDishesForThePriceOfOne;

    AdMessageDetailsUnion({this.percentageOnAllMerchandise,this.percentageRangeOnAllMerchandise,this.percentageOnSelectedMerchandise,this.absoluteOnSelectedMerchandise,this.absoluteRangeOnAllMerchandise,this.totalAmountOverXgivesYdiscount,this.xforY,this.newArrivals,this.freetext,this.todaysBreakFastOffer,this.todaysLunchOffer,this.todaysDinnerOffer,this.saveFoodAndMoney,this.percentageOfYourFoodBill,this.happyHour,this.someFreeTablesLeftToday,this.twoDishesForThePriceOfOne});
    AdMessageDetailsUnion.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        percentageOnAllMerchandise = JsonConverters.fromJson(json['percentageOnAllMerchandise'],'AdMessageDetailsPercentageDiscountOnAllMerchandise',context!);
        percentageRangeOnAllMerchandise = JsonConverters.fromJson(json['percentageRangeOnAllMerchandise'],'AdMessageDetailsPercentageDiscountRangeOnAllMerchandise',context!);
        percentageOnSelectedMerchandise = JsonConverters.fromJson(json['percentageOnSelectedMerchandise'],'AdMessageDetailsPercentageDiscountOnSelectedMerchandise',context!);
        absoluteOnSelectedMerchandise = JsonConverters.fromJson(json['absoluteOnSelectedMerchandise'],'AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise',context!);
        absoluteRangeOnAllMerchandise = JsonConverters.fromJson(json['absoluteRangeOnAllMerchandise'],'AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise',context!);
        totalAmountOverXgivesYdiscount = JsonConverters.fromJson(json['totalAmountOverXgivesYdiscount'],'AdMessageDetailsTotalAmountOverXgivesYdiscount',context!);
        xforY = JsonConverters.fromJson(json['xforY'],'AdMessageDetailsXforYdiscount',context!);
        newArrivals = JsonConverters.fromJson(json['newArrivals'],'AdMessageDetailsNewArrivals',context!);
        freetext = JsonConverters.fromJson(json['freetext'],'AdMessageDetailsFreetext',context!);
        todaysBreakFastOffer = JsonConverters.fromJson(json['todaysBreakFastOffer'],'AdMessageDetailsTodaysBreakFastOffer',context!);
        todaysLunchOffer = JsonConverters.fromJson(json['todaysLunchOffer'],'AdMessageDetailsTodaysLunchOffer',context!);
        todaysDinnerOffer = JsonConverters.fromJson(json['todaysDinnerOffer'],'AdMessageDetailsTodaysDinnerOffer',context!);
        saveFoodAndMoney = JsonConverters.fromJson(json['saveFoodAndMoney'],'AdMessageDetailsSaveFoodAndMoney',context!);
        percentageOfYourFoodBill = JsonConverters.fromJson(json['percentageOfYourFoodBill'],'AdMessageDetailsPercentageOffYourFoodBill',context!);
        happyHour = JsonConverters.fromJson(json['happyHour'],'AdMessageDetailsHappyHour',context!);
        someFreeTablesLeftToday = JsonConverters.fromJson(json['someFreeTablesLeftToday'],'AdMessageDetailsSomeFreeTablesLeftToday',context!);
        twoDishesForThePriceOfOne = JsonConverters.fromJson(json['twoDishesForThePriceOfOne'],'AdMessageDetailsTwoDishesForThePriceOfOne',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'percentageOnAllMerchandise': JsonConverters.toJson(percentageOnAllMerchandise,'AdMessageDetailsPercentageDiscountOnAllMerchandise',context!),
        'percentageRangeOnAllMerchandise': JsonConverters.toJson(percentageRangeOnAllMerchandise,'AdMessageDetailsPercentageDiscountRangeOnAllMerchandise',context!),
        'percentageOnSelectedMerchandise': JsonConverters.toJson(percentageOnSelectedMerchandise,'AdMessageDetailsPercentageDiscountOnSelectedMerchandise',context!),
        'absoluteOnSelectedMerchandise': JsonConverters.toJson(absoluteOnSelectedMerchandise,'AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise',context!),
        'absoluteRangeOnAllMerchandise': JsonConverters.toJson(absoluteRangeOnAllMerchandise,'AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise',context!),
        'totalAmountOverXgivesYdiscount': JsonConverters.toJson(totalAmountOverXgivesYdiscount,'AdMessageDetailsTotalAmountOverXgivesYdiscount',context!),
        'xforY': JsonConverters.toJson(xforY,'AdMessageDetailsXforYdiscount',context!),
        'newArrivals': JsonConverters.toJson(newArrivals,'AdMessageDetailsNewArrivals',context!),
        'freetext': JsonConverters.toJson(freetext,'AdMessageDetailsFreetext',context!),
        'todaysBreakFastOffer': JsonConverters.toJson(todaysBreakFastOffer,'AdMessageDetailsTodaysBreakFastOffer',context!),
        'todaysLunchOffer': JsonConverters.toJson(todaysLunchOffer,'AdMessageDetailsTodaysLunchOffer',context!),
        'todaysDinnerOffer': JsonConverters.toJson(todaysDinnerOffer,'AdMessageDetailsTodaysDinnerOffer',context!),
        'saveFoodAndMoney': JsonConverters.toJson(saveFoodAndMoney,'AdMessageDetailsSaveFoodAndMoney',context!),
        'percentageOfYourFoodBill': JsonConverters.toJson(percentageOfYourFoodBill,'AdMessageDetailsPercentageOffYourFoodBill',context!),
        'happyHour': JsonConverters.toJson(happyHour,'AdMessageDetailsHappyHour',context!),
        'someFreeTablesLeftToday': JsonConverters.toJson(someFreeTablesLeftToday,'AdMessageDetailsSomeFreeTablesLeftToday',context!),
        'twoDishesForThePriceOfOne': JsonConverters.toJson(twoDishesForThePriceOfOne,'AdMessageDetailsTwoDishesForThePriceOfOne',context!)
    };

    getTypeName() => "AdMessageDetailsUnion";
    TypeContext? context = _ctx;
}

class AdMessageDto implements IConvertible
{
    int? id;
    String? guid;
    String? title;
    DateTime? startAt;
    DateTime? stopAt;
    DateTime? publishAt;
    List<ImageUrls>? imageUrls = [];
    PlaceBasicApiDto? place;
    AdMessageDetailsUnion? detailsUnion;
    int? starredCount;

    AdMessageDto({this.id,this.guid,this.title,this.startAt,this.stopAt,this.publishAt,this.imageUrls,this.place,this.detailsUnion,this.starredCount});
    AdMessageDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        guid = json['guid'];
        title = json['title'];
        startAt = JsonConverters.fromJson(json['startAt'],'DateTime',context!);
        stopAt = JsonConverters.fromJson(json['stopAt'],'DateTime',context!);
        publishAt = JsonConverters.fromJson(json['publishAt'],'DateTime',context!);
        imageUrls = JsonConverters.fromJson(json['imageUrls'],'List<ImageUrls>',context!);
        place = JsonConverters.fromJson(json['place'],'PlaceBasicApiDto',context!);
        detailsUnion = JsonConverters.fromJson(json['detailsUnion'],'AdMessageDetailsUnion',context!);
        starredCount = json['starredCount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'guid': guid,
        'title': title,
        'startAt': JsonConverters.toJson(startAt,'DateTime',context!),
        'stopAt': JsonConverters.toJson(stopAt,'DateTime',context!),
        'publishAt': JsonConverters.toJson(publishAt,'DateTime',context!),
        'imageUrls': JsonConverters.toJson(imageUrls,'List<ImageUrls>',context!),
        'place': JsonConverters.toJson(place,'PlaceBasicApiDto',context!),
        'detailsUnion': JsonConverters.toJson(detailsUnion,'AdMessageDetailsUnion',context!),
        'starredCount': starredCount
    };

    getTypeName() => "AdMessageDto";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'ConsumerApi', types: <String, TypeInfo> {
    'OpeningHour': TypeInfo(TypeOf.Class, create:() => OpeningHour()),
    'WeeklyOpeningHours': TypeInfo(TypeOf.Class, create:() => WeeklyOpeningHours()),
    'OpeningHours': TypeInfo(TypeOf.Class, create:() => OpeningHours()),
    'CategoryTreeApiDto': TypeInfo(TypeOf.Class, create:() => CategoryTreeApiDto()),
    'List<CategoryTreeApiDto>': TypeInfo(TypeOf.Class, create:() => <CategoryTreeApiDto>[]),
    'FeatureType': TypeInfo(TypeOf.Enum, enumValues:FeatureType.values),
    'IndividualFeatureDataApiDto': TypeInfo(TypeOf.Class, create:() => IndividualFeatureDataApiDto()),
    'BarSpecialityEsDto': TypeInfo(TypeOf.Class, create:() => BarSpecialityEsDto()),
    'BarTypeEsDto': TypeInfo(TypeOf.Class, create:() => BarTypeEsDto()),
    'BrandApiDto': TypeInfo(TypeOf.Class, create:() => BrandApiDto()),
    'PlaceCustomBrandApiDto': TypeInfo(TypeOf.Class, create:() => PlaceCustomBrandApiDto()),
    'PlaceSelectedBrandApiDto': TypeInfo(TypeOf.Class, create:() => PlaceSelectedBrandApiDto()),
    'CuisineEsDto': TypeInfo(TypeOf.Class, create:() => CuisineEsDto()),
    'MealTypeApiDto': TypeInfo(TypeOf.Class, create:() => MealTypeApiDto()),
    'Parking': TypeInfo(TypeOf.Enum, enumValues:Parking.values),
    'ParkingApiDto': TypeInfo(TypeOf.Class, create:() => ParkingApiDto()),
    'PaymentOption': TypeInfo(TypeOf.Enum, enumValues:PaymentOption.values),
    'PaymentOptionApiDto': TypeInfo(TypeOf.Class, create:() => PaymentOptionApiDto()),
    'EatingSuitabilityApiDto': TypeInfo(TypeOf.Class, create:() => EatingSuitabilityApiDto()),
    'TakeAwayApiDto': TypeInfo(TypeOf.Class, create:() => TakeAwayApiDto()),
    'WearPriceProfileEsDto': TypeInfo(TypeOf.Class, create:() => WearPriceProfileEsDto()),
    'MenuEsDto': TypeInfo(TypeOf.Class, create:() => MenuEsDto()),
    'ImageUrls': TypeInfo(TypeOf.Class, create:() => ImageUrls()),
    'PlaceType': TypeInfo(TypeOf.Enum, enumValues:PlaceType.values),
    'PriceMainDish': TypeInfo(TypeOf.Enum, enumValues:PriceMainDish.values),
    'PriceMainDishApiDto': TypeInfo(TypeOf.Class, create:() => PriceMainDishApiDto()),
    'TimeZoneDto': TypeInfo(TypeOf.Class, create:() => TimeZoneDto()),
    'PlaceContact': TypeInfo(TypeOf.Class, create:() => PlaceContact()),
    'PlaceAddress': TypeInfo(TypeOf.Class, create:() => PlaceAddress()),
    'PlaceBasicApiDto': TypeInfo(TypeOf.Class, create:() => PlaceBasicApiDto()),
    'List<WearPriceProfileEsDto>': TypeInfo(TypeOf.Class, create:() => <WearPriceProfileEsDto>[]),
    'List<PlaceSelectedBrandApiDto>': TypeInfo(TypeOf.Class, create:() => <PlaceSelectedBrandApiDto>[]),
    'MallOtherServiceApiDto': TypeInfo(TypeOf.Class, create:() => MallOtherServiceApiDto()),
    'PlaceApiDto': TypeInfo(TypeOf.Class, create:() => PlaceApiDto()),
    'List<IndividualFeatureDataApiDto>': TypeInfo(TypeOf.Class, create:() => <IndividualFeatureDataApiDto>[]),
    'List<BarSpecialityEsDto>': TypeInfo(TypeOf.Class, create:() => <BarSpecialityEsDto>[]),
    'List<BarTypeEsDto>': TypeInfo(TypeOf.Class, create:() => <BarTypeEsDto>[]),
    'List<CuisineEsDto>': TypeInfo(TypeOf.Class, create:() => <CuisineEsDto>[]),
    'List<MealTypeApiDto>': TypeInfo(TypeOf.Class, create:() => <MealTypeApiDto>[]),
    'List<ParkingApiDto>': TypeInfo(TypeOf.Class, create:() => <ParkingApiDto>[]),
    'List<PaymentOptionApiDto>': TypeInfo(TypeOf.Class, create:() => <PaymentOptionApiDto>[]),
    'List<EatingSuitabilityApiDto>': TypeInfo(TypeOf.Class, create:() => <EatingSuitabilityApiDto>[]),
    'List<TakeAwayApiDto>': TypeInfo(TypeOf.Class, create:() => <TakeAwayApiDto>[]),
    'List<MenuEsDto>': TypeInfo(TypeOf.Class, create:() => <MenuEsDto>[]),
    'List<PlaceBasicApiDto>': TypeInfo(TypeOf.Class, create:() => <PlaceBasicApiDto>[]),
    'List<MallOtherServiceApiDto>': TypeInfo(TypeOf.Class, create:() => <MallOtherServiceApiDto>[]),
    'AdMessageDetailsBase': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsBase()),
    'AdMessageDetailsPercentageDiscountOnAllMerchandise': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsPercentageDiscountOnAllMerchandise()),
    'AdMessageDetailsPercentageDiscountRangeOnAllMerchandise': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsPercentageDiscountRangeOnAllMerchandise()),
    'AdMessageDetailsPercentageDiscountOnSelectedMerchandise': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsPercentageDiscountOnSelectedMerchandise()),
    'AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsAbsoluteDiscountOnSelectedMerchandise()),
    'AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsAbsoluteDiscountRangeOnAllMerchandise()),
    'AdMessageDetailsTotalAmountOverXgivesYdiscount': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsTotalAmountOverXgivesYdiscount()),
    'AdMessageDetailsXforYdiscount': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsXforYdiscount()),
    'AdMessageDetailsNewArrivals': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsNewArrivals()),
    'AdMessageDetailsFreetext': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsFreetext()),
    'AdMessageDetailsTodaysBreakFastOffer': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsTodaysBreakFastOffer()),
    'AdMessageDetailsTodaysLunchOffer': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsTodaysLunchOffer()),
    'AdMessageDetailsTodaysDinnerOffer': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsTodaysDinnerOffer()),
    'AdMessageDetailsSaveFoodAndMoney': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsSaveFoodAndMoney()),
    'AdMessageDetailsPercentageOffYourFoodBill': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsPercentageOffYourFoodBill()),
    'AdMessageDetailsHappyHour': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsHappyHour()),
    'AdMessageDetailsSomeFreeTablesLeftToday': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsSomeFreeTablesLeftToday()),
    'AdMessageDetailsTwoDishesForThePriceOfOne': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsTwoDishesForThePriceOfOne()),
    'AdMessageDetailsUnion': TypeInfo(TypeOf.Class, create:() => AdMessageDetailsUnion()),
    'AdMessageDto': TypeInfo(TypeOf.Class, create:() => AdMessageDto()),
    'List<ImageUrls>': TypeInfo(TypeOf.Class, create:() => <ImageUrls>[]),
});

Dart GetPlaceRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

GET /place/GetPlace HTTP/1.1 
Host: unstable-consumer-api.brovs.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"placeDto":{"id":0,"overview":"String","name":"String","longitude":0,"latitude":0,"claimed":false,"organizationNumber":"String","countryCode":"String","placeState":"String","followersCount":0,"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}}},"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}]}]}],"featureData":[{"slug":"BarSpeciality","label":"String"}],"barSpecialities":[{"slug":"String","title":"String"}],"barTypes":[{"slug":"String","title":"String"}],"brands":[{"brand":{"name":"String"},"categoryAbsoluteSlugs":["String"],"placeCustomBrand":{"name":"String"}}],"cuisines":[{"label":"String","slug":"String"}],"mealTypes":[{"label":"String","slug":"String"}],"parking":[{"label":"String","slug":"StreetParking"}],"paymentOptions":[{"label":"String","slug":"Visa"}],"eatingSuitabilities":[{"label":"String","slug":"String"}],"takeAways":[{"label":"String","slug":"String"}],"wearPriceProfiles":[{"slug":"String","label":"String"}],"menus":[{"name":"String","url":"String","position":0}],"logoUrl":{"preview":"String","small":"String","medium":"String","large":"String"},"imageUrl":{"preview":"String","small":"String","medium":"String","large":"String"},"wheelchairAccessible":false,"wifi":false,"outdoorSeating":false,"saveFoodAndMoney":false,"placeType":"Mall","mall":{"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"},"priceMainDish":{"title":"String","slug":"Value"},"places":[{"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"}],"otherServices":[{"serviceName":"String","floor":"String"}],"floor":"String","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"}},"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}],"topCategoriesSlug":["String"]}