BusinessApi

<back to all web services

GetAdRequest

Business
Requires Authentication
Required role:Business
The following routes are available for this service:
GET/ad/get

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

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

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

enum PlaceType
{
    Mall,
    Regular,
}

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

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

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

    PriceMainDishDto({this.title,this.slug});
    PriceMainDishDto.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() => "PriceMainDishDto";
    TypeContext? context = _ctx;
}

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

    AdDetailsBase({this.description,this.moreInformation});
    AdDetailsBase.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() => "AdDetailsBase";
    TypeContext? context = _ctx;
}

class AdDetailsPercentageDiscountOnAllMerchandise extends AdDetailsBase implements IConvertible
{
    double? value;

    AdDetailsPercentageDiscountOnAllMerchandise({this.value});
    AdDetailsPercentageDiscountOnAllMerchandise.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() => "AdDetailsPercentageDiscountOnAllMerchandise";
    TypeContext? context = _ctx;
}

class AdDetailsPercentageDiscountRangeOnAllMerchandise extends AdDetailsBase implements IConvertible
{
    double? start;
    double? stop;

    AdDetailsPercentageDiscountRangeOnAllMerchandise({this.start,this.stop});
    AdDetailsPercentageDiscountRangeOnAllMerchandise.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() => "AdDetailsPercentageDiscountRangeOnAllMerchandise";
    TypeContext? context = _ctx;
}

class AdDetailsPercentageDiscountOnSelectedMerchandise extends AdDetailsBase implements IConvertible
{
    double? value;

    AdDetailsPercentageDiscountOnSelectedMerchandise({this.value});
    AdDetailsPercentageDiscountOnSelectedMerchandise.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() => "AdDetailsPercentageDiscountOnSelectedMerchandise";
    TypeContext? context = _ctx;
}

class AdDetailsAbsoluteDiscountOnSelectedMerchandise extends AdDetailsBase implements IConvertible
{
    double? value;

    AdDetailsAbsoluteDiscountOnSelectedMerchandise({this.value});
    AdDetailsAbsoluteDiscountOnSelectedMerchandise.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() => "AdDetailsAbsoluteDiscountOnSelectedMerchandise";
    TypeContext? context = _ctx;
}

class AdDetailsAbsoluteDiscountRangeOnAllMerchandise extends AdDetailsBase implements IConvertible
{
    double? start;
    double? stop;

    AdDetailsAbsoluteDiscountRangeOnAllMerchandise({this.start,this.stop});
    AdDetailsAbsoluteDiscountRangeOnAllMerchandise.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() => "AdDetailsAbsoluteDiscountRangeOnAllMerchandise";
    TypeContext? context = _ctx;
}

class AdDetailsTotalAmountOverXgivesYdiscount extends AdDetailsBase implements IConvertible
{
    double? ifTotalAmountMoreThanX;
    double? thenYouGetDiscountPercentageY;

    AdDetailsTotalAmountOverXgivesYdiscount({this.ifTotalAmountMoreThanX,this.thenYouGetDiscountPercentageY});
    AdDetailsTotalAmountOverXgivesYdiscount.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() => "AdDetailsTotalAmountOverXgivesYdiscount";
    TypeContext? context = _ctx;
}

class AdDetailsXforYdiscount extends AdDetailsBase implements IConvertible
{
    int? ifYouBuyX;
    int? thenYouGetY;

    AdDetailsXforYdiscount({this.ifYouBuyX,this.thenYouGetY});
    AdDetailsXforYdiscount.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() => "AdDetailsXforYdiscount";
    TypeContext? context = _ctx;
}

class AdDetailsNewArrivals extends AdDetailsBase implements IConvertible
{
    AdDetailsNewArrivals();
    AdDetailsNewArrivals.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() => "AdDetailsNewArrivals";
    TypeContext? context = _ctx;
}

class AdDetailsFreetext extends AdDetailsBase implements IConvertible
{
    String? title;

    AdDetailsFreetext({this.title});
    AdDetailsFreetext.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() => "AdDetailsFreetext";
    TypeContext? context = _ctx;
}

class AdDetailsTodaysBreakFastOffer extends AdDetailsBase implements IConvertible
{
    double? value;

    AdDetailsTodaysBreakFastOffer({this.value});
    AdDetailsTodaysBreakFastOffer.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() => "AdDetailsTodaysBreakFastOffer";
    TypeContext? context = _ctx;
}

class AdDetailsTodaysLunchOffer extends AdDetailsBase implements IConvertible
{
    double? value;

    AdDetailsTodaysLunchOffer({this.value});
    AdDetailsTodaysLunchOffer.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() => "AdDetailsTodaysLunchOffer";
    TypeContext? context = _ctx;
}

