(* Options: Date: 2024-12-03 18:19:39 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: UpdateBooking.* //ExcludeTypes: //InitializeCollections: True //AddNamespaces: *) namespace BokaMera.API.ServiceModel.Dtos open System open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations open System.Globalization open ServiceStack.Data [] type BookingStatusQueryResponse() = member val Id:Int32 = new Int32() with get,set member val Name:String = null with get,set member val Description:String = null with get,set member val Icon:String = null with get,set member val Color:String = null with get,set type BookingStatusEnum = | Booked = 1 | Unbooked = 2 | Reserved = 3 | Canceled = 4 | AwaitingPayment = 5 | AwaitingPaymentNoTimeLimit = 6 | Payed = 7 | AwaitingPaymentRequestFromAdmin = 8 | AwaitingPaymentFromProvider = 9 | Invoiced = 10 [] type AddCustomField() = member val Id:Int32 = new Int32() with get,set member val Value:String = null with get,set [] type ResourceToBook() = member val ResourceTypeId:Int32 = new Int32() with get,set member val ResourceId:Int32 = new Int32() with get,set [] type ResourceToUpdate() = /// ///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 /// [] member val AutoSelectNotDefinedResources:Boolean = new Boolean() with get,set /// ///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. /// [] member val Resources:ResizeArray = new ResizeArray() with get,set [] type INullableInterval = abstract From:Nullable with get,set abstract To:Nullable with get,set [] type GroupBookingSettings() = member val Active:Boolean = new Boolean() with get,set member val Min:Int32 = new Int32() with get,set member val Max:Int32 = new Int32() with get,set [] type MultipleResourceSettings() = member val Active:Boolean = new Boolean() with get,set member val Min:Int32 = new Int32() with get,set member val Max:Int32 = new Int32() with get,set [] type ServiceInfoResponse() = member val Id:Int32 = new Int32() with get,set member val Name:String = null with get,set member val Description:String = null with get,set member val ImageUrl:Uri = null with get,set member val LengthInMinutes:Nullable = new Nullable() with get,set member val MaxNumberOfSpotsPerBooking:Int32 = new Int32() with get,set member val MinNumberOfSpotsPerBooking:Int32 = new Int32() with get,set member val GroupBooking:GroupBookingSettings = null with get,set member val MultipleResource:MultipleResourceSettings = null with get,set member val IsGroupBooking:Boolean = new Boolean() with get,set member val IsPaymentEnabled:Boolean = new Boolean() with get,set [] type CustomFieldValueResponse() = member val Value:String = null with get,set [] type CustomFieldConfigData() = /// ///Custom field id /// [] member val Id:Int32 = new Int32() with get,set /// ///Configuration name. Example: 'Number of persons'. /// [] member val Name:String = null with get,set /// ///Custom field description. Example: 'For how many persons is this booking?' /// [] member val Description:String = null with get,set /// ///Field width. Example: 20 for 20px /// [] member val Width:Nullable = new Nullable() with get,set /// ///Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' /// [] member val DataType:String = null with get,set /// ///Default value of the field. Example: '3' /// [] member val DefaultValue:String = null with get,set /// ///Determines if the field is required to have a value or not /// [] member val IsMandatory:Boolean = new Boolean() with get,set /// ///Error message shown to the user if the field data is required but not entered /// [] member val MandatoryErrorMessage:String = null with get,set /// ///Max lenght of the field /// [] member val MaxLength:Int32 = new Int32() with get,set /// ///If the field should have multiple lines /// [] member val MultipleLineText:Boolean = new Boolean() with get,set /// ///Regular expression used for validation of the field /// [] member val RegEx:String = null with get,set /// ///Error message shown if the regular expression validation failed /// [] member val RegExErrorMessage:String = null with get,set /// ///The values to select from if Datatype is DropDown for this custom field /// [] member val Values:ResizeArray = new ResizeArray() with get,set [] type CustomFieldDataResponse() = member val Id:Int32 = new Int32() with get,set member val Column:String = null with get,set member val Name:String = null with get,set member val Description:String = null with get,set member val Value:String = null with get,set /// ///Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' /// [] member val DataType:String = null with get,set [] type BookedResource() = member val Id:Int32 = new Int32() with get,set member val Name:String = null with get,set member val Color:String = null with get,set member val ImageUrl:Uri = null with get,set member val Email:String = null with get,set member val MobilePhone:String = null with get,set member val AccessGroup:String = null with get,set member val EmailNotification:Boolean = new Boolean() with get,set member val SMSNotification:Boolean = new Boolean() with get,set member val EmailReminder:Boolean = new Boolean() with get,set member val SMSReminder:Boolean = new Boolean() with get,set [] type BookedResourceType() = /// ///The resource type id /// [] member val Id:Int32 = new Int32() with get,set /// ///The resource type name /// [] member val Name:String = null with get,set /// ///The resources inside resource type /// [] member val Resources:ResizeArray = new ResizeArray() with get,set [] type BookedCompany() = member val Id:Guid = new Guid() with get,set member val Name:String = null with get,set member val LogoType:Uri = null with get,set member val Category:String = null with get,set member val Street1:String = null with get,set member val Street2:String = null with get,set member val ZipCode:String = null with get,set member val City:String = null with get,set member val CountryId:String = null with get,set member val Longitude:String = null with get,set member val Latitude:String = null with get,set member val Phone:String = null with get,set member val Email:String = null with get,set member val HomePage:String = null with get,set member val SitePath:String = null with get,set member val IsFavorite:Boolean = new Boolean() with get,set member val PaymentProviderId:Nullable = new Nullable() with get,set [] type BookedCustomer() = member val Id:Guid = new Guid() with get,set member val Firstname:String = null with get,set member val Lastname:String = null with get,set member val Email:String = null with get,set member val Phone:String = null with get,set member val FacebookUserName:String = null with get,set member val ImageUrl:String = null with get,set member val CorporateIdentityNumber:String = null with get,set member val InvoiceAddress1:String = null with get,set member val InvoiceAddress2:String = null with get,set member val InvoiceCity:String = null with get,set member val InvoicePostalCode:String = null with get,set member val InvoiceCountryCode:String = null with get,set [] type CurrencyInfoResponse() = /// ///The currency id /// [] member val Id:String = null with get,set /// ///The currency id /// [] member val Name:String = null with get,set /// ///The currency id /// [] member val CurrencySign:String = null with get,set [] type BookingPaymentLogQueryResponse() = /// ///The booking payment log id /// [] member val Id:Int32 = new Int32() with get,set /// ///The booking id /// [] member val BookingId:Int32 = new Int32() with get,set /// ///The payment reference id /// [] member val PaymentReferenceId:String = null with get,set /// ///The payment order item reference id /// [] member val OrderItemReferenceId:String = null with get,set /// ///The payment reference id /// [] member val PaymentProviderId:Nullable = new Nullable() with get,set /// ///The payment amount /// [] member val Amount:Double = new Double() with get,set /// ///The payment VAT in percent /// [] member val VAT:Decimal = new Decimal() with get,set /// ///The payment amount that is credited /// [] member val AmountCredited:Double = new Double() with get,set /// ///The payment currency id /// [] member val CurrencyId:String = null with get,set /// ///The payment currency info /// [] member val CurrencyInfo:CurrencyInfoResponse = null with get,set /// ///Comments that could be added to the event log item /// [] member val Comments:String = null with get,set /// ///The date when the payment items was created /// [] member val Created:DateTime = new DateTime() with get,set /// ///The date when the payment items was update /// [] member val Updated:DateTime = new DateTime() with get,set [] type BookingCheckoutQueryResponse() = /// ///The checkout id /// [] member val Id:Guid = new Guid() with get,set /// ///The booking id /// [] member val BookingId:Int32 = new Int32() with get,set /// ///The purchase id /// [] member val PurchaseId:Nullable = new Nullable() with get,set /// ///The payment checkout expiration datetime /// [] member val ExpirationTime:Nullable = new Nullable() with get,set /// ///The payment snippet code /// [] member val Snippet:String = null with get,set /// ///The payment status /// [] member val Status:String = null with get,set /// ///Log message /// [] member val Message:String = null with get,set /// ///When the checkout log item was created /// [] member val Created:DateTime = new DateTime() with get,set /// ///When the checkout log item was updated /// [] member val Updated:DateTime = new DateTime() with get,set [] type ExternalReferenceResponse() = member val CompanyId:Guid = new Guid() with get,set member val Id:Guid = new Guid() with get,set member val OwnerId:Guid = new Guid() with get,set member val ReferenceType:String = null with get,set member val ExternalData:String = null with get,set member val CreatedBy:String = null with get,set member val Updated:DateTime = new DateTime() with get,set member val Created:DateTime = new DateTime() with get,set [] type BookingCalendarExportStatus() = member val CalendarId:String = null with get,set member val BookingId:Int32 = new Int32() with get,set member val Synced:Nullable = new Nullable() with get,set [] type BookingLogQueryResponse() = /// ///The booking log id /// [] member val Id:Int32 = new Int32() with get,set /// ///The booking id /// [] member val BookingId:Int32 = new Int32() with get,set /// ///The type of event /// [] member val EventTypeId:Int32 = new Int32() with get,set /// ///The type of event /// [] member val EventType:BookingLogEventTypeResponse = null with get,set /// ///Comments that could be added to the event log item /// [] member val Comments:String = null with get,set /// ///The user created the event /// [] member val UserName:String = null with get,set /// ///Then date when the event occured /// [] member val Created:DateTime = new DateTime() with get,set [] type BookedQuantity() = /// ///The quantity Id /// [] member val Id:Int32 = new Int32() with get,set /// ///The quantity for booked on this price category /// [] member val Quantity:Int32 = new Int32() with get,set /// ///The price /// [] member val Price:Nullable = new Nullable() with get,set /// ///The price bofore rebate codes /// [] member val PriceBeforeRebate:Nullable = new Nullable() with get,set /// ///The price currency /// [] member val CurrencyId:String = null with get,set /// ///The price sign /// [] member val PriceSign:String = null with get,set /// ///The price category /// [] member val Category:String = null with get,set /// ///The price VAT in percent /// [] member val VAT:Nullable = new Nullable() with get,set /// ///The price text to display /// [] member val PriceText:String = null with get,set /// ///If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information. /// [] member val OccupiesSpot:Boolean = new Boolean() with get,set [] type BookingQueryResponse() = member val Id:Int32 = new Int32() with get,set member val CompanyId:Guid = new Guid() with get,set member val From:DateTime = new DateTime() with get,set member val To:DateTime = new DateTime() with get,set member val Status:BookingStatusEnum = new BookingStatusEnum() with get,set member val StatusId:Int32 = new Int32() with get,set member val StatusName:String = null with get,set member val StatusInfo:BookingStatusQueryResponse = null with get,set member val SendEmailReminder:Boolean = new Boolean() with get,set member val SendSmsReminder:Boolean = new Boolean() with get,set member val SendSmsConfirmation:Boolean = new Boolean() with get,set member val SendEmailConfirmation:Boolean = new Boolean() with get,set member val LastTimeToUnBook:Nullable = new Nullable() with get,set member val CustomFields:ResizeArray = new ResizeArray() with get,set member val CustomFieldValues:ResizeArray = new ResizeArray() with get,set member val BookedResourceTypes:ResizeArray = new ResizeArray() with get,set member val Company:BookedCompany = null with get,set member val Customer:BookedCustomer = null with get,set member val Quantities:ResizeArray = new ResizeArray() with get,set member val Service:ServiceInfoResponse = null with get,set member val PaymentExpiration:Nullable = new Nullable() with get,set member val Log:ResizeArray = new ResizeArray() with get,set member val PaymentLog:ResizeArray = new ResizeArray() with get,set member val CheckoutLog:ResizeArray = new ResizeArray() with get,set member val ExternalReference:ResizeArray = new ResizeArray() with get,set member val ResponseStatus:ResponseStatus = null with get,set member val CalendarExportStatus:BookingCalendarExportStatus = null with get,set member val LengthInMinutes:Nullable = new Nullable() with get,set member val BookedBy:String = null with get,set member val BookedComments:String = null with get,set member val UnbookedComments:String = null with get,set member val CommentsToCustomer:String = null with get,set member val CreatedDate:DateTime = new DateTime() with get,set member val UpdatedDate:DateTime = new DateTime() with get,set member val UnbookedOn:Nullable = new Nullable() with get,set member val CancellationCode:String = null with get,set member val RatingCode:String = null with get,set [] [] [] [] type UpdateBooking() = interface IReturn /// ///The company id, if empty will use the company id for the user you are logged in with. /// [] member val CompanyId:Nullable = new Nullable() with get,set /// ///Id of the booking /// [] member val Id:Nullable = new Nullable() with get,set member val From:Nullable = new Nullable() with get,set member val To:Nullable = new Nullable() with get,set member val Status:Nullable = new Nullable() with get,set member val PaymentExpiration:Nullable = new Nullable() with get,set member val LastTimeToUnBook:Nullable = new Nullable() with get,set /// ///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 /// [] member val UnbookedComments:String = null with get,set /// ///If you want to add comments to a booking you can add them here, this comments are never shared with the customer /// [] member val BookedComments:String = null with get,set /// ///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 /// [] member val CommentsToCustomer:String = null with get,set /// ///If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be updated /// [] member val CustomFields:ResizeArray = new ResizeArray() with get,set /// ///Resources you want to change, leave it empty if no changes to the booked resources /// [] member val Resources:ResourceToUpdate = null with get,set /// ///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 /// [] member val AllowBookingOutsideSchedules:Boolean = new Boolean() with get,set /// ///Any comment to save to the log when changing the booking. /// [] member val Comment:String = null with get,set /// ///Any comment sent to user if SendSmsConfirmation or SendEmailConfirmation /// [] member val Message:String = null with get,set /// ///If you want to send SMS confirmation. If null, it will take the default value of the bookings SendSMSConfirmation. /// [] member val SendSmsConfirmation:Nullable = new Nullable() with get,set /// ///If you want to send Email confirmation. If null, it will take the default value of the bookings SendEmailConfirmation. /// [] member val SendEmailConfirmation:Nullable = new Nullable() with get,set