/* Options: Date: 2024-07-03 13:19:31 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: UpdateHomepageWidgetSettings.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class HomepageWidgetServiceLayoutsResponse implements IConvertible { /** * The layout id. */ // @ApiMember(Description="The layout id.") int? Id; /** * The layout name. */ // @ApiMember(Description="The layout name.") String? Name; /** * The layout description. */ // @ApiMember(Description="The layout description.") String? Description; /** * The layout code. */ // @ApiMember(Description="The layout code.") String? Code; HomepageWidgetServiceLayoutsResponse({this.Id,this.Name,this.Description,this.Code}); HomepageWidgetServiceLayoutsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Code = json['Code']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Code': Code }; getTypeName() => "HomepageWidgetServiceLayoutsResponse"; TypeContext? context = _ctx; } class HomepageWidgetTimeLayoutsResponse implements IConvertible { /** * The layout id. */ // @ApiMember(Description="The layout id.") int? Id; /** * The layout name. */ // @ApiMember(Description="The layout name.") String? Name; /** * The layout description. */ // @ApiMember(Description="The layout description.") String? Description; /** * The layout code. */ // @ApiMember(Description="The layout code.") String? Code; HomepageWidgetTimeLayoutsResponse({this.Id,this.Name,this.Description,this.Code}); HomepageWidgetTimeLayoutsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Code = json['Code']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Code': Code }; getTypeName() => "HomepageWidgetTimeLayoutsResponse"; TypeContext? context = _ctx; } class HomepageWidgetBookingLayoutsResponse implements IConvertible { /** * The layout id. */ // @ApiMember(Description="The layout id.") int? Id; /** * The layout name. */ // @ApiMember(Description="The layout name.") String? Name; /** * The layout description. */ // @ApiMember(Description="The layout description.") String? Description; /** * The layout code. */ // @ApiMember(Description="The layout code.") String? Code; HomepageWidgetBookingLayoutsResponse({this.Id,this.Name,this.Description,this.Code}); HomepageWidgetBookingLayoutsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Code = json['Code']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Code': Code }; getTypeName() => "HomepageWidgetBookingLayoutsResponse"; TypeContext? context = _ctx; } class HomepageWidgetBookingMethodsResponse implements IConvertible { /** * The layout id. */ // @ApiMember(Description="The layout id.") int? Id; /** * The layout name. */ // @ApiMember(Description="The layout name.") String? Name; /** * The layout description. */ // @ApiMember(Description="The layout description.") String? Description; /** * The layout code. */ // @ApiMember(Description="The layout code.") String? Code; HomepageWidgetBookingMethodsResponse({this.Id,this.Name,this.Description,this.Code}); HomepageWidgetBookingMethodsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Code = json['Code']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Code': Code }; getTypeName() => "HomepageWidgetBookingMethodsResponse"; TypeContext? context = _ctx; } class HomepageWidgetSettingsQueryResponse implements IConvertible { /** * The company id. */ // @ApiMember(Description="The company id.") String? CompanyId; /** * The service layouts id. */ // @ApiMember(Description="The service layouts id.") int? ServiceLayoutId; /** * The time layouts id. */ // @ApiMember(Description="The time layouts id.") int? TimeLayoutId; /** * The booking layouts id. */ // @ApiMember(Description="The booking layouts id.") int? BookingLayoutId; /** * The primary color of the booking widget. */ // @ApiMember(Description="The primary color of the booking widget.") String? PrimaryColor; /** * If you should show the service image in the booking widget. */ // @ApiMember(Description="If you should show the service image in the booking widget.") bool? ShowServiceImage; /** * If you should show the rebate code field in the booking widget. */ // @ApiMember(Description="If you should show the rebate code field in the booking widget.") bool? ShowRebateCodeField; /** * If you should show the next available time in the booking widget. */ // @ApiMember(Description="If you should show the next available time in the booking widget.") bool? ShowNextAvailableTime; /** * If you should show the create account option. */ // @ApiMember(Description="If you should show the create account option.") bool? EnableCreateAccount; /** * If you should show the login to account option. */ // @ApiMember(Description="If you should show the login to account option.") bool? EnableLogin; /** * If you should show the facebook login to account option. */ // @ApiMember(Description="If you should show the facebook login to account option.") bool? EnableFacebookLogin; /** * If you should show the direct booking option. This enables customer to book with entering contact information. */ // @ApiMember(Description="If you should show the direct booking option. This enables customer to book with entering contact information.") bool? EnableDirectBooking; /** * If the site should have dark theme or not. */ // @ApiMember(Description="If the site should have dark theme or not.") bool? DarkTheme; /** * If you should show the end time in the booking widget. */ // @ApiMember(Description="If you should show the end time in the booking widget.") bool? ShowEndTime; /** * What text to show on booked time slots. Default text is Booked */ // @ApiMember(Description="What text to show on booked time slots. Default text is Booked") String? BookedTimeSlotText; List? ServiceLayoutOptions; List? TimeLayoutOptions; List? BookingLayoutOptions; List? BookingMethodOptions; HomepageWidgetSettingsQueryResponse({this.CompanyId,this.ServiceLayoutId,this.TimeLayoutId,this.BookingLayoutId,this.PrimaryColor,this.ShowServiceImage,this.ShowRebateCodeField,this.ShowNextAvailableTime,this.EnableCreateAccount,this.EnableLogin,this.EnableFacebookLogin,this.EnableDirectBooking,this.DarkTheme,this.ShowEndTime,this.BookedTimeSlotText,this.ServiceLayoutOptions,this.TimeLayoutOptions,this.BookingLayoutOptions,this.BookingMethodOptions}); HomepageWidgetSettingsQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; ServiceLayoutId = json['ServiceLayoutId']; TimeLayoutId = json['TimeLayoutId']; BookingLayoutId = json['BookingLayoutId']; PrimaryColor = json['PrimaryColor']; ShowServiceImage = json['ShowServiceImage']; ShowRebateCodeField = json['ShowRebateCodeField']; ShowNextAvailableTime = json['ShowNextAvailableTime']; EnableCreateAccount = json['EnableCreateAccount']; EnableLogin = json['EnableLogin']; EnableFacebookLogin = json['EnableFacebookLogin']; EnableDirectBooking = json['EnableDirectBooking']; DarkTheme = json['DarkTheme']; ShowEndTime = json['ShowEndTime']; BookedTimeSlotText = json['BookedTimeSlotText']; ServiceLayoutOptions = JsonConverters.fromJson(json['ServiceLayoutOptions'],'List',context!); TimeLayoutOptions = JsonConverters.fromJson(json['TimeLayoutOptions'],'List',context!); BookingLayoutOptions = JsonConverters.fromJson(json['BookingLayoutOptions'],'List',context!); BookingMethodOptions = JsonConverters.fromJson(json['BookingMethodOptions'],'List',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'ServiceLayoutId': ServiceLayoutId, 'TimeLayoutId': TimeLayoutId, 'BookingLayoutId': BookingLayoutId, 'PrimaryColor': PrimaryColor, 'ShowServiceImage': ShowServiceImage, 'ShowRebateCodeField': ShowRebateCodeField, 'ShowNextAvailableTime': ShowNextAvailableTime, 'EnableCreateAccount': EnableCreateAccount, 'EnableLogin': EnableLogin, 'EnableFacebookLogin': EnableFacebookLogin, 'EnableDirectBooking': EnableDirectBooking, 'DarkTheme': DarkTheme, 'ShowEndTime': ShowEndTime, 'BookedTimeSlotText': BookedTimeSlotText, 'ServiceLayoutOptions': JsonConverters.toJson(ServiceLayoutOptions,'List',context!), 'TimeLayoutOptions': JsonConverters.toJson(TimeLayoutOptions,'List',context!), 'BookingLayoutOptions': JsonConverters.toJson(BookingLayoutOptions,'List',context!), 'BookingMethodOptions': JsonConverters.toJson(BookingMethodOptions,'List',context!) }; getTypeName() => "HomepageWidgetSettingsQueryResponse"; TypeContext? context = _ctx; } // @Route("/homepage/widget/settings", "PUT") // @ValidateRequest(Validator="IsAuthenticated") class UpdateHomepageWidgetSettings implements IReturn, ICompany, IConvertible, IPut { /** * The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") String? CompanyId; /** * Serivce Layout. */ // @ApiMember(Description="Serivce Layout.") int? ServiceLayoutId; /** * Time Layout. */ // @ApiMember(Description="Time Layout.") int? TimeLayoutId; /** * Booking Layout. */ // @ApiMember(Description="Booking Layout.") int? BookingLayoutId; /** * The primary color of the booking widget. */ // @ApiMember(Description="The primary color of the booking widget.") String? PrimaryColor; /** * If the site should have dark theme or not. */ // @ApiMember(Description="If the site should have dark theme or not.") bool? DarkTheme; /** * If you should show the service image in the booking widget. */ // @ApiMember(Description="If you should show the service image in the booking widget.") bool? ShowServiceImage; /** * If you should show the rebate code field in the booking widget. */ // @ApiMember(Description="If you should show the rebate code field in the booking widget.") bool? ShowRebateCodeField; /** * If you should show the next available time in the booking widget. */ // @ApiMember(Description="If you should show the next available time in the booking widget.") bool? ShowNextAvailableTime; /** * If you should show the end time in the booking widget. */ // @ApiMember(Description="If you should show the end time in the booking widget.") bool? ShowEndTime; /** * What text to show on booked time slots. Default text is Booked */ // @ApiMember(Description="What text to show on booked time slots. Default text is Booked") String? BookedTimeSlotText; /** * If you should show the create account option. */ // @ApiMember(Description="If you should show the create account option.") bool? EnableCreateAccount; /** * If you should show the login to account option. */ // @ApiMember(Description="If you should show the login to account option.") bool? EnableLogin; /** * If you should show the facebook login to account option. */ // @ApiMember(Description="If you should show the facebook login to account option.") bool? EnableFacebookLogin; /** * If you should show the direct booking option. This enables customer to book with entering contact information. */ // @ApiMember(Description="If you should show the direct booking option. This enables customer to book with entering contact information.") bool? EnableDirectBooking; UpdateHomepageWidgetSettings({this.CompanyId,this.ServiceLayoutId,this.TimeLayoutId,this.BookingLayoutId,this.PrimaryColor,this.DarkTheme,this.ShowServiceImage,this.ShowRebateCodeField,this.ShowNextAvailableTime,this.ShowEndTime,this.BookedTimeSlotText,this.EnableCreateAccount,this.EnableLogin,this.EnableFacebookLogin,this.EnableDirectBooking}); UpdateHomepageWidgetSettings.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; ServiceLayoutId = json['ServiceLayoutId']; TimeLayoutId = json['TimeLayoutId']; BookingLayoutId = json['BookingLayoutId']; PrimaryColor = json['PrimaryColor']; DarkTheme = json['DarkTheme']; ShowServiceImage = json['ShowServiceImage']; ShowRebateCodeField = json['ShowRebateCodeField']; ShowNextAvailableTime = json['ShowNextAvailableTime']; ShowEndTime = json['ShowEndTime']; BookedTimeSlotText = json['BookedTimeSlotText']; EnableCreateAccount = json['EnableCreateAccount']; EnableLogin = json['EnableLogin']; EnableFacebookLogin = json['EnableFacebookLogin']; EnableDirectBooking = json['EnableDirectBooking']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'ServiceLayoutId': ServiceLayoutId, 'TimeLayoutId': TimeLayoutId, 'BookingLayoutId': BookingLayoutId, 'PrimaryColor': PrimaryColor, 'DarkTheme': DarkTheme, 'ShowServiceImage': ShowServiceImage, 'ShowRebateCodeField': ShowRebateCodeField, 'ShowNextAvailableTime': ShowNextAvailableTime, 'ShowEndTime': ShowEndTime, 'BookedTimeSlotText': BookedTimeSlotText, 'EnableCreateAccount': EnableCreateAccount, 'EnableLogin': EnableLogin, 'EnableFacebookLogin': EnableFacebookLogin, 'EnableDirectBooking': EnableDirectBooking }; createResponse() => HomepageWidgetSettingsQueryResponse(); getResponseTypeName() => "HomepageWidgetSettingsQueryResponse"; getTypeName() => "UpdateHomepageWidgetSettings"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'HomepageWidgetServiceLayoutsResponse': TypeInfo(TypeOf.Class, create:() => HomepageWidgetServiceLayoutsResponse()), 'HomepageWidgetTimeLayoutsResponse': TypeInfo(TypeOf.Class, create:() => HomepageWidgetTimeLayoutsResponse()), 'HomepageWidgetBookingLayoutsResponse': TypeInfo(TypeOf.Class, create:() => HomepageWidgetBookingLayoutsResponse()), 'HomepageWidgetBookingMethodsResponse': TypeInfo(TypeOf.Class, create:() => HomepageWidgetBookingMethodsResponse()), 'HomepageWidgetSettingsQueryResponse': TypeInfo(TypeOf.Class, create:() => HomepageWidgetSettingsQueryResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'UpdateHomepageWidgetSettings': TypeInfo(TypeOf.Class, create:() => UpdateHomepageWidgetSettings()), });