class AdDetailsTodaysDinnerOffer extends AdDetailsBase implements IConvertible
{
    double? value;

    AdDetailsTodaysDinnerOffer({this.value});
    AdDetailsTodaysDinnerOffer.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() => "AdDetailsTodaysDinnerOffer";
    TypeContext? context = _ctx;
}

class AdDetailsSaveFoodAndMoney extends AdDetailsBase implements IConvertible
{
    double? value;

    AdDetailsSaveFoodAndMoney({this.value});
    AdDetailsSaveFoodAndMoney.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() => "AdDetailsSaveFoodAndMoney";
    TypeContext? context = _ctx;
}

class AdDetailsPercentageOffYourFoodBill extends AdDetailsBase implements IConvertible
{
    double? percentage;

    AdDetailsPercentageOffYourFoodBill({this.percentage});
    AdDetailsPercentageOffYourFoodBill.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() => "AdDetailsPercentageOffYourFoodBill";
    TypeContext? context = _ctx;
}

class AdDetailsHappyHour extends AdDetailsBase implements IConvertible
{
    AdDetailsHappyHour();
    AdDetailsHappyHour.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() => "AdDetailsHappyHour";
    TypeContext? context = _ctx;
}

class AdDetailsSomeFreeTablesLeftToday extends AdDetailsBase implements IConvertible
{
    AdDetailsSomeFreeTablesLeftToday();
    AdDetailsSomeFreeTablesLeftToday.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() => "AdDetailsSomeFreeTablesLeftToday";
    TypeContext? context = _ctx;
}

class AdDetailsTwoDishesForThePriceOfOne extends AdDetailsBase implements IConvertible
{
    AdDetailsTwoDishesForThePriceOfOne();
    AdDetailsTwoDishesForThePriceOfOne.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() => "AdDetailsTwoDishesForThePriceOfOne";
    TypeContext? context = _ctx;
}

class AdDetailsUnion implements IConvertible
{
    AdDetailsPercentageDiscountOnAllMerchandise? percentageOnAllMerchandise;
    AdDetailsPercentageDiscountRangeOnAllMerchandise? percentageRangeOnAllMerchandise;
    AdDetailsPercentageDiscountOnSelectedMerchandise? percentageOnSelectedMerchandise;
    AdDetailsAbsoluteDiscountOnSelectedMerchandise? absoluteOnSelectedMerchandise;
    AdDetailsAbsoluteDiscountRangeOnAllMerchandise? absoluteRangeOnAllMerchandise;
    AdDetailsTotalAmountOverXgivesYdiscount? totalAmountOverXgivesYdiscount;
    AdDetailsXforYdiscount? xforY;
    AdDetailsNewArrivals? newArrivals;
    AdDetailsFreetext? freetext;
    AdDetailsTodaysBreakFastOffer? todaysBreakFastOffer;
    AdDetailsTodaysLunchOffer? todaysLunchOffer;
    AdDetailsTodaysDinnerOffer? todaysDinnerOffer;
    AdDetailsSaveFoodAndMoney? saveFoodAndMoney;
    AdDetailsPercentageOffYourFoodBill? percentageOfYourFoodBill;
    AdDetailsHappyHour? happyHour;
    AdDetailsSomeFreeTablesLeftToday? someFreeTablesLeftToday;
    AdDetailsTwoDishesForThePriceOfOne? twoDishesForThePriceOfOne;

