' Options:
'Date: 2025-10-30 20:36:25
'Version: 8.80
'Tip: To override a DTO option, remove "''" prefix before updating
'BaseUrl: https://api.bookmore.com
'
'''GlobalNamespace: 
'''MakePartial: True
'''MakeVirtual: True
'''MakeDataContractsExtensible: False
'''AddReturnMarker: True
'''AddDescriptionAsComments: True
'''AddDataContractAttributes: False
'''AddIndexesToDataMembers: False
'''AddGeneratedCodeAttributes: False
'''AddResponseStatus: False
'''AddImplicitVersion: 
'''InitializeCollections: False
'''ExportValueTypes: False
'IncludeTypes: DeleteResource.*
'''ExcludeTypes: 
'''AddNamespaces: 
'''AddDefaultXmlNamespace: http://schemas.servicestack.net/types
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports System.Globalization
Imports ServiceStack.Data
Imports System.Net
Imports System.Net.Http.Headers
Imports BokaMera.API.ServiceModel.Interfaces
Imports BokaMera.API.ServiceModel.Enums
Imports BokaMera.API.ServiceModel.Dtos
Namespace Global
    Namespace BokaMera.API.ServiceModel.Dtos
        Public Partial Class BookedCustomer
            Public Overridable Property Id As 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 FacebookUserName As String
            Public Overridable Property ImageUrl As String
            Public Overridable Property CorporateIdentityNumber As String
            Public Overridable Property InvoiceAddress1 As String
            Public Overridable Property InvoiceAddress2 As String
            Public Overridable Property InvoiceCity As String
            Public Overridable Property InvoicePostalCode As String
            Public Overridable Property InvoiceCountryCode As String
        End Class
        Public Partial Class BookedTime
            Implements IBookedTime
            '''
            '''Booking id
            '''
            
            Public Overridable Property Id As Integer Implements IBookedTime.Id
            '''
            '''The booked service
            '''
            
            Public Overridable Property ServiceId As Integer Implements IBookedTime.ServiceId
            '''
            '''Booking start
            '''
            
            Public Overridable Property From As Date
            '''
            '''Booking end
            '''
            
            Public Overridable Property [To] As Date
            '''
            '''Number of booked spots
            '''
            
            Public Overridable Property BookedSpots As Integer Implements IBookedTime.BookedSpots
            '''
            '''Number of total spots for the service
            '''
            
            Public Overridable Property TotalSpots As Integer Implements IBookedTime.TotalSpots
            '''
            '''The pause after the booking
            '''
            
            Public Overridable Property PauseAfterInMinutes As Integer Implements IBookedTime.PauseAfterInMinutes
            '''
            '''The booking status
            '''
            
            Public Overridable Property StatusId As Integer Implements IBookedTime.StatusId
            Public Overridable Property Status As BookingStatusEnum Implements IBookedTime.Status
            '''
            '''The customer the booking belongs to
            '''
            
            Public Overridable Property Customer As BookedCustomer Implements IBookedTime.Customer
        End Class
        
        
        
        
        
        Public Partial Class DeleteResource
            Implements IReturn(Of ResourceQueryResponse)
            Implements ICompany
            '''
            '''Enter the company id, if blank company id and you are an admin, your company id will be used.
            '''
            
            Public Overridable Property CompanyId As Guid? Implements ICompany.CompanyId
            '''
            '''Id of the resource to delete
            '''
            
            Public Overridable Property Id As Integer
            '''
            '''If this equals true it will force to set the resource as active = false, this is used when bookings exist on the resource and it cannot be deleted. 
            '''
            
            Public Overridable Property Force As Boolean
        End Class
        Public Partial Class ResourceQueryResponse
            '''
            '''The resource id
            '''
            
            Public Overridable Property Id As Integer
            '''
            '''The resource name
            '''
            
            Public Overridable Property Name As String
            '''
            '''The resource description
            '''
            
            Public Overridable Property Description As String
            '''
            '''If resource is active or not
            '''
            
            Public Overridable Property Active As Boolean
            '''
            '''The resource color in scheduler in hexadecimal color code. Example: #00b0f0 for blue.
            '''
            
            Public Overridable Property Color As String
            '''
            '''The Email of the resource
            '''
            
            Public Overridable Property Email As String
            '''
            '''The Image URL of the resource
            '''
            
            Public Overridable Property ImageUrl As Uri
            '''
            '''The Mobile phone number of the resource
            '''
            
            Public Overridable Property MobilePhone As String
            '''
            '''Used by example code locks to know what access group the resource is assigned to
            '''
            
            Public Overridable Property AccessGroup As String
            '''
            '''If the resource should receive Email notification when booked
            '''
            
            Public Overridable Property EmailNotification As Boolean
            '''
            '''If the resource should receive SMS notification when booked
            '''
            
            Public Overridable Property SMSNotification As Boolean
            '''
            '''If the resource should receive Email reminders on bookings
            '''
            
            Public Overridable Property SendEmailReminder As Boolean?
            '''
            '''If the resource should receive SMS reminders on bookings
            '''
            
            Public Overridable Property SendSMSReminder As Boolean?
            '''
            '''The resource time exceptions
            '''
            
            Public Overridable Property Exceptions As List(Of TimeException) = New List(Of TimeException)
            '''
            '''The resource bookings
            '''
            
            Public Overridable Property Bookings As List(Of BookedTime) = New List(Of BookedTime)
            '''
            '''The date when the resource was created
            '''
            
            Public Overridable Property Created As Date
            '''
            '''The date when the resource was updated
            '''
            
            Public Overridable Property Updated As Date
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
        Public Partial Class TimeException
            Implements ITimeException
            '''
            '''Time exception id
            '''
            
            Public Overridable Property Id As Integer Implements ITimeException.Id
            '''
            '''Indicates whether or not the time exception is recurring
            '''
            
            Public Overridable Property IsRecurring As Boolean Implements ITimeException.IsRecurring
            '''
            '''Indicates whether the time exception is blocking the time or not
            '''
            
            Public Overridable Property IsBlock As Boolean Implements ITimeException.IsBlock
            '''
            '''The reason of the time exception, example: Vacation, doctors appointment, ...
            '''
            
            Public Overridable Property ReasonText As String Implements ITimeException.ReasonText
            '''
            '''The public reason of the time exception, example: Vacation, doctors appointment, ...
            '''
            
            Public Overridable Property ReasonTextPublic As String Implements ITimeException.ReasonTextPublic
            '''
            '''Time exception start
            '''
            
            Public Overridable Property From As Date
            '''
            '''Time exception end
            '''
            
            Public Overridable Property [To] As Date
            '''
            '''Resources that owns this exception
            '''
            
            Public Overridable Property ResourceIds As Integer() Implements ITimeException.ResourceIds = New Integer(){}
        End Class
    End Namespace
    Namespace BokaMera.API.ServiceModel.Enums
        Public Enum BookingStatusEnum
            Booked = 1
            Unbooked = 2
            Reserved = 3
            Canceled = 4
            AwaitingPayment = 5
            AwaitingPaymentNoTimeLimit = 6
            Payed = 7
            AwaitingPaymentRequestFromAdmin = 8
            AwaitingPaymentFromProvider = 9
            Invoiced = 10
        End Enum
    End Namespace
    Namespace BokaMera.API.ServiceModel.Interfaces
        Public Interface IBookedTime
            Implements IInterval
            Property Id As Integer
            Property ServiceId As Integer
            Property BookedSpots As Integer
            Property TotalSpots As Integer
            Property PauseAfterInMinutes As Integer
            Property Status As BookingStatusEnum
            Property StatusId As Integer
            Property Customer As BookedCustomer
        End Interface
        Public Interface ICompany
            Property CompanyId As Guid?
        End Interface
        Public Interface IInterval
            Property From As Date
            Property [To] As Date
        End Interface
        Public Interface ITimeException
            Implements IInterval
            Property Id As Integer
            Property ReasonText As String
            Property IsBlock As Boolean
            Property ReasonTextPublic As String
            Property IsRecurring As Boolean
            Property ResourceIds As Integer() = New Integer(){}
        End Interface
    End Namespace
End Namespace