/* Options: Date: 2025-12-11 09:29:44 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: GetFacilitySchedule.* //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 RatesItem implements IConvertible { double? rate; int? minutes; RatesItem({this.rate,this.minutes}); RatesItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { rate = JsonConverters.toDouble(json['rate']); minutes = json['minutes']; return this; } Map toJson() => { 'rate': rate, 'minutes': minutes }; getTypeName() => "RatesItem"; TypeContext? context = _ctx; } class FacilityData implements IConvertible { int? facilityId; String? facilityGuid; String? name; String? description; String? nextAvailable; bool? hasNextAvailable; List? rates; String? themeColor; String? bookingNotes; int? leadTime; int? venueId; bool? allowExtraRequirements; FacilityData({this.facilityId,this.facilityGuid,this.name,this.description,this.nextAvailable,this.hasNextAvailable,this.rates,this.themeColor,this.bookingNotes,this.leadTime,this.venueId,this.allowExtraRequirements}); FacilityData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { facilityId = json['facilityId']; facilityGuid = json['facilityGuid']; name = json['name']; description = json['description']; nextAvailable = json['nextAvailable']; hasNextAvailable = json['hasNextAvailable']; rates = JsonConverters.fromJson(json['rates'],'List',context!); themeColor = json['themeColor']; bookingNotes = json['bookingNotes']; leadTime = json['leadTime']; venueId = json['venueId']; allowExtraRequirements = json['allowExtraRequirements']; return this; } Map toJson() => { 'facilityId': facilityId, 'facilityGuid': facilityGuid, 'name': name, 'description': description, 'nextAvailable': nextAvailable, 'hasNextAvailable': hasNextAvailable, 'rates': JsonConverters.toJson(rates,'List',context!), 'themeColor': themeColor, 'bookingNotes': bookingNotes, 'leadTime': leadTime, 'venueId': venueId, 'allowExtraRequirements': allowExtraRequirements }; getTypeName() => "FacilityData"; TypeContext? context = _ctx; } class ScheduleDayData implements IConvertible { String? date; List? slots; ScheduleDayData({this.date,this.slots}); ScheduleDayData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { date = json['date']; slots = JsonConverters.fromJson(json['slots'],'List',context!); return this; } Map toJson() => { 'date': date, 'slots': JsonConverters.toJson(slots,'List',context!) }; getTypeName() => "ScheduleDayData"; TypeContext? context = _ctx; } 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 GetFacilityScheduleResponse extends ApiServiceResponse implements IConvertible { List? schedule; String? bookAheadMaxDate; int? openHour; int? closeHour; int? duration; bool? isCoordinator; int? facilityTimeOffset; FacilityData? facility; String? venueName; bool? allowGuests; bool? allowExtraRequirements; bool? allowBookingInProgress; GetFacilityScheduleResponse({this.schedule,this.bookAheadMaxDate,this.openHour,this.closeHour,this.duration,this.isCoordinator,this.facilityTimeOffset,this.facility,this.venueName,this.allowGuests,this.allowExtraRequirements,this.allowBookingInProgress}); GetFacilityScheduleResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); schedule = JsonConverters.fromJson(json['schedule'],'List',context!); bookAheadMaxDate = json['bookAheadMaxDate']; openHour = json['openHour']; closeHour = json['closeHour']; duration = json['duration']; isCoordinator = json['isCoordinator']; facilityTimeOffset = json['facilityTimeOffset']; facility = JsonConverters.fromJson(json['facility'],'FacilityData',context!); venueName = json['venueName']; allowGuests = json['allowGuests']; allowExtraRequirements = json['allowExtraRequirements']; allowBookingInProgress = json['allowBookingInProgress']; return this; } Map toJson() => super.toJson()..addAll({ 'schedule': JsonConverters.toJson(schedule,'List',context!), 'bookAheadMaxDate': bookAheadMaxDate, 'openHour': openHour, 'closeHour': closeHour, 'duration': duration, 'isCoordinator': isCoordinator, 'facilityTimeOffset': facilityTimeOffset, 'facility': JsonConverters.toJson(facility,'FacilityData',context!), 'venueName': venueName, 'allowGuests': allowGuests, 'allowExtraRequirements': allowExtraRequirements, 'allowBookingInProgress': allowBookingInProgress }); getTypeName() => "GetFacilityScheduleResponse"; TypeContext? context = _ctx; } class GetFacilitySchedule extends ApiServiceRequest implements IReturn, IConvertible, IGet { int? facilityId; DateTime? start; DateTime? end; GetFacilitySchedule({this.facilityId,this.start,this.end}); GetFacilitySchedule.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); facilityId = json['facilityId']; start = JsonConverters.fromJson(json['start'],'DateTime',context!); end = JsonConverters.fromJson(json['end'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'facilityId': facilityId, 'start': JsonConverters.toJson(start,'DateTime',context!), 'end': JsonConverters.toJson(end,'DateTime',context!) }); createResponse() => GetFacilityScheduleResponse(); getResponseTypeName() => "GetFacilityScheduleResponse"; getTypeName() => "GetFacilitySchedule"; 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), 'RatesItem': TypeInfo(TypeOf.Class, create:() => RatesItem()), 'FacilityData': TypeInfo(TypeOf.Class, create:() => FacilityData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ScheduleDayData': TypeInfo(TypeOf.Class, create:() => ScheduleDayData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()), 'GetFacilityScheduleResponse': TypeInfo(TypeOf.Class, create:() => GetFacilityScheduleResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetFacilitySchedule': TypeInfo(TypeOf.Class, create:() => GetFacilitySchedule()), });