    AdDetailsUnion({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});
    AdDetailsUnion.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        percentageOnAllMerchandise = JsonConverters.fromJson(json['percentageOnAllMerchandise'],'AdDetailsPercentageDiscountOnAllMerchandise',context!);
        percentageRangeOnAllMerchandise = JsonConverters.fromJson(json['percentageRangeOnAllMerchandise'],'AdDetailsPercentageDiscountRangeOnAllMerchandise',context!);
        percentageOnSelectedMerchandise = JsonConverters.fromJson(json['percentageOnSelectedMerchandise'],'AdDetailsPercentageDiscountOnSelectedMerchandise',context!);
        absoluteOnSelectedMerchandise = JsonConverters.fromJson(json['absoluteOnSelectedMerchandise'],'AdDetailsAbsoluteDiscountOnSelectedMerchandise',context!);
        absoluteRangeOnAllMerchandise = JsonConverters.fromJson(json['absoluteRangeOnAllMerchandise'],'AdDetailsAbsoluteDiscountRangeOnAllMerchandise',context!);
        totalAmountOverXgivesYdiscount = JsonConverters.fromJson(json['totalAmountOverXgivesYdiscount'],'AdDetailsTotalAmountOverXgivesYdiscount',context!);
        xforY = JsonConverters.fromJson(json['xforY'],'AdDetailsXforYdiscount',context!);
        newArrivals = JsonConverters.fromJson(json['newArrivals'],'AdDetailsNewArrivals',context!);
        freetext = JsonConverters.fromJson(json['freetext'],'AdDetailsFreetext',context!);
        todaysBreakFastOffer = JsonConverters.fromJson(json['todaysBreakFastOffer'],'AdDetailsTodaysBreakFastOffer',context!);
        todaysLunchOffer = JsonConverters.fromJson(json['todaysLunchOffer'],'AdDetailsTodaysLunchOffer',context!);
        todaysDinnerOffer = JsonConverters.fromJson(json['todaysDinnerOffer'],'AdDetailsTodaysDinnerOffer',context!);
        saveFoodAndMoney = JsonConverters.fromJson(json['saveFoodAndMoney'],'AdDetailsSaveFoodAndMoney',context!);
        percentageOfYourFoodBill = JsonConverters.fromJson(json['percentageOfYourFoodBill'],'AdDetailsPercentageOffYourFoodBill',context!);
        happyHour = JsonConverters.fromJson(json['happyHour'],'AdDetailsHappyHour',context!);
        someFreeTablesLeftToday = JsonConverters.fromJson(json['someFreeTablesLeftToday'],'AdDetailsSomeFreeTablesLeftToday',context!);
        twoDishesForThePriceOfOne = JsonConverters.fromJson(json['twoDishesForThePriceOfOne'],'AdDetailsTwoDishesForThePriceOfOne',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'percentageOnAllMerchandise': JsonConverters.toJson(percentageOnAllMerchandise,'AdDetailsPercentageDiscountOnAllMerchandise',context!),
        'percentageRangeOnAllMerchandise': JsonConverters.toJson(percentageRangeOnAllMerchandise,'AdDetailsPercentageDiscountRangeOnAllMerchandise',context!),
        'percentageOnSelectedMerchandise': JsonConverters.toJson(percentageOnSelectedMerchandise,'AdDetailsPercentageDiscountOnSelectedMerchandise',context!),
        'absoluteOnSelectedMerchandise': JsonConverters.toJson(absoluteOnSelectedMerchandise,'AdDetailsAbsoluteDiscountOnSelectedMerchandise',context!),
        'absoluteRangeOnAllMerchandise': JsonConverters.toJson(absoluteRangeOnAllMerchandise,'AdDetailsAbsoluteDiscountRangeOnAllMerchandise',context!),
        'totalAmountOverXgivesYdiscount': JsonConverters.toJson(totalAmountOverXgivesYdiscount,'AdDetailsTotalAmountOverXgivesYdiscount',context!),
        'xforY': JsonConverters.toJson(xforY,'AdDetailsXforYdiscount',context!),
        'newArrivals': JsonConverters.toJson(newArrivals,'AdDetailsNewArrivals',context!),
        'freetext': JsonConverters.toJson(freetext,'AdDetailsFreetext',context!),
        'todaysBreakFastOffer': JsonConverters.toJson(todaysBreakFastOffer,'AdDetailsTodaysBreakFastOffer',context!),
        'todaysLunchOffer': JsonConverters.toJson(todaysLunchOffer,'AdDetailsTodaysLunchOffer',context!),
        'todaysDinnerOffer': JsonConverters.toJson(todaysDinnerOffer,'AdDetailsTodaysDinnerOffer',context!),
        'saveFoodAndMoney': JsonConverters.toJson(saveFoodAndMoney,'AdDetailsSaveFoodAndMoney',context!),
        'percentageOfYourFoodBill': JsonConverters.toJson(percentageOfYourFoodBill,'AdDetailsPercentageOffYourFoodBill',context!),
        'happyHour': JsonConverters.toJson(happyHour,'AdDetailsHappyHour',context!),
        'someFreeTablesLeftToday': JsonConverters.toJson(someFreeTablesLeftToday,'AdDetailsSomeFreeTablesLeftToday',context!),
        'twoDishesForThePriceOfOne': JsonConverters.toJson(twoDishesForThePriceOfOne,'AdDetailsTwoDishesForThePriceOfOne',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'BusinessApi', types: <String, TypeInfo> {
    'ImageUrls': TypeInfo(TypeOf.Class, create:() => ImageUrls()),
    'OpeningHour': TypeInfo(TypeOf.Class, create:() => OpeningHour()),
    'WeeklyOpeningHours': TypeInfo(TypeOf.Class, create:() => WeeklyOpeningHours()),
    'OpeningHours': TypeInfo(TypeOf.Class, create:() => OpeningHours()),
    'PlaceType': TypeInfo(TypeOf.Enum, enumValues:PlaceType.values),
    'PlaceContact': TypeInfo(TypeOf.Class, create:() => PlaceContact()),
    'PlaceAddress': TypeInfo(TypeOf.Class, create:() => PlaceAddress()),
    'TimeZoneDto': TypeInfo(TypeOf.Class, create:() => TimeZoneDto()),
    'PriceMainDish': TypeInfo(TypeOf.Enum, enumValues:PriceMainDish.values),
    'PriceMainDishDto': TypeInfo(TypeOf.Class, create:() => PriceMainDishDto()),
    'AdDetailsBase': TypeInfo(TypeOf.Class, create:() => AdDetailsBase()),
    'AdDetailsPercentageDiscountOnAllMerchandise': TypeInfo(TypeOf.Class, create:() => AdDetailsPercentageDiscountOnAllMerchandise()),
    'AdDetailsPercentageDiscountRangeOnAllMerchandise': TypeInfo(TypeOf.Class, create:() => AdDetailsPercentageDiscountRangeOnAllMerchandise()),
    'AdDetailsPercentageDiscountOnSelectedMerchandise': TypeInfo(TypeOf.Class, create:() => AdDetailsPercentageDiscountOnSelectedMerchandise()),
    'AdDetailsAbsoluteDiscountOnSelectedMerchandise': TypeInfo(TypeOf.Class, create:() => AdDetailsAbsoluteDiscountOnSelectedMerchandise()),
    'AdDetailsAbsoluteDiscountRangeOnAllMerchandise': TypeInfo(TypeOf.Class, create:() => AdDetailsAbsoluteDiscountRangeOnAllMerchandise()),
    'AdDetailsTotalAmountOverXgivesYdiscount': TypeInfo(TypeOf.Class, create:() => AdDetailsTotalAmountOverXgivesYdiscount()),
    'AdDetailsXforYdiscount': TypeInfo(TypeOf.Class, create:() => AdDetailsXforYdiscount()),
    'AdDetailsNewArrivals': TypeInfo(TypeOf.Class, create:() => AdDetailsNewArrivals()),
    'AdDetailsFreetext': TypeInfo(TypeOf.Class, create:() => AdDetailsFreetext()),
    'AdDetailsTodaysBreakFastOffer': TypeInfo(TypeOf.Class, create:() => AdDetailsTodaysBreakFastOffer()),
    'AdDetailsTodaysLunchOffer': TypeInfo(TypeOf.Class, create:() => AdDetailsTodaysLunchOffer()),
    'AdDetailsTodaysDinnerOffer': TypeInfo(TypeOf.Class, create:() => AdDetailsTodaysDinnerOffer()),
    'AdDetailsSaveFoodAndMoney': TypeInfo(TypeOf.Class, create:() => AdDetailsSaveFoodAndMoney()),
    'AdDetailsPercentageOffYourFoodBill': TypeInfo(TypeOf.Class, create:() => AdDetailsPercentageOffYourFoodBill()),
    'AdDetailsHappyHour': TypeInfo(TypeOf.Class, create:() => AdDetailsHappyHour()),
    'AdDetailsSomeFreeTablesLeftToday': TypeInfo(TypeOf.Class, create:() => AdDetailsSomeFreeTablesLeftToday()),
    'AdDetailsTwoDishesForThePriceOfOne': TypeInfo(TypeOf.Class, create:() => AdDetailsTwoDishesForThePriceOfOne()),
    'AdDetailsUnion': TypeInfo(TypeOf.Class, create:() => AdDetailsUnion()),
});

Dart GetAdRequest DTOs

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

HTTP + CSV

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

GET /ad/get HTTP/1.1 
Host: qa-business-api.brovs.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"ad":{"id":0,"title":"String","startAt":{"year":0,"month":0,"day":0,"hour":0,"minute":0,"second":0},"stopAt":{"year":0,"month":0,"day":0,"hour":0,"minute":0,"second":0},"publishAt":{"year":0,"month":0,"day":0,"hour":0,"minute":0,"second":0},"state":"String","updatedAt":"0001-01-01T00:00:00.0000000+00:00","imageUrls":[{"preview":"String","small":"String","medium":"String","large":"String"}],"place":{"id":0,"name":"String","businessId":0,"longitude":0,"latitude":0,"claimed":false,"organizationNumber":"String","countryCode":"String","overview":"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}}},"placeType":"Mall","contact":{"phone":"String","email":"String","website":"String","webShop":"String"},"address":{"street":"String","postalCode":"String","region":"String","countryCode":"String"},"wheelChairAccessible":false,"wifi":false,"outdoorSeating":false,"saveFoodAndMoney":false,"timeZoneDto":{"baseUtcOffset":"PT0S","daylightName":"String","displayName":"String","id":"String","standardName":"String","supportsDaylightSavingTime":false},"priceMainDish":{"title":"String","slug":"Value"},"otherServices":[{"id":0,"serviceName":"String","floor":"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"]}}}}