' Options: 'Date: 2024-11-21 11:30:36 'Version: 8.23 'Tip: To override a DTO option, remove "''" prefix before updating 'BaseUrl: https://api.bokamera.se ' '''GlobalNamespace: '''MakePartial: True '''MakeVirtual: True '''MakeDataContractsExtensible: False '''AddReturnMarker: True '''AddDescriptionAsComments: True '''AddDataContractAttributes: False '''AddIndexesToDataMembers: False '''AddGeneratedCodeAttributes: False '''AddResponseStatus: False '''AddImplicitVersion: '''InitializeCollections: True '''ExportValueTypes: False 'IncludeTypes: CreateBookings.* '''ExcludeTypes: '''AddNamespaces: '''AddDefaultXmlNamespace: http://schemas.servicestack.net/types Imports System Imports System.Collections Imports System.Collections.Generic Imports System.Runtime.Serialization Imports ServiceStack Imports ServiceStack.DataAnnotations Imports System.Globalization Imports ServiceStack.Data Imports System.IO Imports BokaMera.API.ServiceModel.Dtos Imports BokaMera.API.ServiceModel.Enums Imports BokaMera.API.ServiceModel.Interfaces Namespace Global Namespace BokaMera.API.ServiceModel.Dtos Public Partial Class AddCustomField Public Overridable Property Id As Integer Public Overridable Property Value As String End Class Public Partial Class BookingQueryResponse Public Sub New() CustomFields = New List(Of CustomFieldConfigData) CustomFieldValues = New List(Of CustomFieldDataResponse) BookedResourceTypes = New List(Of BookedResourceType) Quantities = New List(Of BookedQuantity) Log = New List(Of BookingLogQueryResponse) PaymentLog = New List(Of BookingPaymentLogQueryResponse) CheckoutLog = New List(Of BookingCheckoutQueryResponse) ExternalReference = New List(Of ExternalReferenceResponse) End Sub Public Overridable Property Id As Integer Public Overridable Property CompanyId As Guid Public Overridable Property From As Date Public Overridable Property To As Date Public Overridable Property Status As BookingStatusEnum Public Overridable Property StatusId As Integer Public Overridable Property StatusName As String Public Overridable Property StatusInfo As BookingStatusQueryResponse Public Overridable Property SendEmailReminder As Boolean Public Overridable Property SendSmsReminder As Boolean Public Overridable Property SendSmsConfirmation As Boolean Public Overridable Property SendEmailConfirmation As Boolean Public Overridable Property LastTimeToUnBook As Nullable(Of Date) Public Overridable Property CustomFields As List(Of CustomFieldConfigData) Public Overridable Property CustomFieldValues As List(Of CustomFieldDataResponse) Public Overridable Property BookedResourceTypes As List(Of BookedResourceType) Public Overridable Property Company As BookedCompany Public Overridable Property Customer As BookedCustomer Public Overridable Property Quantities As List(Of BookedQuantity) Public Overridable Property Service As ServiceInfoResponse Public Overridable Property PaymentExpiration As Nullable(Of Date) Public Overridable Property Log As List(Of BookingLogQueryResponse) Public Overridable Property PaymentLog As List(Of BookingPaymentLogQueryResponse) Public Overridable Property CheckoutLog As List(Of BookingCheckoutQueryResponse) Public Overridable Property ExternalReference As List(Of ExternalReferenceResponse) Public Overridable Property ResponseStatus As ResponseStatus Public Overridable Property CalendarExportStatus As BookingCalendarExportStatus Public Overridable Property LengthInMinutes As Nullable(Of Integer) Public Overridable Property BookedBy As String Public Overridable Property BookedComments As String Public Overridable Property UnbookedComments As String Public Overridable Property CommentsToCustomer As String Public Overridable Property CreatedDate As Date Public Overridable Property UpdatedDate As Date Public Overridable Property UnbookedOn As Nullable(Of Date) Public Overridable Property CancellationCode As String Public Overridable Property RatingCode As String End Class Public Partial Class CreateBookingBase Public Sub New() Resources = New List(Of ResourceToBook) RebateCodeIds = New List(Of Integer) CustomFields = New List(Of AddCustomField) CustomerCustomFields = New List(Of AddCustomField) End Sub ''' '''The company id, if empty will use the company id for the user you are logged in with. ''' Public Overridable Property CompanyId As Nullable(Of Guid) ''' '''If you want to book on an existing customer instead of CustomerToBook info set the CustomerId here. Set Empty Guid (00000000-0000-0000-0000-000000000000) if you want to book without any customer, this is only allowed by admin. The customer id is shown in the customer list named as id. When booking as customer (no admin) leave this field blank. ''' Public Overridable Property CustomerId As Nullable(Of Guid) ''' '''If company requires to be authenticated or a pin code entered to book on a specific customer, enter it here. ''' Public Overridable Property PinCode As String ''' '''If you want to book with customer information instead of the Customer Id send the customer information here. Note: If customer profile already exists with the same email the information will not be changed, instead the provided information will be added as BookingsComments if it differs from the ordinairy profile. ''' Public Overridable Property Customer As CustomerToHandle ''' '''The service to be booked ''' Public Overridable Property ServiceId As Integer ''' '''If you want to add comments to a booking you can add them here, this comments are never shared with the customer ''' Public Overridable Property BookedComments As String ''' '''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 ''' Public Overridable Property CommentsToCustomer As String Public Overridable Property Resources As List(Of ResourceToBook) ''' '''Rebate codes applied to booking ''' Public Overridable Property RebateCodeIds As List(Of Integer) ''' '''If you want to send Email reminder ''' Public Overridable Property SendEmailReminder As Nullable(Of Boolean) ''' '''If you want to send SMS reminder ''' Public Overridable Property SendSmsReminder As Nullable(Of Boolean) ''' '''If you want to send SMS confirmation ''' Public Overridable Property SendSmsConfirmation As Nullable(Of Boolean) ''' '''Only admins are allowed to not send an email confirmation. Default is true ''' Public Overridable Property SendEmailConfirmation As Nullable(Of Boolean) ''' '''If payment is enabled and you're an administrator, optional to choose payment option, if empty then the default settings will be used. Following payment options exists. DefaultSetting = 0, BookWithoutPayment = 1 (will be direcyly booked without payment), BookWithPaymentMessageToCustomer = 2 (will set status AwaitingPayment and send payment instructions to customer), BookWithManualPayment = 3 (Will set status AwaitingPaymentNoTimeLimit and Admin will need to manually mark the booking as payed when recieved payment). ''' Public Overridable Property PaymentOption As PaymentOptions ''' '''If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be saved ''' Public Overridable Property CustomFields As List(Of AddCustomField) ''' '''If Custom Fields are added to the customer, here you will send the id and the value for each custom field to be updated ''' Public Overridable Property CustomerCustomFields As List(Of AddCustomField) ''' '''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 ''' Public Overridable Property AllowBookingOutsideSchedules As Boolean End Class Public Partial Class CreateBookings Inherits CreateBookingBase Implements IReturn(Of CreateBookingsResponse) Public Sub New() DatesToRepeat = New List(Of DatesToRepeat) End Sub ''' '''Set the dates you want to book and it's quantities. It's an array of dates and quantities. ''' ", Description:="Set the dates you want to book and it's quantities. It's an array of dates and quantities.", IsRequired:=true)> Public Overridable Property DatesToRepeat As List(Of DatesToRepeat) End Class Public Partial Class CreateBookingsResponse Public Sub New() Created = New List(Of BookingQueryResponse) Failed = New List(Of FailedBookings) End Sub ''' '''The datetime you want to end the booking. ''' Public Overridable Property Created As List(Of BookingQueryResponse) ''' '''The dates that didn't work to book. ''' Public Overridable Property Failed As List(Of FailedBookings) Public Overridable Property ResponseStatus As ResponseStatus End Class Public Partial Class CustomerToHandle Public Overridable Property CustomerId As Nullable(Of Guid) Public Overridable Property Firstname As String Public Overridable Property Lastname As String Public Overridable Property Email As String Public Overridable Property Phone As String Public Overridable Property SubscribedToNewsletter As Boolean End Class Public Partial Class DatesToRepeat Implements IInterval Public Sub New() Quantities = New QuantityToBook(){} End Sub ''' '''Booking start ''' Public Overridable Property From As Date ''' '''Booking end ''' Public Overridable Property To As Date ''' '''Set the number of spots you want to book. You add number of spots per price category. Multiple spots require that the service has GroupBooking enabled. Default is one spot. ''' Public Overridable Property Quantities As QuantityToBook() End Class Public Partial Class FailedBookings Public Sub New() Quantities = New QuantityToBook(){} End Sub Public Overridable Property From As Date Public Overridable Property To As Date Public Overridable Property Reason As String ''' '''Set the number of spots you want to book. You add number of spots per price category. Multiple spots require that the service has GroupBooking enabled. Default is one spot. ''' Public Overridable Property Quantities As QuantityToBook() End Class Public Partial Class ResourceToBook Public Overridable Property ResourceTypeId As Integer Public Overridable Property ResourceId As Integer End Class End Namespace Namespace BokaMera.API.ServiceModel.Enums Public Enum PaymentOptions DefaultSetting BookWithoutPayment BookWithPaymentMessageToCustomer BookWithManualPayment End Enum End Namespace Namespace BokaMera.API.ServiceModel.Interfaces Public Interface IInterval Property From As Date Property To As Date End Interface End Namespace End Namespace