| GET | /user/status |
|---|
library BusinessApi;
import 'package:servicestack/servicestack.dart';
enum Locale
{
EnUs,
NbNo,
}
enum BusinessRole
{
Owner,
Manager,
Sales,
Marketing,
Other,
}
class BusinessContact implements IConvertible
{
String? firstName;
String? lastName;
String? position;
String? phone;
String? email;
BusinessContact({this.firstName,this.lastName,this.position,this.phone,this.email});
BusinessContact.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
firstName = json['firstName'];
lastName = json['lastName'];
position = json['position'];
phone = json['phone'];
email = json['email'];
return this;
}
Map<String, dynamic> toJson() => {
'firstName': firstName,
'lastName': lastName,
'position': position,
'phone': phone,
'email': email
};
getTypeName() => "BusinessContact";
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;
}
TypeContext _ctx = TypeContext(library: 'BusinessApi', types: <String, TypeInfo> {
'Locale': TypeInfo(TypeOf.Enum, enumValues:Locale.values),
'BusinessRole': TypeInfo(TypeOf.Enum, enumValues:BusinessRole.values),
'BusinessContact': TypeInfo(TypeOf.Class, create:() => BusinessContact()),
'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()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /user/status HTTP/1.1 Host: business-api.brovs.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
status: SignInOrUp,
userDto:
{
id: 0,
email: String,
firstName: String,
lastName: String,
mobilePhone: String,
legalIdentityVerified: False,
locale: EnUs
},
invitations:
[
{
id: 0,
userId: 0,
placeId: 0,
placeGuid: 00000000-0000-0000-0000-000000000000,
inviteKey: String,
businessId: 0,
firstName: String,
lastName: String,
placeName: String,
businessName: String,
role: Owner,
businessRole: Owner,
createdAt: 0001-01-01,
updatedAt: 0001-01-01
}
],
roles:
[
String
],
businesses:
[
{
id: 0,
name: String,
organizationNumber: String,
streetAddress: String,
postalCode: String,
city: String,
country: String,
contact:
{
firstName: String,
lastName: String,
position: String,
phone: String,
email: String
}
}
],
places:
[
{
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
}
]
}