/* Options: Date: 2025-12-12 22:07:02 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reservation.api.dev.86degrees.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: MakeBooking.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class SlotStatus { static const SlotStatus Available = const SlotStatus._(0); static const SlotStatus Closed = const SlotStatus._(1); static const SlotStatus Booked = const SlotStatus._(2); static const SlotStatus UserBooked = const SlotStatus._(3); static const SlotStatus GroupBooked = const SlotStatus._(4); static const SlotStatus ToBook = const SlotStatus._(5); final int _value; const SlotStatus._(this._value); int get value => _value; static List get values => const [Available,Closed,Booked,UserBooked,GroupBooked,ToBook]; } class UserCustomFieldData implements IConvertible { String? id; String? value; String? name; bool? optional; UserCustomFieldData({this.id,this.value,this.name,this.optional}); UserCustomFieldData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; value = json['value']; name = json['name']; optional = json['optional']; return this; } Map toJson() => { 'id': id, 'value': value, 'name': name, 'optional': optional }; getTypeName() => "UserCustomFieldData"; TypeContext? context = _ctx; } class GuestData implements IConvertible { String? name; String? emailAddress; String? mobileNumber; List? userCustomFields; bool? isAlreadyUser; int? systemUserId; GuestData({this.name,this.emailAddress,this.mobileNumber,this.userCustomFields,this.isAlreadyUser,this.systemUserId}); GuestData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { name = json['name']; emailAddress = json['emailAddress']; mobileNumber = json['mobileNumber']; userCustomFields = JsonConverters.fromJson(json['userCustomFields'],'List',context!); isAlreadyUser = json['isAlreadyUser']; systemUserId = json['systemUserId']; return this; } Map toJson() => { 'name': name, 'emailAddress': emailAddress, 'mobileNumber': mobileNumber, 'userCustomFields': JsonConverters.toJson(userCustomFields,'List',context!), 'isAlreadyUser': isAlreadyUser, 'systemUserId': systemUserId }; getTypeName() => "GuestData"; TypeContext? context = _ctx; } class SlotData implements IConvertible { String? start; String? end; SlotStatus? status; int? bookingId; bool? remindStart; bool? remind30Mins; bool? remind1Hour; bool? remind6Hours; bool? remind12Hours; bool? remind1Day; bool? remind1Week; double? billableAmount; String? bookedByName; double? billableHours; double? slotLength; GuestData? userData; String? extraRequirements; SlotData({this.start,this.end,this.status,this.bookingId,this.remindStart,this.remind30Mins,this.remind1Hour,this.remind6Hours,this.remind12Hours,this.remind1Day,this.remind1Week,this.billableAmount,this.bookedByName,this.billableHours,this.slotLength,this.userData,this.extraRequirements}); SlotData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { start = json['start']; end = json['end']; status = JsonConverters.fromJson(json['status'],'SlotStatus',context!); bookingId = json['bookingId']; remindStart = json['remindStart']; remind30Mins = json['remind30Mins']; remind1Hour = json['remind1Hour']; remind6Hours = json['remind6Hours']; remind12Hours = json['remind12Hours']; remind1Day = json['remind1Day']; remind1Week = json['remind1Week']; billableAmount = JsonConverters.toDouble(json['billableAmount']); bookedByName = json['bookedByName']; billableHours = JsonConverters.toDouble(json['billableHours']); slotLength = JsonConverters.toDouble(json['slotLength']); userData = JsonConverters.fromJson(json['userData'],'GuestData',context!); extraRequirements = json['extraRequirements']; return this; } Map toJson() => { 'start': start, 'end': end, 'status': JsonConverters.toJson(status,'SlotStatus',context!), 'bookingId': bookingId, 'remindStart': remindStart, 'remind30Mins': remind30Mins, 'remind1Hour': remind1Hour, 'remind6Hours': remind6Hours, 'remind12Hours': remind12Hours, 'remind1Day': remind1Day, 'remind1Week': remind1Week, 'billableAmount': billableAmount, 'bookedByName': bookedByName, 'billableHours': billableHours, 'slotLength': slotLength, 'userData': JsonConverters.toJson(userData,'GuestData',context!), 'extraRequirements': extraRequirements }; getTypeName() => "SlotData"; TypeContext? context = _ctx; } class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible { /** * The API Key required for authentication */ // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true) String? apiKey; /** * Latitude of the user making this request */ // @ApiMember(DataType="double", Description="Latitude of the user making this request") double? latitude; /** * Longitude of the user making this request */ // @ApiMember(DataType="double", Description="Longitude of the user making this request") double? longitude; ApiServiceRequest({this.apiKey,this.latitude,this.longitude}); ApiServiceRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { apiKey = json['apiKey']; latitude = JsonConverters.toDouble(json['latitude']); longitude = JsonConverters.toDouble(json['longitude']); return this; } Map toJson() => { 'apiKey': apiKey, 'latitude': latitude, 'longitude': longitude }; getTypeName() => "ApiServiceRequest"; TypeContext? context = _ctx; } abstract class IServiceRequest { } abstract class IHasApiKey { String? apiKey; } abstract class IHasDeviceInfo { } class ApiServiceResponse implements IServiceResponse, IConvertible { String? description; String? heading; bool? wasSuccessful; dynamic? modelState; ApiServiceResponse({this.description,this.heading,this.wasSuccessful,this.modelState}); ApiServiceResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { description = json['description']; heading = json['heading']; wasSuccessful = json['wasSuccessful']; modelState = JsonConverters.fromJson(json['modelState'],'dynamic',context!); return this; } Map toJson() => { 'description': description, 'heading': heading, 'wasSuccessful': wasSuccessful, 'modelState': JsonConverters.toJson(modelState,'dynamic',context!) }; getTypeName() => "ApiServiceResponse"; TypeContext? context = _ctx; } class MakeBookingResponse extends ApiServiceResponse implements IConvertible { bool? reloadSchedule; MakeBookingResponse({this.reloadSchedule}); MakeBookingResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); reloadSchedule = json['reloadSchedule']; return this; } Map toJson() => super.toJson()..addAll({ 'reloadSchedule': reloadSchedule }); getTypeName() => "MakeBookingResponse"; TypeContext? context = _ctx; } class MakeBooking extends ApiServiceRequest implements IReturn, IConvertible, IPost { int? facilityId; int? bookingUserId; List? requestedSlots; bool? remindStart; bool? remind30Mins; bool? remind1Hour; bool? remind6Hours; bool? remind12Hours; bool? remind1Day; bool? remind1Week; GuestData? guestData; int? utcOffset; String? extraRequirements; MakeBooking({this.facilityId,this.bookingUserId,this.requestedSlots,this.remindStart,this.remind30Mins,this.remind1Hour,this.remind6Hours,this.remind12Hours,this.remind1Day,this.remind1Week,this.guestData,this.utcOffset,this.extraRequirements}); MakeBooking.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); facilityId = json['facilityId']; bookingUserId = json['bookingUserId']; requestedSlots = JsonConverters.fromJson(json['requestedSlots'],'List',context!); remindStart = json['remindStart']; remind30Mins = json['remind30Mins']; remind1Hour = json['remind1Hour']; remind6Hours = json['remind6Hours']; remind12Hours = json['remind12Hours']; remind1Day = json['remind1Day']; remind1Week = json['remind1Week']; guestData = JsonConverters.fromJson(json['guestData'],'GuestData',context!); utcOffset = json['utcOffset']; extraRequirements = json['extraRequirements']; return this; } Map toJson() => super.toJson()..addAll({ 'facilityId': facilityId, 'bookingUserId': bookingUserId, 'requestedSlots': JsonConverters.toJson(requestedSlots,'List',context!), 'remindStart': remindStart, 'remind30Mins': remind30Mins, 'remind1Hour': remind1Hour, 'remind6Hours': remind6Hours, 'remind12Hours': remind12Hours, 'remind1Day': remind1Day, 'remind1Week': remind1Week, 'guestData': JsonConverters.toJson(guestData,'GuestData',context!), 'utcOffset': utcOffset, 'extraRequirements': extraRequirements }); createResponse() => MakeBookingResponse(); getResponseTypeName() => "MakeBookingResponse"; getTypeName() => "MakeBooking"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'reservation.api.dev.86degrees.com', types: { 'SlotStatus': TypeInfo(TypeOf.Enum, enumValues:SlotStatus.values), 'UserCustomFieldData': TypeInfo(TypeOf.Class, create:() => UserCustomFieldData()), 'GuestData': TypeInfo(TypeOf.Class, create:() => GuestData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SlotData': TypeInfo(TypeOf.Class, create:() => SlotData()), 'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()), 'IServiceRequest': TypeInfo(TypeOf.Interface), 'IHasApiKey': TypeInfo(TypeOf.Interface), 'IHasDeviceInfo': TypeInfo(TypeOf.Interface), 'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()), 'MakeBookingResponse': TypeInfo(TypeOf.Class, create:() => MakeBookingResponse()), 'MakeBooking': TypeInfo(TypeOf.Class, create:() => MakeBooking()), 'List': TypeInfo(TypeOf.Class, create:() => []), });