/* Options: Date: 2024-11-21 12:51:14 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SettingQuery.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class ScheduleViewResponse implements IConvertible { int? Id; String? Name; ScheduleViewResponse({this.Id,this.Name}); ScheduleViewResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; return this; } Map toJson() => { 'Id': Id, 'Name': Name }; getTypeName() => "ScheduleViewResponse"; TypeContext? context = _ctx; } class WeekNumberSettingResponse implements IConvertible { int? Id; String? Name; String? Description; WeekNumberSettingResponse({this.Id,this.Name,this.Description}); WeekNumberSettingResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description }; getTypeName() => "WeekNumberSettingResponse"; TypeContext? context = _ctx; } class BookingTemplateResponse implements IConvertible { int? Id; String? Name; String? Description; String? UsedByApplication; BookingTemplateResponse({this.Id,this.Name,this.Description,this.UsedByApplication}); BookingTemplateResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; UsedByApplication = json['UsedByApplication']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'UsedByApplication': UsedByApplication }; getTypeName() => "BookingTemplateResponse"; TypeContext? context = _ctx; } class CalendarTypeResponse implements IConvertible { int? Id; String? Name; String? Description; bool? Active; CalendarTypeResponse({this.Id,this.Name,this.Description,this.Active}); CalendarTypeResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Active = json['Active']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Active': Active }; getTypeName() => "CalendarTypeResponse"; TypeContext? context = _ctx; } class BookingStatusOptions implements IConvertible { int? Id; String? Name; String? Description; BookingStatusOptions({this.Id,this.Name,this.Description}); BookingStatusOptions.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description }; getTypeName() => "BookingStatusOptions"; TypeContext? context = _ctx; } class FreeSpotTextsResponse implements IConvertible { int? Id; String? TextSingular; String? TextPlural; FreeSpotTextsResponse({this.Id,this.TextSingular,this.TextPlural}); FreeSpotTextsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; TextSingular = json['TextSingular']; TextPlural = json['TextPlural']; return this; } Map toJson() => { 'Id': Id, 'TextSingular': TextSingular, 'TextPlural': TextPlural }; getTypeName() => "FreeSpotTextsResponse"; TypeContext? context = _ctx; } class SettingResponse implements IConvertible { String? CompanyId; /** * */ // @ApiMember(DataType="int", Description="") int? BookingStatusId; /** * */ // @ApiMember(DataType="int", Description="") int? ScheduleViewId; /** * */ // @ApiMember(DataType="int", Description="") int? BookingTemplateId; /** * */ // @ApiMember(DataType="int", Description="") int? CalendarTypeId; /** * */ // @ApiMember(DataType="boolean", Description="") bool? AllowBookingOnUnbookedTimes; /** * */ // @DataMember(Name="SendEmailReminder") // @ApiMember(DataType="boolean", Description="") bool? SendEmailReminder; /** * */ // @DataMember(Name="SendSmsReminder") // @ApiMember(DataType="boolean", Description="") bool? SendSmsReminder; /** * */ // @DataMember(Name="SendEmailConfirmation") // @ApiMember(DataType="boolean", Description="") bool? SendEmailConfirmation; /** * */ // @DataMember(Name="SendSmsConfirmation") // @ApiMember(DataType="boolean", Description="") bool? SendSmsConfirmation; /** * Message text field that could be used inside message templates using [MessageText]. */ // @ApiMember(DataType="string", Description="Message text field that could be used inside message templates using [MessageText].") String? MessageText; /** * */ // @ApiMember(DataType="int", Description="") int? EmailReminderTime; /** * */ // @ApiMember(DataType="int", Description="") int? SmsReminderTime; /** * */ // @ApiMember(DataType="int", Description="") int? MaxActiveBookings; /** * */ // @ApiMember(DataType="boolean", Description="") bool? SendNotifications; /** * */ // @ApiMember(DataType="string", Description="") String? SendNotificationsEmail; /** * */ // @ApiMember(DataType="boolean", Description="") bool? EnableMobileApp; /** * */ // @ApiMember(Description="") Duration? ScheduleStartTime; /** * */ // @ApiMember(DataType="boolean", Description="") Duration? ScheduleEndTime; /** * The admin scheduler if each resources should be shown in a seperate group */ // @ApiMember(DataType="boolean", Description="The admin scheduler if each resources should be shown in a seperate group") bool? ScheduleGroupResources; /** * The admin scheduler if the horizontal scrolling should be turned off */ // @ApiMember(DataType="boolean", Description="The admin scheduler if the horizontal scrolling should be turned off") bool? SchedulerDisableHorizontalScrolling; /** * */ // @ApiMember(DataType="string", Description="") String? ReceiptTemplate; /** * */ // @ApiMember(DataType="int", Description="") int? ScheduleTimeSlotMinutes; /** * */ // @ApiMember(DataType="boolean", Description="") bool? ShowFreeTimesLeft; /** * */ // @ApiMember(DataType="int", Description="") int? FreeSpotTextsId; /** * */ // @ApiMember(DataType="boolean", Description="") bool? EnableICalGroupBookings; /** * Booking agreement text. All html needs to entered using markup. Read about markup here https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet. Use this editor to create markup https://stackedit.io/app# */ // @ApiMember(DataType="string", Description="Booking agreement text. All html needs to entered using markup. Read about markup here https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet. Use this editor to create markup https://stackedit.io/app#") String? AgreementTemplate; /** * */ // @ApiMember(DataType="boolean", Description="") bool? ScheduleShowTimeExeptions; /** * */ // @ApiMember(DataType="boolean", Description="") bool? EnableBookingsOnSameTime; /** * */ // @ApiMember(DataType="int", Description="") int? ShowWeekNumberSettingId; /** * */ // @ApiMember(DataType="boolean", Description="") bool? EnableShowBookedTimes; /** * */ // @ApiMember(DataType="", Description="") int? BookSpotUserResponseMinutes; /** * */ // @ApiMember(DataType="", Description="") bool? IsBookSpotDirectly; /** * */ // @ApiMember(DataType="", Description="") int? BookSpotDirectlyTimeLeftMinutes; /** * */ // @ApiMember(DataType="", Description="") bool? SendEmailNotificationQueue; /** * */ // @ApiMember(DataType="", Description="") bool? SendSMSNotificationQueue; /** * */ // @ApiMember(Description="") bool? EnableSendFollowUpMessage; /** * When follow up message should be sent in hours after the booking. */ // @ApiMember(Description="When follow up message should be sent in hours after the booking.") int? FollowUpMessageTime; /** * If it's only allowed for existing customers to book */ // @ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book") bool? BookOnlyOnExistingCustomers; /** * If a unique pin code should be generated for the customer */ // @ApiMember(DataType="boolean", Description="If a unique pin code should be generated for the customer") bool? AutoGenerateUniquePinCode; /** * If a user profile should be created when customer is booking time. With the property customer can login. */ // @ApiMember(DataType="boolean", Description="If a user profile should be created when customer is booking time. With the property customer can login.") bool? AutoCreateUserProfile; /** * The available schedule view options to choose from */ // @ApiMember(Description="The available schedule view options to choose from") List? ScheduleViewOptions; /** * The available week number options to choose from */ // @ApiMember(Description="The available week number options to choose from") List? WeekNumberOptions; /** * The booking template options to choose from */ // @ApiMember(Description="The booking template options to choose from") List? BookingTemplateOptions; /** * The calendar type options to choose from */ // @ApiMember(Description="The calendar type options to choose from") List? CalendarTypeOptions; /** * The booking status options to choose from */ // @ApiMember(Description="The booking status options to choose from") List? BookingStatusOptions; /** * The free spot text options to choose from */ // @ApiMember(Description="The free spot text options to choose from") List? FreeSpotTextOptions; /** * If you have different prices over different times per day and want it to calculate the weighted price for the booked time. */ // @ApiMember(DataType="boolean", Description="If you have different prices over different times per day and want it to calculate the weighted price for the booked time.") bool? WeightedPrices; /** * */ // @ApiMember(DataType="boolean", Description="") bool? ShowMultiDayAsTime; /** * */ // @ApiMember(DataType="boolean", Description="") bool? ShowMultipleResourcesAsOne; SettingResponse({this.CompanyId,this.BookingStatusId,this.ScheduleViewId,this.BookingTemplateId,this.CalendarTypeId,this.AllowBookingOnUnbookedTimes,this.SendEmailReminder,this.SendSmsReminder,this.SendEmailConfirmation,this.SendSmsConfirmation,this.MessageText,this.EmailReminderTime,this.SmsReminderTime,this.MaxActiveBookings,this.SendNotifications,this.SendNotificationsEmail,this.EnableMobileApp,this.ScheduleStartTime,this.ScheduleEndTime,this.ScheduleGroupResources,this.SchedulerDisableHorizontalScrolling,this.ReceiptTemplate,this.ScheduleTimeSlotMinutes,this.ShowFreeTimesLeft,this.FreeSpotTextsId,this.EnableICalGroupBookings,this.AgreementTemplate,this.ScheduleShowTimeExeptions,this.EnableBookingsOnSameTime,this.ShowWeekNumberSettingId,this.EnableShowBookedTimes,this.BookSpotUserResponseMinutes,this.IsBookSpotDirectly,this.BookSpotDirectlyTimeLeftMinutes,this.SendEmailNotificationQueue,this.SendSMSNotificationQueue,this.EnableSendFollowUpMessage,this.FollowUpMessageTime,this.BookOnlyOnExistingCustomers,this.AutoGenerateUniquePinCode,this.AutoCreateUserProfile,this.ScheduleViewOptions,this.WeekNumberOptions,this.BookingTemplateOptions,this.CalendarTypeOptions,this.BookingStatusOptions,this.FreeSpotTextOptions,this.WeightedPrices,this.ShowMultiDayAsTime,this.ShowMultipleResourcesAsOne}); SettingResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; BookingStatusId = json['BookingStatusId']; ScheduleViewId = json['ScheduleViewId']; BookingTemplateId = json['BookingTemplateId']; CalendarTypeId = json['CalendarTypeId']; AllowBookingOnUnbookedTimes = json['AllowBookingOnUnbookedTimes']; SendEmailReminder = json['SendEmailReminder']; SendSmsReminder = json['SendSmsReminder']; SendEmailConfirmation = json['SendEmailConfirmation']; SendSmsConfirmation = json['SendSmsConfirmation']; MessageText = json['MessageText']; EmailReminderTime = json['EmailReminderTime']; SmsReminderTime = json['SmsReminderTime']; MaxActiveBookings = json['MaxActiveBookings']; SendNotifications = json['SendNotifications']; SendNotificationsEmail = json['SendNotificationsEmail']; EnableMobileApp = json['EnableMobileApp']; ScheduleStartTime = JsonConverters.fromJson(json['ScheduleStartTime'],'Duration',context!); ScheduleEndTime = JsonConverters.fromJson(json['ScheduleEndTime'],'Duration',context!); ScheduleGroupResources = json['ScheduleGroupResources']; SchedulerDisableHorizontalScrolling = json['SchedulerDisableHorizontalScrolling']; ReceiptTemplate = json['ReceiptTemplate']; ScheduleTimeSlotMinutes = json['ScheduleTimeSlotMinutes']; ShowFreeTimesLeft = json['ShowFreeTimesLeft']; FreeSpotTextsId = json['FreeSpotTextsId']; EnableICalGroupBookings = json['EnableICalGroupBookings']; AgreementTemplate = json['AgreementTemplate']; ScheduleShowTimeExeptions = json['ScheduleShowTimeExeptions']; EnableBookingsOnSameTime = json['EnableBookingsOnSameTime']; ShowWeekNumberSettingId = json['ShowWeekNumberSettingId']; EnableShowBookedTimes = json['EnableShowBookedTimes']; BookSpotUserResponseMinutes = json['BookSpotUserResponseMinutes']; IsBookSpotDirectly = json['IsBookSpotDirectly']; BookSpotDirectlyTimeLeftMinutes = json['BookSpotDirectlyTimeLeftMinutes']; SendEmailNotificationQueue = json['SendEmailNotificationQueue']; SendSMSNotificationQueue = json['SendSMSNotificationQueue']; EnableSendFollowUpMessage = json['EnableSendFollowUpMessage']; FollowUpMessageTime = json['FollowUpMessageTime']; BookOnlyOnExistingCustomers = json['BookOnlyOnExistingCustomers']; AutoGenerateUniquePinCode = json['AutoGenerateUniquePinCode']; AutoCreateUserProfile = json['AutoCreateUserProfile']; ScheduleViewOptions = JsonConverters.fromJson(json['ScheduleViewOptions'],'List',context!); WeekNumberOptions = JsonConverters.fromJson(json['WeekNumberOptions'],'List',context!); BookingTemplateOptions = JsonConverters.fromJson(json['BookingTemplateOptions'],'List',context!); CalendarTypeOptions = JsonConverters.fromJson(json['CalendarTypeOptions'],'List',context!); BookingStatusOptions = JsonConverters.fromJson(json['BookingStatusOptions'],'List',context!); FreeSpotTextOptions = JsonConverters.fromJson(json['FreeSpotTextOptions'],'List',context!); WeightedPrices = json['WeightedPrices']; ShowMultiDayAsTime = json['ShowMultiDayAsTime']; ShowMultipleResourcesAsOne = json['ShowMultipleResourcesAsOne']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'BookingStatusId': BookingStatusId, 'ScheduleViewId': ScheduleViewId, 'BookingTemplateId': BookingTemplateId, 'CalendarTypeId': CalendarTypeId, 'AllowBookingOnUnbookedTimes': AllowBookingOnUnbookedTimes, 'SendEmailReminder': SendEmailReminder, 'SendSmsReminder': SendSmsReminder, 'SendEmailConfirmation': SendEmailConfirmation, 'SendSmsConfirmation': SendSmsConfirmation, 'MessageText': MessageText, 'EmailReminderTime': EmailReminderTime, 'SmsReminderTime': SmsReminderTime, 'MaxActiveBookings': MaxActiveBookings, 'SendNotifications': SendNotifications, 'SendNotificationsEmail': SendNotificationsEmail, 'EnableMobileApp': EnableMobileApp, 'ScheduleStartTime': JsonConverters.toJson(ScheduleStartTime,'Duration',context!), 'ScheduleEndTime': JsonConverters.toJson(ScheduleEndTime,'Duration',context!), 'ScheduleGroupResources': ScheduleGroupResources, 'SchedulerDisableHorizontalScrolling': SchedulerDisableHorizontalScrolling, 'ReceiptTemplate': ReceiptTemplate, 'ScheduleTimeSlotMinutes': ScheduleTimeSlotMinutes, 'ShowFreeTimesLeft': ShowFreeTimesLeft, 'FreeSpotTextsId': FreeSpotTextsId, 'EnableICalGroupBookings': EnableICalGroupBookings, 'AgreementTemplate': AgreementTemplate, 'ScheduleShowTimeExeptions': ScheduleShowTimeExeptions, 'EnableBookingsOnSameTime': EnableBookingsOnSameTime, 'ShowWeekNumberSettingId': ShowWeekNumberSettingId, 'EnableShowBookedTimes': EnableShowBookedTimes, 'BookSpotUserResponseMinutes': BookSpotUserResponseMinutes, 'IsBookSpotDirectly': IsBookSpotDirectly, 'BookSpotDirectlyTimeLeftMinutes': BookSpotDirectlyTimeLeftMinutes, 'SendEmailNotificationQueue': SendEmailNotificationQueue, 'SendSMSNotificationQueue': SendSMSNotificationQueue, 'EnableSendFollowUpMessage': EnableSendFollowUpMessage, 'FollowUpMessageTime': FollowUpMessageTime, 'BookOnlyOnExistingCustomers': BookOnlyOnExistingCustomers, 'AutoGenerateUniquePinCode': AutoGenerateUniquePinCode, 'AutoCreateUserProfile': AutoCreateUserProfile, 'ScheduleViewOptions': JsonConverters.toJson(ScheduleViewOptions,'List',context!), 'WeekNumberOptions': JsonConverters.toJson(WeekNumberOptions,'List',context!), 'BookingTemplateOptions': JsonConverters.toJson(BookingTemplateOptions,'List',context!), 'CalendarTypeOptions': JsonConverters.toJson(CalendarTypeOptions,'List',context!), 'BookingStatusOptions': JsonConverters.toJson(BookingStatusOptions,'List',context!), 'FreeSpotTextOptions': JsonConverters.toJson(FreeSpotTextOptions,'List',context!), 'WeightedPrices': WeightedPrices, 'ShowMultiDayAsTime': ShowMultiDayAsTime, 'ShowMultipleResourcesAsOne': ShowMultipleResourcesAsOne }; getTypeName() => "SettingResponse"; TypeContext? context = _ctx; } // @Route("/settings", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403) // @ValidateRequest(Validator="IsAuthenticated") class SettingQuery implements IReturn, IConvertible, IGet { /** * If you want to include the schedule views to select from */ // @ApiMember(DataType="boolean", Description="If you want to include the schedule views to select from", ParameterType="query") bool? IncludeScheduleViewOptions; /** * If you want to include the week number settings to select from */ // @ApiMember(DataType="boolean", Description="If you want to include the week number settings to select from", ParameterType="query") bool? IncludeWeekNumberOptions; /** * If you want to include the booking template options to select from */ // @ApiMember(DataType="boolean", Description="If you want to include the booking template options to select from", ParameterType="query") bool? IncludeBookingTemplateOptions; /** * If you want to include the calendar type options to select from */ // @ApiMember(DataType="boolean", Description="If you want to include the calendar type options to select from", ParameterType="query") bool? IncludeCalendarTypeOptions; /** * If you want to include the booking status options to select from */ // @ApiMember(DataType="boolean", Description="If you want to include the booking status options to select from", ParameterType="query") bool? IncludeBookingStatusOptions; /** * If you want to include the Free spot text options to select from */ // @ApiMember(DataType="boolean", Description="If you want to include the Free spot text options to select from", ParameterType="query") bool? IncludeFreeSpotTextOptions; SettingQuery({this.IncludeScheduleViewOptions,this.IncludeWeekNumberOptions,this.IncludeBookingTemplateOptions,this.IncludeCalendarTypeOptions,this.IncludeBookingStatusOptions,this.IncludeFreeSpotTextOptions}); SettingQuery.fromJson(Map json) { fromMap(json); } fromMap(Map json) { IncludeScheduleViewOptions = json['IncludeScheduleViewOptions']; IncludeWeekNumberOptions = json['IncludeWeekNumberOptions']; IncludeBookingTemplateOptions = json['IncludeBookingTemplateOptions']; IncludeCalendarTypeOptions = json['IncludeCalendarTypeOptions']; IncludeBookingStatusOptions = json['IncludeBookingStatusOptions']; IncludeFreeSpotTextOptions = json['IncludeFreeSpotTextOptions']; return this; } Map toJson() => { 'IncludeScheduleViewOptions': IncludeScheduleViewOptions, 'IncludeWeekNumberOptions': IncludeWeekNumberOptions, 'IncludeBookingTemplateOptions': IncludeBookingTemplateOptions, 'IncludeCalendarTypeOptions': IncludeCalendarTypeOptions, 'IncludeBookingStatusOptions': IncludeBookingStatusOptions, 'IncludeFreeSpotTextOptions': IncludeFreeSpotTextOptions }; createResponse() => SettingResponse(); getResponseTypeName() => "SettingResponse"; getTypeName() => "SettingQuery"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'ScheduleViewResponse': TypeInfo(TypeOf.Class, create:() => ScheduleViewResponse()), 'WeekNumberSettingResponse': TypeInfo(TypeOf.Class, create:() => WeekNumberSettingResponse()), 'BookingTemplateResponse': TypeInfo(TypeOf.Class, create:() => BookingTemplateResponse()), 'CalendarTypeResponse': TypeInfo(TypeOf.Class, create:() => CalendarTypeResponse()), 'BookingStatusOptions': TypeInfo(TypeOf.Class, create:() => BookingStatusOptions()), 'FreeSpotTextsResponse': TypeInfo(TypeOf.Class, create:() => FreeSpotTextsResponse()), 'SettingResponse': TypeInfo(TypeOf.Class, create:() => SettingResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SettingQuery': TypeInfo(TypeOf.Class, create:() => SettingQuery()), });