/* Options: Date: 2024-11-21 12:42:52 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: UpdateBooking.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class BookingStatusQueryResponse implements IConvertible { int? Id; String? Name; String? Description; String? Icon; String? Color; BookingStatusQueryResponse({this.Id,this.Name,this.Description,this.Icon,this.Color}); BookingStatusQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Icon = json['Icon']; Color = json['Color']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Icon': Icon, 'Color': Color }; getTypeName() => "BookingStatusQueryResponse"; TypeContext? context = _ctx; } enum BookingStatusEnum { Booked, Unbooked, Reserved, Canceled, AwaitingPayment, AwaitingPaymentNoTimeLimit, Payed, AwaitingPaymentRequestFromAdmin, AwaitingPaymentFromProvider, Invoiced, } class AddCustomField implements IConvertible { int? Id; String? Value; AddCustomField({this.Id,this.Value}); AddCustomField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Value = json['Value']; return this; } Map toJson() => { 'Id': Id, 'Value': Value }; getTypeName() => "AddCustomField"; TypeContext? context = _ctx; } class ResourceToBook implements IConvertible { int? ResourceTypeId; int? ResourceId; ResourceToBook({this.ResourceTypeId,this.ResourceId}); ResourceToBook.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResourceTypeId = json['ResourceTypeId']; ResourceId = json['ResourceId']; return this; } Map toJson() => { 'ResourceTypeId': ResourceTypeId, 'ResourceId': ResourceId }; getTypeName() => "ResourceToBook"; TypeContext? context = _ctx; } class ResourceToUpdate implements IConvertible { /** * Set this property to true if you want to autoselected not provided resources. If false you will need to add all resources you want to have booked */ // @ApiMember(Description="Set this property to true if you want to autoselected not provided resources. If false you will need to add all resources you want to have booked") bool? AutoSelectNotDefinedResources; /** * All resources to be booked, if AutoSelectNotDefinedResources is true you will only need to provide the one you want to select, rest will be auto selected if avaiable. */ // @ApiMember(Description="All resources to be booked, if AutoSelectNotDefinedResources is true you will only need to provide the one you want to select, rest will be auto selected if avaiable. ") List? Resources; ResourceToUpdate({this.AutoSelectNotDefinedResources,this.Resources}); ResourceToUpdate.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AutoSelectNotDefinedResources = json['AutoSelectNotDefinedResources']; Resources = JsonConverters.fromJson(json['Resources'],'List',context!); return this; } Map toJson() => { 'AutoSelectNotDefinedResources': AutoSelectNotDefinedResources, 'Resources': JsonConverters.toJson(Resources,'List',context!) }; getTypeName() => "ResourceToUpdate"; TypeContext? context = _ctx; } abstract class INullableInterval { DateTime? From; DateTime? To; } class GroupBookingSettings implements IConvertible { bool? Active; int? Min; int? Max; GroupBookingSettings({this.Active,this.Min,this.Max}); GroupBookingSettings.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Active = json['Active']; Min = json['Min']; Max = json['Max']; return this; } Map toJson() => { 'Active': Active, 'Min': Min, 'Max': Max }; getTypeName() => "GroupBookingSettings"; TypeContext? context = _ctx; } class MultipleResourceSettings implements IConvertible { bool? Active; int? Min; int? Max; MultipleResourceSettings({this.Active,this.Min,this.Max}); MultipleResourceSettings.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Active = json['Active']; Min = json['Min']; Max = json['Max']; return this; } Map toJson() => { 'Active': Active, 'Min': Min, 'Max': Max }; getTypeName() => "MultipleResourceSettings"; TypeContext? context = _ctx; } class ServiceInfoResponse implements IConvertible { int? Id; String? Name; String? Description; Uri? ImageUrl; int? LengthInMinutes; int? MaxNumberOfSpotsPerBooking; int? MinNumberOfSpotsPerBooking; GroupBookingSettings? GroupBooking; MultipleResourceSettings? MultipleResource; bool? IsGroupBooking; bool? IsPaymentEnabled; ServiceInfoResponse({this.Id,this.Name,this.Description,this.ImageUrl,this.LengthInMinutes,this.MaxNumberOfSpotsPerBooking,this.MinNumberOfSpotsPerBooking,this.GroupBooking,this.MultipleResource,this.IsGroupBooking,this.IsPaymentEnabled}); ServiceInfoResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); LengthInMinutes = json['LengthInMinutes']; MaxNumberOfSpotsPerBooking = json['MaxNumberOfSpotsPerBooking']; MinNumberOfSpotsPerBooking = json['MinNumberOfSpotsPerBooking']; GroupBooking = JsonConverters.fromJson(json['GroupBooking'],'GroupBookingSettings',context!); MultipleResource = JsonConverters.fromJson(json['MultipleResource'],'MultipleResourceSettings',context!); IsGroupBooking = json['IsGroupBooking']; IsPaymentEnabled = json['IsPaymentEnabled']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!), 'LengthInMinutes': LengthInMinutes, 'MaxNumberOfSpotsPerBooking': MaxNumberOfSpotsPerBooking, 'MinNumberOfSpotsPerBooking': MinNumberOfSpotsPerBooking, 'GroupBooking': JsonConverters.toJson(GroupBooking,'GroupBookingSettings',context!), 'MultipleResource': JsonConverters.toJson(MultipleResource,'MultipleResourceSettings',context!), 'IsGroupBooking': IsGroupBooking, 'IsPaymentEnabled': IsPaymentEnabled }; getTypeName() => "ServiceInfoResponse"; TypeContext? context = _ctx; } class CustomFieldValueResponse implements IConvertible { String? Value; CustomFieldValueResponse({this.Value}); CustomFieldValueResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Value = json['Value']; return this; } Map toJson() => { 'Value': Value }; getTypeName() => "CustomFieldValueResponse"; TypeContext? context = _ctx; } class CustomFieldConfigData implements IConvertible { /** * Custom field id */ // @ApiMember(Description="Custom field id") int? Id; /** * Configuration name. Example: 'Number of persons'. */ // @ApiMember(Description="Configuration name. Example: 'Number of persons'.") String? Name; /** * Custom field description. Example: 'For how many persons is this booking?' */ // @ApiMember(Description="Custom field description. Example: 'For how many persons is this booking?'") String? Description; /** * Field width. Example: 20 for 20px */ // @ApiMember(Description="Field width. Example: 20 for 20px") int? Width; /** * Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */ // @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'") String? DataType; /** * Default value of the field. Example: '3' */ // @ApiMember(Description="Default value of the field. Example: '3'") String? DefaultValue; /** * Determines if the field is required to have a value or not */ // @ApiMember(Description="Determines if the field is required to have a value or not") bool? IsMandatory; /** * Error message shown to the user if the field data is required but not entered */ // @ApiMember(Description="Error message shown to the user if the field data is required but not entered") String? MandatoryErrorMessage; /** * Max lenght of the field */ // @ApiMember(Description="Max lenght of the field") int? MaxLength; /** * If the field should have multiple lines */ // @ApiMember(Description="If the field should have multiple lines") bool? MultipleLineText; /** * Regular expression used for validation of the field */ // @ApiMember(Description="Regular expression used for validation of the field") String? RegEx; /** * Error message shown if the regular expression validation failed */ // @ApiMember(Description="Error message shown if the regular expression validation failed") String? RegExErrorMessage; /** * The values to select from if Datatype is DropDown for this custom field */ // @ApiMember(Description="The values to select from if Datatype is DropDown for this custom field") List? Values; CustomFieldConfigData({this.Id,this.Name,this.Description,this.Width,this.DataType,this.DefaultValue,this.IsMandatory,this.MandatoryErrorMessage,this.MaxLength,this.MultipleLineText,this.RegEx,this.RegExErrorMessage,this.Values}); CustomFieldConfigData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Width = json['Width']; DataType = json['DataType']; DefaultValue = json['DefaultValue']; IsMandatory = json['IsMandatory']; MandatoryErrorMessage = json['MandatoryErrorMessage']; MaxLength = json['MaxLength']; MultipleLineText = json['MultipleLineText']; RegEx = json['RegEx']; RegExErrorMessage = json['RegExErrorMessage']; Values = JsonConverters.fromJson(json['Values'],'List',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Width': Width, 'DataType': DataType, 'DefaultValue': DefaultValue, 'IsMandatory': IsMandatory, 'MandatoryErrorMessage': MandatoryErrorMessage, 'MaxLength': MaxLength, 'MultipleLineText': MultipleLineText, 'RegEx': RegEx, 'RegExErrorMessage': RegExErrorMessage, 'Values': JsonConverters.toJson(Values,'List',context!) }; getTypeName() => "CustomFieldConfigData"; TypeContext? context = _ctx; } class CustomFieldDataResponse implements IConvertible { int? Id; String? Column; String? Name; String? Description; String? Value; /** * Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */ // @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'") String? DataType; CustomFieldDataResponse({this.Id,this.Column,this.Name,this.Description,this.Value,this.DataType}); CustomFieldDataResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Column = json['Column']; Name = json['Name']; Description = json['Description']; Value = json['Value']; DataType = json['DataType']; return this; } Map toJson() => { 'Id': Id, 'Column': Column, 'Name': Name, 'Description': Description, 'Value': Value, 'DataType': DataType }; getTypeName() => "CustomFieldDataResponse"; TypeContext? context = _ctx; } class BookedResource implements IConvertible { int? Id; String? Name; String? Color; Uri? ImageUrl; String? Email; String? MobilePhone; String? AccessGroup; bool? EmailNotification; bool? SMSNotification; bool? EmailReminder; bool? SMSReminder; BookedResource({this.Id,this.Name,this.Color,this.ImageUrl,this.Email,this.MobilePhone,this.AccessGroup,this.EmailNotification,this.SMSNotification,this.EmailReminder,this.SMSReminder}); BookedResource.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Color = json['Color']; ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); Email = json['Email']; MobilePhone = json['MobilePhone']; AccessGroup = json['AccessGroup']; EmailNotification = json['EmailNotification']; SMSNotification = json['SMSNotification']; EmailReminder = json['EmailReminder']; SMSReminder = json['SMSReminder']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Color': Color, 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!), 'Email': Email, 'MobilePhone': MobilePhone, 'AccessGroup': AccessGroup, 'EmailNotification': EmailNotification, 'SMSNotification': SMSNotification, 'EmailReminder': EmailReminder, 'SMSReminder': SMSReminder }; getTypeName() => "BookedResource"; TypeContext? context = _ctx; } class BookedResourceType implements IConvertible { /** * The resource type id */ // @ApiMember(Description="The resource type id") int? Id; /** * The resource type name */ // @ApiMember(Description="The resource type name") String? Name; /** * The resources inside resource type */ // @ApiMember(Description="The resources inside resource type") List? Resources; BookedResourceType({this.Id,this.Name,this.Resources}); BookedResourceType.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Resources = JsonConverters.fromJson(json['Resources'],'List',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Resources': JsonConverters.toJson(Resources,'List',context!) }; getTypeName() => "BookedResourceType"; TypeContext? context = _ctx; } class BookedCompany implements IConvertible { String? Id; String? Name; Uri? LogoType; String? Category; String? Street1; String? Street2; String? ZipCode; String? City; String? CountryId; String? Longitude; String? Latitude; String? Phone; String? Email; String? HomePage; String? SitePath; bool? IsFavorite; int? PaymentProviderId; BookedCompany({this.Id,this.Name,this.LogoType,this.Category,this.Street1,this.Street2,this.ZipCode,this.City,this.CountryId,this.Longitude,this.Latitude,this.Phone,this.Email,this.HomePage,this.SitePath,this.IsFavorite,this.PaymentProviderId}); BookedCompany.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; LogoType = JsonConverters.fromJson(json['LogoType'],'Uri',context!); Category = json['Category']; Street1 = json['Street1']; Street2 = json['Street2']; ZipCode = json['ZipCode']; City = json['City']; CountryId = json['CountryId']; Longitude = json['Longitude']; Latitude = json['Latitude']; Phone = json['Phone']; Email = json['Email']; HomePage = json['HomePage']; SitePath = json['SitePath']; IsFavorite = json['IsFavorite']; PaymentProviderId = json['PaymentProviderId']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'LogoType': JsonConverters.toJson(LogoType,'Uri',context!), 'Category': Category, 'Street1': Street1, 'Street2': Street2, 'ZipCode': ZipCode, 'City': City, 'CountryId': CountryId, 'Longitude': Longitude, 'Latitude': Latitude, 'Phone': Phone, 'Email': Email, 'HomePage': HomePage, 'SitePath': SitePath, 'IsFavorite': IsFavorite, 'PaymentProviderId': PaymentProviderId }; getTypeName() => "BookedCompany"; TypeContext? context = _ctx; } class BookedCustomer implements IConvertible { String? Id; String? Firstname; String? Lastname; String? Email; String? Phone; String? FacebookUserName; String? ImageUrl; String? CorporateIdentityNumber; String? InvoiceAddress1; String? InvoiceAddress2; String? InvoiceCity; String? InvoicePostalCode; String? InvoiceCountryCode; BookedCustomer({this.Id,this.Firstname,this.Lastname,this.Email,this.Phone,this.FacebookUserName,this.ImageUrl,this.CorporateIdentityNumber,this.InvoiceAddress1,this.InvoiceAddress2,this.InvoiceCity,this.InvoicePostalCode,this.InvoiceCountryCode}); BookedCustomer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Firstname = json['Firstname']; Lastname = json['Lastname']; Email = json['Email']; Phone = json['Phone']; FacebookUserName = json['FacebookUserName']; ImageUrl = json['ImageUrl']; CorporateIdentityNumber = json['CorporateIdentityNumber']; InvoiceAddress1 = json['InvoiceAddress1']; InvoiceAddress2 = json['InvoiceAddress2']; InvoiceCity = json['InvoiceCity']; InvoicePostalCode = json['InvoicePostalCode']; InvoiceCountryCode = json['InvoiceCountryCode']; return this; } Map toJson() => { 'Id': Id, 'Firstname': Firstname, 'Lastname': Lastname, 'Email': Email, 'Phone': Phone, 'FacebookUserName': FacebookUserName, 'ImageUrl': ImageUrl, 'CorporateIdentityNumber': CorporateIdentityNumber, 'InvoiceAddress1': InvoiceAddress1, 'InvoiceAddress2': InvoiceAddress2, 'InvoiceCity': InvoiceCity, 'InvoicePostalCode': InvoicePostalCode, 'InvoiceCountryCode': InvoiceCountryCode }; getTypeName() => "BookedCustomer"; TypeContext? context = _ctx; } class CurrencyInfoResponse implements IConvertible { /** * The currency id */ // @ApiMember(Description="The currency id") String? Id; /** * The currency id */ // @ApiMember(Description="The currency id") String? Name; /** * The currency id */ // @ApiMember(Description="The currency id") String? CurrencySign; CurrencyInfoResponse({this.Id,this.Name,this.CurrencySign}); CurrencyInfoResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; CurrencySign = json['CurrencySign']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'CurrencySign': CurrencySign }; getTypeName() => "CurrencyInfoResponse"; TypeContext? context = _ctx; } class BookingPaymentLogQueryResponse implements IConvertible { /** * The booking payment log id */ // @ApiMember(Description="The booking payment log id") int? Id; /** * The booking id */ // @ApiMember(Description="The booking id") int? BookingId; /** * The payment reference id */ // @ApiMember(Description="The payment reference id") String? PaymentReferenceId; /** * The payment order item reference id */ // @ApiMember(Description="The payment order item reference id") String? OrderItemReferenceId; /** * The payment reference id */ // @ApiMember(Description="The payment reference id") int? PaymentProviderId; /** * The payment amount */ // @ApiMember(Description="The payment amount") double? Amount; /** * The payment VAT in percent */ // @ApiMember(Description="The payment VAT in percent") double? VAT; /** * The payment amount that is credited */ // @ApiMember(Description="The payment amount that is credited") double? AmountCredited; /** * The payment currency id */ // @ApiMember(Description="The payment currency id") String? CurrencyId; /** * The payment currency info */ // @ApiMember(Description="The payment currency info") CurrencyInfoResponse? CurrencyInfo; /** * Comments that could be added to the event log item */ // @ApiMember(Description="Comments that could be added to the event log item") String? Comments; /** * The date when the payment items was created */ // @ApiMember(Description="The date when the payment items was created") DateTime? Created; /** * The date when the payment items was update */ // @ApiMember(Description="The date when the payment items was update") DateTime? Updated; BookingPaymentLogQueryResponse({this.Id,this.BookingId,this.PaymentReferenceId,this.OrderItemReferenceId,this.PaymentProviderId,this.Amount,this.VAT,this.AmountCredited,this.CurrencyId,this.CurrencyInfo,this.Comments,this.Created,this.Updated}); BookingPaymentLogQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; BookingId = json['BookingId']; PaymentReferenceId = json['PaymentReferenceId']; OrderItemReferenceId = json['OrderItemReferenceId']; PaymentProviderId = json['PaymentProviderId']; Amount = JsonConverters.toDouble(json['Amount']); VAT = JsonConverters.toDouble(json['VAT']); AmountCredited = JsonConverters.toDouble(json['AmountCredited']); CurrencyId = json['CurrencyId']; CurrencyInfo = JsonConverters.fromJson(json['CurrencyInfo'],'CurrencyInfoResponse',context!); Comments = json['Comments']; Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); return this; } Map toJson() => { 'Id': Id, 'BookingId': BookingId, 'PaymentReferenceId': PaymentReferenceId, 'OrderItemReferenceId': OrderItemReferenceId, 'PaymentProviderId': PaymentProviderId, 'Amount': Amount, 'VAT': VAT, 'AmountCredited': AmountCredited, 'CurrencyId': CurrencyId, 'CurrencyInfo': JsonConverters.toJson(CurrencyInfo,'CurrencyInfoResponse',context!), 'Comments': Comments, 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'Updated': JsonConverters.toJson(Updated,'DateTime',context!) }; getTypeName() => "BookingPaymentLogQueryResponse"; TypeContext? context = _ctx; } class BookingCheckoutQueryResponse implements IConvertible { /** * The checkout id */ // @ApiMember(Description="The checkout id") String? Id; /** * The booking id */ // @ApiMember(Description="The booking id") int? BookingId; /** * The purchase id */ // @ApiMember(Description="The purchase id") int? PurchaseId; /** * The payment checkout expiration datetime */ // @ApiMember(Description="The payment checkout expiration datetime") DateTime? ExpirationTime; /** * The payment snippet code */ // @ApiMember(Description="The payment snippet code") String? Snippet; /** * The payment status */ // @ApiMember(Description="The payment status") String? Status; /** * Log message */ // @ApiMember(Description="Log message") String? Message; /** * When the checkout log item was created */ // @ApiMember(Description="When the checkout log item was created") DateTime? Created; /** * When the checkout log item was updated */ // @ApiMember(Description="When the checkout log item was updated") DateTime? Updated; BookingCheckoutQueryResponse({this.Id,this.BookingId,this.PurchaseId,this.ExpirationTime,this.Snippet,this.Status,this.Message,this.Created,this.Updated}); BookingCheckoutQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; BookingId = json['BookingId']; PurchaseId = json['PurchaseId']; ExpirationTime = JsonConverters.fromJson(json['ExpirationTime'],'DateTime',context!); Snippet = json['Snippet']; Status = json['Status']; Message = json['Message']; Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); return this; } Map toJson() => { 'Id': Id, 'BookingId': BookingId, 'PurchaseId': PurchaseId, 'ExpirationTime': JsonConverters.toJson(ExpirationTime,'DateTime',context!), 'Snippet': Snippet, 'Status': Status, 'Message': Message, 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'Updated': JsonConverters.toJson(Updated,'DateTime',context!) }; getTypeName() => "BookingCheckoutQueryResponse"; TypeContext? context = _ctx; } class ExternalReferenceResponse implements IConvertible { String? CompanyId; String? Id; String? OwnerId; String? ReferenceType; String? ExternalData; String? CreatedBy; DateTime? Updated; DateTime? Created; ExternalReferenceResponse({this.CompanyId,this.Id,this.OwnerId,this.ReferenceType,this.ExternalData,this.CreatedBy,this.Updated,this.Created}); ExternalReferenceResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; Id = json['Id']; OwnerId = json['OwnerId']; ReferenceType = json['ReferenceType']; ExternalData = json['ExternalData']; CreatedBy = json['CreatedBy']; Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'Id': Id, 'OwnerId': OwnerId, 'ReferenceType': ReferenceType, 'ExternalData': ExternalData, 'CreatedBy': CreatedBy, 'Updated': JsonConverters.toJson(Updated,'DateTime',context!), 'Created': JsonConverters.toJson(Created,'DateTime',context!) }; getTypeName() => "ExternalReferenceResponse"; TypeContext? context = _ctx; } class BookingCalendarExportStatus implements IConvertible { String? CalendarId; int? BookingId; bool? Synced; BookingCalendarExportStatus({this.CalendarId,this.BookingId,this.Synced}); BookingCalendarExportStatus.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CalendarId = json['CalendarId']; BookingId = json['BookingId']; Synced = json['Synced']; return this; } Map toJson() => { 'CalendarId': CalendarId, 'BookingId': BookingId, 'Synced': Synced }; getTypeName() => "BookingCalendarExportStatus"; TypeContext? context = _ctx; } class BookingLogQueryResponse implements IConvertible { /** * The booking log id */ // @ApiMember(Description="The booking log id") int? Id; /** * The booking id */ // @ApiMember(Description="The booking id") int? BookingId; /** * The type of event */ // @ApiMember(Description="The type of event") int? EventTypeId; /** * The type of event */ // @ApiMember(Description="The type of event") BookingLogEventTypeResponse? EventType; /** * Comments that could be added to the event log item */ // @ApiMember(Description="Comments that could be added to the event log item") String? Comments; /** * The user created the event */ // @ApiMember(Description="The user created the event") String? UserName; /** * Then date when the event occured */ // @ApiMember(Description="Then date when the event occured") DateTime? Created; BookingLogQueryResponse({this.Id,this.BookingId,this.EventTypeId,this.EventType,this.Comments,this.UserName,this.Created}); BookingLogQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; BookingId = json['BookingId']; EventTypeId = json['EventTypeId']; EventType = JsonConverters.fromJson(json['EventType'],'BookingLogEventTypeResponse',context!); Comments = json['Comments']; UserName = json['UserName']; Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); return this; } Map toJson() => { 'Id': Id, 'BookingId': BookingId, 'EventTypeId': EventTypeId, 'EventType': JsonConverters.toJson(EventType,'BookingLogEventTypeResponse',context!), 'Comments': Comments, 'UserName': UserName, 'Created': JsonConverters.toJson(Created,'DateTime',context!) }; getTypeName() => "BookingLogQueryResponse"; TypeContext? context = _ctx; } class BookedQuantity implements IConvertible { /** * The quantity Id */ // @ApiMember(Description="The quantity Id") int? Id; /** * The quantity for booked on this price category */ // @ApiMember(Description="The quantity for booked on this price category") int? Quantity; /** * The price */ // @ApiMember(Description="The price") double? Price; /** * The price bofore rebate codes */ // @ApiMember(Description="The price bofore rebate codes") double? PriceBeforeRebate; /** * The price currency */ // @ApiMember(Description="The price currency") String? CurrencyId; /** * The price sign */ // @ApiMember(Description="The price sign") String? PriceSign; /** * The price category */ // @ApiMember(Description="The price category") String? Category; /** * The price VAT in percent */ // @ApiMember(Description="The price VAT in percent") double? VAT; /** * The price text to display */ // @ApiMember(Description="The price text to display") String? PriceText; /** * If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information. */ // @ApiMember(Description="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.") bool? OccupiesSpot; BookedQuantity({this.Id,this.Quantity,this.Price,this.PriceBeforeRebate,this.CurrencyId,this.PriceSign,this.Category,this.VAT,this.PriceText,this.OccupiesSpot}); BookedQuantity.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Quantity = json['Quantity']; Price = JsonConverters.toDouble(json['Price']); PriceBeforeRebate = JsonConverters.toDouble(json['PriceBeforeRebate']); CurrencyId = json['CurrencyId']; PriceSign = json['PriceSign']; Category = json['Category']; VAT = JsonConverters.toDouble(json['VAT']); PriceText = json['PriceText']; OccupiesSpot = json['OccupiesSpot']; return this; } Map toJson() => { 'Id': Id, 'Quantity': Quantity, 'Price': Price, 'PriceBeforeRebate': PriceBeforeRebate, 'CurrencyId': CurrencyId, 'PriceSign': PriceSign, 'Category': Category, 'VAT': VAT, 'PriceText': PriceText, 'OccupiesSpot': OccupiesSpot }; getTypeName() => "BookedQuantity"; TypeContext? context = _ctx; } class BookingQueryResponse implements IConvertible { int? Id; String? CompanyId; DateTime? From; DateTime? To; BookingStatusEnum? Status; int? StatusId; String? StatusName; BookingStatusQueryResponse? StatusInfo; bool? SendEmailReminder; bool? SendSmsReminder; bool? SendSmsConfirmation; bool? SendEmailConfirmation; DateTime? LastTimeToUnBook; List? CustomFields; List? CustomFieldValues; List? BookedResourceTypes; BookedCompany? Company; BookedCustomer? Customer; List? Quantities; ServiceInfoResponse? Service; DateTime? PaymentExpiration; List? Log; List? PaymentLog; List? CheckoutLog; List? ExternalReference; ResponseStatus? ResponseStatus; BookingCalendarExportStatus? CalendarExportStatus; int? LengthInMinutes; String? BookedBy; String? BookedComments; String? UnbookedComments; String? CommentsToCustomer; DateTime? CreatedDate; DateTime? UpdatedDate; DateTime? UnbookedOn; String? CancellationCode; String? RatingCode; BookingQueryResponse({this.Id,this.CompanyId,this.From,this.To,this.Status,this.StatusId,this.StatusName,this.StatusInfo,this.SendEmailReminder,this.SendSmsReminder,this.SendSmsConfirmation,this.SendEmailConfirmation,this.LastTimeToUnBook,this.CustomFields,this.CustomFieldValues,this.BookedResourceTypes,this.Company,this.Customer,this.Quantities,this.Service,this.PaymentExpiration,this.Log,this.PaymentLog,this.CheckoutLog,this.ExternalReference,this.ResponseStatus,this.CalendarExportStatus,this.LengthInMinutes,this.BookedBy,this.BookedComments,this.UnbookedComments,this.CommentsToCustomer,this.CreatedDate,this.UpdatedDate,this.UnbookedOn,this.CancellationCode,this.RatingCode}); BookingQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; CompanyId = json['CompanyId']; From = JsonConverters.fromJson(json['From'],'DateTime',context!); To = JsonConverters.fromJson(json['To'],'DateTime',context!); Status = JsonConverters.fromJson(json['Status'],'BookingStatusEnum',context!); StatusId = json['StatusId']; StatusName = json['StatusName']; StatusInfo = JsonConverters.fromJson(json['StatusInfo'],'BookingStatusQueryResponse',context!); SendEmailReminder = json['SendEmailReminder']; SendSmsReminder = json['SendSmsReminder']; SendSmsConfirmation = json['SendSmsConfirmation']; SendEmailConfirmation = json['SendEmailConfirmation']; LastTimeToUnBook = JsonConverters.fromJson(json['LastTimeToUnBook'],'DateTime',context!); CustomFields = JsonConverters.fromJson(json['CustomFields'],'List',context!); CustomFieldValues = JsonConverters.fromJson(json['CustomFieldValues'],'List',context!); BookedResourceTypes = JsonConverters.fromJson(json['BookedResourceTypes'],'List',context!); Company = JsonConverters.fromJson(json['Company'],'BookedCompany',context!); Customer = JsonConverters.fromJson(json['Customer'],'BookedCustomer',context!); Quantities = JsonConverters.fromJson(json['Quantities'],'List',context!); Service = JsonConverters.fromJson(json['Service'],'ServiceInfoResponse',context!); PaymentExpiration = JsonConverters.fromJson(json['PaymentExpiration'],'DateTime',context!); Log = JsonConverters.fromJson(json['Log'],'List',context!); PaymentLog = JsonConverters.fromJson(json['PaymentLog'],'List',context!); CheckoutLog = JsonConverters.fromJson(json['CheckoutLog'],'List',context!); ExternalReference = JsonConverters.fromJson(json['ExternalReference'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); CalendarExportStatus = JsonConverters.fromJson(json['CalendarExportStatus'],'BookingCalendarExportStatus',context!); LengthInMinutes = json['LengthInMinutes']; BookedBy = json['BookedBy']; BookedComments = json['BookedComments']; UnbookedComments = json['UnbookedComments']; CommentsToCustomer = json['CommentsToCustomer']; CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!); UpdatedDate = JsonConverters.fromJson(json['UpdatedDate'],'DateTime',context!); UnbookedOn = JsonConverters.fromJson(json['UnbookedOn'],'DateTime',context!); CancellationCode = json['CancellationCode']; RatingCode = json['RatingCode']; return this; } Map toJson() => { 'Id': Id, 'CompanyId': CompanyId, 'From': JsonConverters.toJson(From,'DateTime',context!), 'To': JsonConverters.toJson(To,'DateTime',context!), 'Status': JsonConverters.toJson(Status,'BookingStatusEnum',context!), 'StatusId': StatusId, 'StatusName': StatusName, 'StatusInfo': JsonConverters.toJson(StatusInfo,'BookingStatusQueryResponse',context!), 'SendEmailReminder': SendEmailReminder, 'SendSmsReminder': SendSmsReminder, 'SendSmsConfirmation': SendSmsConfirmation, 'SendEmailConfirmation': SendEmailConfirmation, 'LastTimeToUnBook': JsonConverters.toJson(LastTimeToUnBook,'DateTime',context!), 'CustomFields': JsonConverters.toJson(CustomFields,'List',context!), 'CustomFieldValues': JsonConverters.toJson(CustomFieldValues,'List',context!), 'BookedResourceTypes': JsonConverters.toJson(BookedResourceTypes,'List',context!), 'Company': JsonConverters.toJson(Company,'BookedCompany',context!), 'Customer': JsonConverters.toJson(Customer,'BookedCustomer',context!), 'Quantities': JsonConverters.toJson(Quantities,'List',context!), 'Service': JsonConverters.toJson(Service,'ServiceInfoResponse',context!), 'PaymentExpiration': JsonConverters.toJson(PaymentExpiration,'DateTime',context!), 'Log': JsonConverters.toJson(Log,'List',context!), 'PaymentLog': JsonConverters.toJson(PaymentLog,'List',context!), 'CheckoutLog': JsonConverters.toJson(CheckoutLog,'List',context!), 'ExternalReference': JsonConverters.toJson(ExternalReference,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'CalendarExportStatus': JsonConverters.toJson(CalendarExportStatus,'BookingCalendarExportStatus',context!), 'LengthInMinutes': LengthInMinutes, 'BookedBy': BookedBy, 'BookedComments': BookedComments, 'UnbookedComments': UnbookedComments, 'CommentsToCustomer': CommentsToCustomer, 'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!), 'UpdatedDate': JsonConverters.toJson(UpdatedDate,'DateTime',context!), 'UnbookedOn': JsonConverters.toJson(UnbookedOn,'DateTime',context!), 'CancellationCode': CancellationCode, 'RatingCode': RatingCode }; getTypeName() => "BookingQueryResponse"; TypeContext? context = _ctx; } // @Route("/bookings/{Id}", "PUT") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") class UpdateBooking implements IReturn, INullableInterval, 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; /** * Id of the booking */ // @ApiMember(Description="Id of the booking", ParameterType="path") int? Id; DateTime? From; DateTime? To; BookingStatusEnum? Status; DateTime? PaymentExpiration; DateTime? LastTimeToUnBook; /** * If you want to add comments when canceling a booking you can add them here, this comments are send in the confirmation to the customer */ // @ApiMember(Description="If you want to add comments when canceling a booking you can add them here, this comments are send in the confirmation to the customer") String? UnbookedComments; /** * If you want to add comments to a booking you can add them here, this comments are never shared with the customer */ // @ApiMember(Description="If you want to add comments to a booking you can add them here, this comments are never shared with the customer") String? BookedComments; /** * If you want to add comments to the booking that is sent to the customer, you can add them here. Comments will be sent in the booking confirmation */ // @ApiMember(Description="If you want to add comments to the booking that is sent to the customer, you can add them here. Comments will be sent in the booking confirmation") String? CommentsToCustomer; /** * If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be updated */ // @ApiMember(Description="If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be updated") List? CustomFields; /** * Resources you want to change, leave it empty if no changes to the booked resources */ // @ApiMember(Description="Resources you want to change, leave it empty if no changes to the booked resources") ResourceToUpdate? Resources; /** * If want to allow to book outside the service schedules. This means you can book a time after the schedule opening hours as long as the resource are available. This is only allowed by administrators */ // @ApiMember(Description="If want to allow to book outside the service schedules. This means you can book a time after the schedule opening hours as long as the resource are available. This is only allowed by administrators") bool? AllowBookingOutsideSchedules; /** * Any comment to save to the log when changing the booking. */ // @ApiMember(Description="Any comment to save to the log when changing the booking.") String? Comment; /** * Any comment sent to user if SendSmsConfirmation or SendEmailConfirmation */ // @ApiMember(Description="Any comment sent to user if SendSmsConfirmation or SendEmailConfirmation") String? Message; /** * If you want to send SMS confirmation. If null, it will take the default value of the bookings SendSMSConfirmation. */ // @ApiMember(Description="If you want to send SMS confirmation. If null, it will take the default value of the bookings SendSMSConfirmation.") bool? SendSmsConfirmation; /** * If you want to send Email confirmation. If null, it will take the default value of the bookings SendEmailConfirmation. */ // @ApiMember(Description="If you want to send Email confirmation. If null, it will take the default value of the bookings SendEmailConfirmation.") bool? SendEmailConfirmation; UpdateBooking({this.CompanyId,this.Id,this.From,this.To,this.Status,this.PaymentExpiration,this.LastTimeToUnBook,this.UnbookedComments,this.BookedComments,this.CommentsToCustomer,this.CustomFields,this.Resources,this.AllowBookingOutsideSchedules,this.Comment,this.Message,this.SendSmsConfirmation,this.SendEmailConfirmation}); UpdateBooking.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; Id = json['Id']; From = JsonConverters.fromJson(json['From'],'DateTime',context!); To = JsonConverters.fromJson(json['To'],'DateTime',context!); Status = JsonConverters.fromJson(json['Status'],'BookingStatusEnum',context!); PaymentExpiration = JsonConverters.fromJson(json['PaymentExpiration'],'DateTime',context!); LastTimeToUnBook = JsonConverters.fromJson(json['LastTimeToUnBook'],'DateTime',context!); UnbookedComments = json['UnbookedComments']; BookedComments = json['BookedComments']; CommentsToCustomer = json['CommentsToCustomer']; CustomFields = JsonConverters.fromJson(json['CustomFields'],'List',context!); Resources = JsonConverters.fromJson(json['Resources'],'ResourceToUpdate',context!); AllowBookingOutsideSchedules = json['AllowBookingOutsideSchedules']; Comment = json['Comment']; Message = json['Message']; SendSmsConfirmation = json['SendSmsConfirmation']; SendEmailConfirmation = json['SendEmailConfirmation']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'Id': Id, 'From': JsonConverters.toJson(From,'DateTime',context!), 'To': JsonConverters.toJson(To,'DateTime',context!), 'Status': JsonConverters.toJson(Status,'BookingStatusEnum',context!), 'PaymentExpiration': JsonConverters.toJson(PaymentExpiration,'DateTime',context!), 'LastTimeToUnBook': JsonConverters.toJson(LastTimeToUnBook,'DateTime',context!), 'UnbookedComments': UnbookedComments, 'BookedComments': BookedComments, 'CommentsToCustomer': CommentsToCustomer, 'CustomFields': JsonConverters.toJson(CustomFields,'List',context!), 'Resources': JsonConverters.toJson(Resources,'ResourceToUpdate',context!), 'AllowBookingOutsideSchedules': AllowBookingOutsideSchedules, 'Comment': Comment, 'Message': Message, 'SendSmsConfirmation': SendSmsConfirmation, 'SendEmailConfirmation': SendEmailConfirmation }; createResponse() => BookingQueryResponse(); getResponseTypeName() => "BookingQueryResponse"; getTypeName() => "UpdateBooking"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'BookingStatusQueryResponse': TypeInfo(TypeOf.Class, create:() => BookingStatusQueryResponse()), 'BookingStatusEnum': TypeInfo(TypeOf.Enum, enumValues:BookingStatusEnum.values), 'AddCustomField': TypeInfo(TypeOf.Class, create:() => AddCustomField()), 'ResourceToBook': TypeInfo(TypeOf.Class, create:() => ResourceToBook()), 'ResourceToUpdate': TypeInfo(TypeOf.Class, create:() => ResourceToUpdate()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'INullableInterval': TypeInfo(TypeOf.Interface), 'GroupBookingSettings': TypeInfo(TypeOf.Class, create:() => GroupBookingSettings()), 'MultipleResourceSettings': TypeInfo(TypeOf.Class, create:() => MultipleResourceSettings()), 'ServiceInfoResponse': TypeInfo(TypeOf.Class, create:() => ServiceInfoResponse()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'CustomFieldValueResponse': TypeInfo(TypeOf.Class, create:() => CustomFieldValueResponse()), 'CustomFieldConfigData': TypeInfo(TypeOf.Class, create:() => CustomFieldConfigData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CustomFieldDataResponse': TypeInfo(TypeOf.Class, create:() => CustomFieldDataResponse()), 'BookedResource': TypeInfo(TypeOf.Class, create:() => BookedResource()), 'BookedResourceType': TypeInfo(TypeOf.Class, create:() => BookedResourceType()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'BookedCompany': TypeInfo(TypeOf.Class, create:() => BookedCompany()), 'BookedCustomer': TypeInfo(TypeOf.Class, create:() => BookedCustomer()), 'CurrencyInfoResponse': TypeInfo(TypeOf.Class, create:() => CurrencyInfoResponse()), 'BookingPaymentLogQueryResponse': TypeInfo(TypeOf.Class, create:() => BookingPaymentLogQueryResponse()), 'BookingCheckoutQueryResponse': TypeInfo(TypeOf.Class, create:() => BookingCheckoutQueryResponse()), 'ExternalReferenceResponse': TypeInfo(TypeOf.Class, create:() => ExternalReferenceResponse()), 'BookingCalendarExportStatus': TypeInfo(TypeOf.Class, create:() => BookingCalendarExportStatus()), 'BookingLogQueryResponse': TypeInfo(TypeOf.Class, create:() => BookingLogQueryResponse()), 'BookingLogEventTypeResponse': TypeInfo(TypeOf.Class, create:() => BookingLogEventTypeResponse()), 'BookedQuantity': TypeInfo(TypeOf.Class, create:() => BookedQuantity()), 'BookingQueryResponse': TypeInfo(TypeOf.Class, create:() => BookingQueryResponse()), '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:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'UpdateBooking': TypeInfo(TypeOf.Class, create:() => UpdateBooking()), 'List': TypeInfo(TypeOf.Class, create:() => []), });