BokaMera.API.Host

<back to all web services

UpdateService

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/services/{Id}Update serviceUpdate service to the company for the currently logged in user, only administrators are allowed to add services.
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos
Imports BokaMera.API.ServiceModel.Enums
Imports BokaMera.API.ServiceModel.Interfaces
Imports BokaMera.API.ServiceModel.Db
Imports ServiceStack.Data
Imports BokaMera.API.ServiceModel.Helpers.Payment
Imports QvicklyIntegration.Models.Checkout
Imports QvicklyIntegration.Models.Common
Imports QvicklyIntegration.Models.Payment
Imports PaysonIntegrationCO2.Models
Imports PaysonIntegrationCO2.Models.Enums
Imports Stripe.Checkout
Imports Stripe
Imports StripeIntegration.Enums
Imports BokaMera.API.ServiceModel.Helpers.Payson1Payment
Imports Microsoft.Extensions.Logging

Namespace Global

    Namespace BokaMera.API.ServiceModel.Db

        Public Partial Class AdminPaymentOptions
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class Article
            Inherits BaseModel
            Implements IBaseModelCreated
            Implements IBaseModelUpdated
            Public Sub New()
                ArticleServiceRelations = New List(Of ArticleServiceRelation)
                ServiceIds = New List(Of Integer)
            End Sub

            Public Overridable Property Company As Company
            Public Overridable Property CurrencyInfo As Currency
            Public Overridable Property ArticleServiceRelations As List(Of ArticleServiceRelation)
            <Ignore>
            Public Overridable Property ServiceIds As List(Of Integer)

            <Ignore>
            Public Overridable Property ArticleType As ArticleTypeEnum

            <Ignore>
            Public Overridable Property ArticleTypeName As String

            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property ArticleTypeId As Integer

            Public Overridable Property Description As String
            Public Overridable Property ImageUrl As String
            <Required>
            Public Overridable Property Active As Boolean

            <Required>
            Public Overridable Property Amount As Integer

            <Required>
            Public Overridable Property Price As Double

            <Required>
            <StringLength(50)>
            Public Overridable Property CurrencyId As String

            <Required>
            Public Overridable Property UpdatedDate As Date

            <Required>
            Public Overridable Property CreatedDate As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class ArticleServiceRelation
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property ServiceId As Integer

            <Required>
            Public Overridable Property ArticleId As Integer
        End Class

        Public Partial Class AverageRatingScore
            Public Overridable Property AverageScore As Double
            Public Overridable Property Score1Count As Integer
            Public Overridable Property Score2Count As Integer
            Public Overridable Property Score3Count As Integer
            Public Overridable Property Score4Count As Integer
            Public Overridable Property Score5Count As Integer
            Public Overridable Property Count As Integer
        End Class

        Public Partial Class BaseModel
        End Class

        Public Partial Class Booking
            Inherits PayableEntity
            Implements IInterval
            Implements ICustomFieldTable
            Implements IBaseModelUpdated
            Implements IBaseModelCreated
            Public Sub New()
                Log = New List(Of BookingLog)
                CheckoutLogs = New List(Of PaymentDetails)
                Prices = New List(Of BookingPrice)
                PriceMappings = New List(Of PriceMapping)
            End Sub

            <Ignore>
            Public Overridable Property Service As Service

            <Ignore>
            Public Overridable Property CalendarExport As CalendarExport

            <Ignore>
            Public Overridable Property Log As List(Of BookingLog)

            <Ignore>
            Public Overridable Property CheckoutLogs As List(Of PaymentDetails)

            <Ignore>
            Public Overridable Property Prices As List(Of BookingPrice)

            <Ignore>
            Public Overridable Property Status As BookingStatusEnum

            <Ignore>
            Public Overridable Property IsReserved As Boolean

            <Ignore>
            Public Overridable Property StatusName As String

            Public Overridable Property CurrencyInfo As Currency
            Public Overridable Property BookingStatus As BookingStatus
            <Ignore>
            Public Overridable Property TotalPrice As Nullable(Of Double)

            <Ignore>
            Public Overridable Property TotalSpots As Nullable(Of Integer)

            <Ignore>
            Public Overridable Property Resources As IList(Of Resource)

            <Ignore>
            Public Overridable Property ExternalReferences As IList(Of ExternalReference)

            <Ignore>
            Public Overridable Property BookedResources As IList(Of BookedResourceType)

            <Ignore>
            Public Overridable Property CustomFieldsConfig As IList(Of CustomFieldConfig)

            <Ignore>
            Public Overridable Property CustomFieldsData As IList(Of CustomFieldDataResponse)

            <Ignore>
            Public Overridable Property DeterministicId As Guid

            <Ignore>
            Public Overridable Property Active As Boolean

            <Ignore>
            Public Overridable Property LastTimeToUnBook As Nullable(Of Date)

            <Ignore>
            Public Overridable Property PriceMappings As List(Of PriceMapping)

            <Ignore>
            Public Overridable Property InternalReferenceId As String

            <Required>
            Public Overridable Property UpdatedDate As Date

            <Required>
            Public Overridable Property CreatedDate As Date

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property CustomerId As Guid

            <Required>
            Public Overridable Property ServiceId As Integer

            <Required>
            Public Overridable Property StatusId As Integer

            Public Overridable Property UnbookedOn As Nullable(Of Date)
            Public Overridable Property UnbookedComments As String
            Public Overridable Property BookedComments As String
            <Required>
            Public Overridable Property BookedBy As String

            Public Overridable Property UnBookedBy As String
            <Required>
            Public Overridable Property SendSmsReminder As Boolean

            <Required>
            Public Overridable Property SendEmailReminder As Boolean

            <Required>
            Public Overridable Property SendSmsConfirmation As Boolean

            Public Overridable Property RebateCode As String
            Public Overridable Property Comments As String
            Public Overridable Property IpAddress As String
            <Required>
            Public Overridable Property NumberOfBookedSpots As Integer

            Public Overridable Property CommentsToCustomer As String
            Public Overridable Property PaymentExpiration As Nullable(Of Date)
            <Required>
            Public Overridable Property SendEmailConfirmation As Boolean

            Public Overridable Property CancellationCode As String
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property RatingCode As String
            Public Overridable Property TextField1 As String
            Public Overridable Property TextField2 As String
            Public Overridable Property TextField3 As String
            Public Overridable Property TextField4 As String
            Public Overridable Property TextField5 As String
            Public Overridable Property TextField6 As String
            Public Overridable Property TextField7 As String
            Public Overridable Property TextField8 As String
            Public Overridable Property TextField9 As String
            Public Overridable Property TextField10 As String
            Public Overridable Property TextField11 As String
            Public Overridable Property TextField12 As String
            Public Overridable Property TextField13 As String
            Public Overridable Property TextField14 As String
            Public Overridable Property TextField15 As String
            Public Overridable Property TextField16 As String
            Public Overridable Property TextField17 As String
            Public Overridable Property TextField18 As String
            Public Overridable Property TextField19 As String
            Public Overridable Property TextField20 As String
            <Required>
            Public Overridable Property From As Date

            <Required>
            Public Overridable Property To As Date
        End Class

        Public Partial Class BookingLog
            Inherits BaseModel
            <References(GetType(BookingLogEventType))>
            Public Overridable Property EventTypeId As Integer

            Public Overridable Property EventType As BookingLogEventType
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property BookingId As Integer

            Public Overridable Property Id As Integer
            Public Overridable Property Comments As String
            Public Overridable Property UserId As String
            <Required>
            Public Overridable Property Created As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class BookingLogEventType
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class BookingPrice
            Inherits BaseModel
            Public Sub New()
                AppliedCodes = New List(Of AppliedRebateCodes)
            End Sub

            <References(GetType(Currency))>
            Public Overridable Property CurrencyId As String

            Public Overridable Property PriceId As Nullable(Of Integer)
            Public Overridable Property CurrencyInfo As Currency
            <Ignore>
            Public Overridable Property PriceText As String

            <Ignore>
            Public Overridable Property AppliedCodes As List(Of AppliedRebateCodes)

            <Ignore>
            Public Overridable Property IsRebate As Boolean

            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property BookingId As Integer

            <Required>
            Public Overridable Property Quantity As Integer

            Public Overridable Property Price As Nullable(Of Double)
            Public Overridable Property VAT As Nullable(Of Decimal)
            Public Overridable Property Category As String
            <Required>
            Public Overridable Property Updated As Date

            <Required>
            Public Overridable Property Created As Date

            <Required>
            Public Overridable Property Invoiced As Boolean

            <Required>
            Public Overridable Property OccupiesSpot As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class BookingSettings
            Inherits BaseModel
            Public Sub New()
                ScheduleViewOptions = New List(Of ScheduleView)
                WeekNumberSettingOptions = New List(Of WeekNumberSetting)
                BookingTemplateOptions = New List(Of BookingTemplate)
                CalendarTypeOptions = New List(Of CalendarType)
                FreeSpotTextOptions = New List(Of FreeSpotTexts)
                BookingStatusOptions = New List(Of BookingStatusOptions)
            End Sub

            <References(GetType(FreeSpotTexts))>
            Public Overridable Property FreeSpotTextsId As Integer

            <Ignore>
            Public Overridable Property SendEmailConfirmation As Boolean

            <Ignore>
            Public Overridable Property ScheduleViewOptions As List(Of ScheduleView)

            <Ignore>
            Public Overridable Property WeekNumberSettingOptions As List(Of WeekNumberSetting)

            <Ignore>
            Public Overridable Property BookingTemplateOptions As List(Of BookingTemplate)

            <Ignore>
            Public Overridable Property CalendarTypeOptions As List(Of CalendarType)

            <Ignore>
            Public Overridable Property FreeSpotTextOptions As List(Of FreeSpotTexts)

            <Ignore>
            Public Overridable Property BookingStatusOptions As List(Of BookingStatusOptions)

            Public Overridable Property FreeSpotTextsInfo As FreeSpotTexts
            <Ignore>
            Public Overridable Property FreeSpotsTextSingular As String

            <Ignore>
            Public Overridable Property FreeSpotsTextPlural As String

            <Required>
            Public Overridable Property BookingStatusId As Integer

            <Required>
            Public Overridable Property ScheduleViewId As Integer

            <Required>
            Public Overridable Property BookingTemplateId As Integer

            <Required>
            Public Overridable Property CalendarTypeId As Integer

            <Required>
            Public Overridable Property AllowBookingOnUnbookedTimes As Boolean

            <Required>
            Public Overridable Property SendEmailReminder As Boolean

            <Required>
            Public Overridable Property SendSmsReminder As Boolean

            <Required>
            Public Overridable Property SendSmsConfirmation As Boolean

            <Required>
            Public Overridable Property EmailReminderTime As Integer

            <Required>
            Public Overridable Property SmsReminderTime As Integer

            <Required>
            Public Overridable Property MaxActiveBookings As Integer

            <Required>
            Public Overridable Property SendNotifications As Boolean

            Public Overridable Property SendNotificationsEmail As String
            <Required>
            Public Overridable Property EnableMobileApp As Boolean

            Public Overridable Property ScheduleStartTime As Nullable(Of TimeSpan)
            Public Overridable Property ScheduleEndTime As Nullable(Of TimeSpan)
            Public Overridable Property ReceiptTemplate As String
            <Required>
            Public Overridable Property ScheduleTimeSlotMinutes As Integer

            <Required>
            Public Overridable Property ShowFreeTimesLeft As Boolean

            <Required>
            Public Overridable Property EnableICalGroupBookings As Boolean

            Public Overridable Property AgreementTemplate As String
            <Required>
            Public Overridable Property ScheduleShowTimeExeptions As Boolean

            <Required>
            Public Overridable Property EnableBookingsOnSameTime As Boolean

            <Required>
            Public Overridable Property ShowWeekNumberSettingId As Integer

            <Required>
            Public Overridable Property EnableShowBookedTimes As Boolean

            <Required>
            Public Overridable Property EnableSendFollowUpMessage As Boolean

            <Required>
            Public Overridable Property FollowUpMessageTime As Integer

            Public Overridable Property MessageText As String
            <Required>
            Public Overridable Property ScheduleGroupResources As Boolean

            <Required>
            Public Overridable Property BookSpotUserResponseMinutes As Integer

            <Required>
            Public Overridable Property IsBookSpotDirectly As Boolean

            <Required>
            Public Overridable Property BookSpotDirectlyTimeLeftMinutes As Integer

            <Required>
            Public Overridable Property SendEmailNotificationQueue As Boolean

            <Required>
            Public Overridable Property SendSMSNotificationQueue As Boolean

            <Required>
            Public Overridable Property SchedulerDisableHorizontalScrolling As Boolean

            <Required>
            Public Overridable Property BookOnlyOnExistingCustomers As Boolean

            <Required>
            Public Overridable Property AutoGenerateUniquePinCode As Boolean

            <Required>
            Public Overridable Property WeightedPrices As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property AutoCreateUserProfile As Boolean

            Public Overridable Property ShowMultipleResourcesAsOne As Boolean
            Public Overridable Property ShowMultiDayAsTime As Boolean
            <Required>
            Public Overridable Property Id As Guid
        End Class

        Public Partial Class BookingStatus
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Color As String

            <Required>
            Public Overridable Property Icon As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class BookingStatusOptions
            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property Description As String
        End Class

        Public Partial Class BookingTemplate
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property UsedByApplication As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class CalendarExport
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property BookingId As Integer

            <Required>
            Public Overridable Property ExceptionId As Integer

            Public Overridable Property CalendarSync As Nullable(Of Boolean)
            Public Overridable Property CalendarId As String
            Public Overridable Property IsExceptionDeleted As Nullable(Of Boolean)
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class CalendarType
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Active As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class CodeLockSetting
            Inherits BaseModel
            Public Sub New()
                CodeLockSystemOptions = New List(Of CodeLockSystem)
            End Sub

            <Ignore>
            Public Overridable Property CodeLockSystemOptions As List(Of CodeLockSystem)

            <Required>
            Public Overridable Property Active As Boolean

            <Required>
            Public Overridable Property CodeLockSystemsId As Integer

            <Required>
            Public Overridable Property ValidBeforeMinutes As Integer

            <Required>
            Public Overridable Property ValidAfterMinutes As Integer

            <Required>
            Public Overridable Property DeleteOldBySchedule As Boolean

            <Required>
            Public Overridable Property Created As Date

            <Required>
            Public Overridable Property Updated As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property SendEmailNotification As Boolean

            <Required>
            Public Overridable Property SendSMSNotification As Boolean

            <Required>
            Public Overridable Property EmailNotificationTime As Short

            <Required>
            Public Overridable Property SMSNotificationTime As Short

            <Required>
            Public Overridable Property Id As Guid
        End Class

        Public Partial Class CodeLockSystem
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Supplier As String

            Public Overridable Property LogoType As String
            <Required>
            Public Overridable Property Description As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class Company
            Inherits BaseModel
            Public Sub New()
                Ratings = New List(Of Rating)
                Licenses = New List(Of License)
                ActiveLicenses = New List(Of License)
            End Sub

            <Ignore>
            Public Overridable Property Status As CompanyStatus

            <Ignore>
            Public Overridable Property Active As Boolean

            <Ignore>
            Public Overridable Property CustomerCustomFieldsConfig As IList(Of CustomFieldConfig)

            <Ignore>
            Public Overridable Property BookingAgreements As String

            <Ignore>
            Public Overridable Property BookingSettings As BookingSettings

            <Ignore>
            Public Overridable Property CompanyType As CompanyType

            <Ignore>
            Public Overridable Property CodeLockSettings As CodeLockSetting

            <Ignore>
            Public Overridable Property PaymentSettings As PaymentSetting

            <Ignore>
            Public Overridable Property Settings As CompanySetting

            <Ignore>
            Public Overridable Property WidgetSettings As HomepageWidgetSetting

            <Ignore>
            Public Overridable Property HomepageSettings As HomepageSetting

            <Ignore>
            Public Overridable Property RatingScore As AverageRatingScore

            <Ignore>
            Public Overridable Property Ratings As List(Of Rating)

            <Ignore>
            Public Overridable Property Distance As Nullable(Of Double)

            <Ignore>
            Public Overridable Property Licenses As List(Of License)

            <Ignore>
            Public Overridable Property ActiveLicenses As List(Of License)

            <Ignore>
            Public Overridable Property CurrentLicense As License

            <Ignore>
            Public Overridable Property IsFreeAccount As Boolean

            <Ignore>
            Public Overridable Property DefaultLanguage As CultureInfo

            Public Overridable Property Category As CompanyCategory
            <Ignore>
            Public Overridable Property Lat As Double

            <Ignore>
            Public Overridable Property Lon As Double

            <Ignore>
            Public Overridable Property IsFavorite As Boolean

            <Ignore>
            Public Overridable Property ExternalReferences As IList(Of ExternalReference)

            <Required>
            Public Overridable Property OrganisationNumber As String

            <Required>
            Public Overridable Property StatusId As Integer

            <Required>
            Public Overridable Property CategoryId As Integer

            <Required>
            Public Overridable Property SitePath As String

            <Required>
            Public Overridable Property Name As String

            Public Overridable Property Street1 As String
            Public Overridable Property Street2 As String
            Public Overridable Property ZipCode As String
            Public Overridable Property City As String
            Public Overridable Property OpeningHours As String
            Public Overridable Property FaxNumber As String
            <Required>
            Public Overridable Property Email As String

            Public Overridable Property Phone As String
            Public Overridable Property Details As String
            Public Overridable Property LogoType As String
            <Required>
            Public Overridable Property ApprovedByAdmin As Boolean

            <Required>
            Public Overridable Property Updated As Date

            <Required>
            Public Overridable Property Created As Date

            Public Overridable Property IpAddress As String
            Public Overridable Property Homepage As String
            Public Overridable Property DomainName As String
            <Required>
            Public Overridable Property CountryId As String

            <Required>
            Public Overridable Property CompanyOwnerId As Integer

            Public Overridable Property TypeId As Nullable(Of Integer)
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Guid
        End Class

        Public Partial Class CompanyCategory
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Header As String

            <Required>
            Public Overridable Property Description As String

            Public Overridable Property ImageUrl As Uri
            <Required>
            Public Overridable Property Active As Boolean

            Public Overridable Property SortOrder As Nullable(Of Integer)
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class CompanySetting
            Inherits BaseModel
            Public Sub New()
                Languages = New List(Of LanguageResponse)
            End Sub

            <Ignore>
            Public Overridable Property Languages As List(Of LanguageResponse)

            <Required>
            Public Overridable Property Active As Boolean

            Public Overridable Property InactiveMessage As String
            <Required>
            Public Overridable Property Searchable As Boolean

            Public Overridable Property GATrackingId As String
            Public Overridable Property FacebookPixelId As String
            <Required>
            Public Overridable Property MultiLanguage As Boolean

            <Required>
            Public Overridable Property EnableAPITranslation As Boolean

            <Required>
            Public Overridable Property DefaultLanguage As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property GTMTrackingId As String
            <Required>
            Public Overridable Property ShowOnMarketPlace As Boolean

            Public Overridable Property GoogleAdsConversionId As String
            Public Overridable Property LinkedinTagId As String
            Public Overridable Property GoogleAdsConversionLabel As String
            Public Overridable Property SendCustomerInformationToExternalProviders As Boolean
            <Required>
            Public Overridable Property Id As Guid
        End Class

        Public Partial Class CompanyType
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class Country
            Inherits BaseModel
            <References(GetType(Currency))>
            Public Overridable Property CurrencyId As String

            Public Overridable Property CurrencyInfo As Currency
            <Required>
            Public Overridable Property Name As String

            Public Overridable Property Culture As String
            Public Overridable Property TimeZone As String
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As String
        End Class

        Public Partial Class Currency
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property CurrencySign As String

            <Required>
            Public Overridable Property Active As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As String
        End Class

        Public Partial Class Customer
            Inherits BaseModel
            Implements IUser
            Implements ICustomFieldTable
            Public Overridable Property IdentityId As Integer
            Public Overridable Property Id As Guid
            <Ignore>
            Public Overridable Property CustomerId As Guid

            <Ignore>
            Public Overridable Property AccessKeys As IList(Of UserAccessKeys)

            Public Overridable Property Email As String
            <Ignore>
            Public Overridable Property ExternalReferences As IList(Of ExternalReference)

            <Ignore>
            Public Overridable Property Company As Company

            <Ignore>
            Public Overridable Property CustomFieldsConfig As IList(Of CustomFieldConfig)

            <Ignore>
            Public Overridable Property CustomFieldsData As IList(Of CustomFieldDataResponse)

            <Ignore>
            Public Overridable Property Comments As IList(Of CustomerComment)

            <Ignore>
            Public Overridable Property RebateCodes As IList(Of RebateCode)

            Public Overridable Property Firstname As String
            <Ignore>
            Public Overridable Property FullName As String

            <Ignore>
            Public Overridable Property ImageUrl As String

            <Required>
            Public Overridable Property Active As Boolean

            Public Overridable Property FacebookUsername As String
            <Required>
            Public Overridable Property Updated As Date

            <Required>
            Public Overridable Property Created As Date

            Public Overridable Property IpAddress As String
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property TextField1 As String
            Public Overridable Property TextField2 As String
            Public Overridable Property TextField3 As String
            Public Overridable Property TextField4 As String
            Public Overridable Property TextField5 As String
            Public Overridable Property TextField6 As String
            Public Overridable Property TextField7 As String
            Public Overridable Property TextField8 As String
            Public Overridable Property TextField9 As String
            Public Overridable Property TextField10 As String
            Public Overridable Property TextField11 As String
            Public Overridable Property TextField12 As String
            Public Overridable Property TextField13 As String
            Public Overridable Property TextField14 As String
            Public Overridable Property TextField15 As String
            Public Overridable Property TextField16 As String
            Public Overridable Property TextField17 As String
            Public Overridable Property TextField18 As String
            Public Overridable Property TextField19 As String
            Public Overridable Property TextField20 As String
            Public Overridable Property UserId As Guid
            Public Overridable Property Lastname As String
            Public Overridable Property Phone 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
            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property SubscribedToNewsletter As Boolean
        End Class

        Public Partial Class CustomerComment
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property CustomerId As Guid

            <Required>
            Public Overridable Property Comments As String

            <Required>
            Public Overridable Property Updated As Date

            <Required>
            Public Overridable Property Created As Date

            Public Overridable Property ImageUrl As String
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class CustomField
            Inherits BaseModel
            <Required>
            Public Overridable Property Table As String

            <Required>
            Public Overridable Property Column As String

            <Required>
            Public Overridable Property DataType As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Active As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class CustomFieldConfig
            Inherits BaseModel
            Public Sub New()
                Values = New List(Of CustomFieldValue)
                Services = New List(Of Service)
                CustomFieldServiceRelation = New List(Of CustomFieldServiceRelation)
            End Sub

            <Ignore>
            Public Overridable Property Values As List(Of CustomFieldValue)

            Public Overridable Property CustomField As CustomField
            <Ignore>
            Public Overridable Property RegEx As RegEx

            <Ignore>
            Public Overridable Property Services As List(Of Service)

            Public Overridable Property CustomFieldServiceRelation As List(Of CustomFieldServiceRelation)
            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            Public Overridable Property GroupId As Nullable(Of Integer)
            <Required>
            Public Overridable Property FieldId As Integer

            <Required>
            Public Overridable Property IconId As Integer

            Public Overridable Property RegExId As Nullable(Of Integer)
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Datatype As String

            <Required>
            Public Overridable Property MaxLength As Integer

            <Required>
            Public Overridable Property IsPublic As Boolean

            <Required>
            Public Overridable Property IsHidden As Boolean

            <Required>
            Public Overridable Property IsMandatory As Boolean

            Public Overridable Property DefaultValue As String
            Public Overridable Property RegExErrorMessage As String
            Public Overridable Property MandatoryErrorMessage As String
            Public Overridable Property Width As Nullable(Of Integer)
            <Required>
            Public Overridable Property MultipleLineText As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class CustomFieldServiceRelation
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property CustomFieldConfigId As Integer

            <Required>
            Public Overridable Property ServiceId As Integer

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class CustomFieldValue
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property Value As String

            <Required>
            Public Overridable Property Active As Boolean

            Public Overridable Property SortOrder As Nullable(Of Short)
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class DaysOfWeek
            Inherits BaseModel
            <Required>
            Public Overridable Property DayOfWeek As String

            <Required>
            Public Overridable Property DayOfWeekTranslation As String

            Public Overridable Property DayOfWeekActive As Nullable(Of Boolean)
            Public Overridable Property DayOfWeekSortOrder As Nullable(Of Short)
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class ExternalReference
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property Id As Guid

            <Required>
            Public Overridable Property OwnerId As Guid

            <Required>
            Public Overridable Property ReferenceType As String

            Public Overridable Property ExternalData As String
            Public Overridable Property CreatedBy As String
            <Required>
            Public Overridable Property Updated As Date

            <Required>
            Public Overridable Property Created As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class FreeSpotTexts
            Inherits BaseModel
            <Required>
            Public Overridable Property TextSingular As String

            <Required>
            Public Overridable Property TextPlural As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class HeroSectionStyle
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            Public Overridable Property Description As String
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class HomepageSetting
            Inherits BaseModel
            Implements ICompany
            Public Sub New()
                HomepageTemplateOptions = New List(Of HomepageTemplate)
                HomepageHeroSectionStyleOptions = New List(Of HeroSectionStyle)
            End Sub

            <Ignore>
            Public Overridable Property HomepageTemplateOptions As List(Of HomepageTemplate)

            <Ignore>
            Public Overridable Property HomepageHeroSectionStyleOptions As List(Of HeroSectionStyle)

            <Ignore>
            Public Overridable Property CompanyId As Nullable(Of Guid)

            Public Overridable Property WelcomePageHeading As String
            Public Overridable Property WelcomePageBody As String
            Public Overridable Property AboutUsPageHeading As String
            Public Overridable Property AboutUsPageBody As String
            <Required>
            Public Overridable Property HomePageTemplateId As Integer

            Public Overridable Property ImageUrl As String
            <Required>
            Public Overridable Property Updated As Date

            <Required>
            Public Overridable Property Created As Date

            Public Overridable Property HomepageHeading As String
            <Required>
            Public Overridable Property HeroSectionStyleId As Integer

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property ShowRating As Boolean

            <Required>
            Public Overridable Property EnableHomepage As Boolean

            <Required>
            Public Overridable Property Id As Guid
        End Class

        Public Partial Class HomepageTemplate
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            Public Overridable Property ImageUrl As Uri
            <Required>
            Public Overridable Property Premium As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class HomepageWidgetSetting
            Inherits BaseModel
            Public Sub New()
                WidgetServiceLayoutOptions = New List(Of WidgetServiceLayouts)
                WidgetTimeLayoutOptions = New List(Of WidgetTimeLayouts)
                WidgetBookingLayoutOptions = New List(Of WidgetBookingLayouts)
                WidgetBookingMethodOptions = New List(Of WidgetBookingMethods)
            End Sub

            <Ignore>
            Public Overridable Property WidgetServiceLayoutOptions As List(Of WidgetServiceLayouts)

            <Ignore>
            Public Overridable Property WidgetTimeLayoutOptions As List(Of WidgetTimeLayouts)

            <Ignore>
            Public Overridable Property WidgetBookingLayoutOptions As List(Of WidgetBookingLayouts)

            <Ignore>
            Public Overridable Property WidgetBookingMethodOptions As List(Of WidgetBookingMethods)

            <Required>
            Public Overridable Property ServiceLayoutId As Integer

            <Required>
            Public Overridable Property TimeLayoutId As Integer

            <Required>
            Public Overridable Property BookingLayoutId As Integer

            <Required>
            Public Overridable Property PrimaryColor As String

            <Required>
            Public Overridable Property ShowServiceImage As Boolean

            <Required>
            Public Overridable Property ShowNextAvailableTime As Boolean

            <Required>
            Public Overridable Property ShowEndTime As Boolean

            Public Overridable Property BookedTimeSlotText As String
            <Required>
            Public Overridable Property DarkTheme As Boolean

            <Required>
            Public Overridable Property ShowRebateCodeField As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property EnableCreateAccount As Boolean

            <Required>
            Public Overridable Property EnableLogin As Boolean

            <Required>
            Public Overridable Property EnableDirectBooking As Boolean

            <Required>
            Public Overridable Property EnableFacebookLogin As Boolean

            <Required>
            Public Overridable Property ShowSubscribeToNewsletter As Boolean

            <Required>
            Public Overridable Property Id As Guid
        End Class

        Public Partial Class License
            Inherits BaseModel
            Public Overridable Property Type As LicenseType
            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property TypeId As Integer

            <Required>
            Public Overridable Property ValidFrom As Date

            <Required>
            Public Overridable Property ValidTo As Date

            <Required>
            Public Overridable Property Active As Boolean

            <Required>
            Public Overridable Property Updated As Date

            <Required>
            Public Overridable Property Created As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property MetaData As String
        End Class

        Public Partial Class LicensePrice
            Inherits BaseModel
            <Ignore>
            Public Overridable Property Country As Country

            <Ignore>
            Public Overridable Property MonthlyPayment As Boolean

            <Required>
            Public Overridable Property LicenseTypeId As Integer

            <Required>
            Public Overridable Property CountryId As String

            <Required>
            Public Overridable Property Price As Integer

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class LicenseType
            Inherits BaseModel
            <Ignore>
            Public Overridable Property LicenseItems As IList(Of LicenseTypeItem)

            <Ignore>
            Public Overridable Property Prices As IList(Of LicensePrice)

            <Ignore>
            Public Overridable Property PeriodOfNoticeDays As Integer

            <Ignore>
            Public Overridable Property NextLicenseOption As LicenseType

            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property ExtraLicenseOption As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Active As Boolean
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class LicenseTypeItem
            Inherits BaseModel
            <Ignore>
            Public Overridable Property Name As String

            <Ignore>
            Public Overridable Property LicenseType As LicenseType

            <Required>
            Public Overridable Property LicenseTypesId As Integer

            <Required>
            Public Overridable Property LicenseItemsId As Integer

            <Required>
            Public Overridable Property NumberOfItems As Integer

            Public Overridable Property Id As Integer
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class PayableEntity
            Inherits BaseModel
            Public Sub New()
                PaymentLog = New List(Of PaymentLog)
                Customers = New List(Of Customer)
            End Sub

            <Ignore>
            Public Overridable Property DbFactory As IDbConnectionFactory

            <Ignore>
            Public Overridable Property QvicklyPaymentManager As IBokameraPaymentManager(Of InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse)

            <Ignore>
            Public Overridable Property Payson2PaymentManager As IBokameraPaymentManager(Of Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse)

            <Ignore>
            Public Overridable Property StripePaymentManager As IBokameraPaymentManager(Of SessionCreateOptions, CustomSessionData, CustomSessionData)

            <Ignore>
            Public Overridable Property PaysonPaymentCheckout1 As IPaysonPaymentCheckout1

            <Ignore>
            Public Overridable Property Logger As ILogger(Of PayableEntity)

            <Ignore>
            Public Overridable Property InternalReferenceId As String

            <Ignore>
            Public Overridable Property PaymentLog As List(Of PaymentLog)

            Public Overridable Property CompanyId As Guid
            Public Overridable Property PriceVat As Nullable(Of Decimal)
            <References(GetType(Currency))>
            Public Overridable Property CurrencyId As String

            <Ignore>
            Public Overridable Property Customer As Customer

            <Ignore>
            Public Overridable Property Customers As List(Of Customer)

            <Ignore>
            Public Overridable Property Company As Company
        End Class

        Public Partial Class PaymentDetails
            Inherits BaseModel
            Implements IBaseModelCreated
            Implements IBaseModelUpdated
            <Ignore>
            Public Overridable Property QvicklyCheckoutSerialized As QvicklyCheckoutResponse

            <Ignore>
            Public Overridable Property Payson2CheckoutSerialized As Payson2CheckoutResponse

            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property InternalReferenceId As String

            <Required>
            Public Overridable Property ArticleTypeId As Integer

            <Required>
            Public Overridable Property ExternalResponseData As String

            <Required>
            Public Overridable Property ExternalResponseReference As String

            <Required>
            Public Overridable Property PaymentProviderId As Integer

            <Required>
            Public Overridable Property CreatedDate As Date

            <Required>
            Public Overridable Property UpdatedDate As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class PaymentLog
            Inherits BaseModel
            <References(GetType(Currency))>
            Public Overridable Property CurrencyId As String

            Public Overridable Property CurrencyInfo As Currency
            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property InternalReferenceId As String

            <Required>
            Public Overridable Property ArticleTypeId As Integer

            Public Overridable Property PaymentReferenceId As String
            Public Overridable Property PaymentProviderId As Nullable(Of Integer)
            Public Overridable Property OrderItemReferenceId As String
            Public Overridable Property Amount As Nullable(Of Double)
            Public Overridable Property VAT As Nullable(Of Decimal)
            Public Overridable Property AmountCredited As Nullable(Of Double)
            Public Overridable Property Comments As String
            <Required>
            Public Overridable Property Created As Date

            <Required>
            Public Overridable Property Updated As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class PaymentProviders
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Category As String

            Public Overridable Property Url As String
            <Required>
            Public Overridable Property Active As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class PaymentSetting
            Inherits BaseModel
            Public Sub New()
                AdminPaymentOptions = New List(Of AdminPaymentOptions)
                PaymentProviderOptions = New List(Of PaymentProviders)
            End Sub

            Public Overridable Property AdminPaymentOption As AdminPaymentOptions
            <Ignore>
            Public Overridable Property AdminPaymentOptions As List(Of AdminPaymentOptions)

            <Ignore>
            Public Overridable Property PaymentProviderOptions As List(Of PaymentProviders)

            <Required>
            Public Overridable Property Enabled As Boolean

            <Required>
            Public Overridable Property InvoiceFee As Integer

            <Required>
            Public Overridable Property AllowCreditCardPayment As Boolean

            <Required>
            Public Overridable Property AllowInvoicePayment As Boolean

            <Required>
            Public Overridable Property AllowBankPayment As Boolean

            <Required>
            Public Overridable Property GuaranteeOffered As Boolean

            <Required>
            Public Overridable Property RefundOnCancelBooking As Boolean

            Public Overridable Property DefaultPaymentOptionId As Nullable(Of Integer)
            <Required>
            Public Overridable Property PaymentProviderId As Integer

            <Required>
            Public Overridable Property SendPaymentRequestDirectly As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Guid
        End Class

        Public Partial Class PriceMapping
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property Id As Guid

            <Required>
            Public Overridable Property PriceId As Integer

            Public Overridable Property ReferenceType As String
            Public Overridable Property ExternalReference As String
            <Required>
            Public Overridable Property UpdatedDate As Date

            <Required>
            Public Overridable Property CreatedDate As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class Rating
            Inherits BaseModel
            Public Overridable Property ReviewId As Nullable(Of Guid)
            Public Overridable Property Review As Review
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property BookingId As Integer

            <Required>
            Public Overridable Property RatingScore As Integer

            <Required>
            Public Overridable Property Status As Integer

            <Required>
            Public Overridable Property Created As Date

            <Required>
            Public Overridable Property Updated As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class RebateCode
            Inherits PayableEntity
            Public Sub New()
                Services = New List(Of Service)
                RebateCodeDayOfWeekRelation = New List(Of RebateCodeDayOfWeekRelation)
                RebateCodeServiceRelation = New List(Of RebateCodeServiceRelation)
                RebateCodeBookingPriceRelation = New List(Of RebateCodeBookingPriceRelation)
                RebateCodeCustomerRelation = New List(Of RebateCodeCustomerRelation)
                DaysOfWeek = New List(Of DaysOfWeek)
                Transactions = New List(Of RebateCodeTransaction)
            End Sub

            <References(GetType(RebateCodeType))>
            Public Overridable Property RebateCodeTypeId As Integer

            Public Overridable Property RebateCodeTypeInfo As RebateCodeType
            <References(GetType(RebateCodeStatus))>
            Public Overridable Property RebateCodeStatusId As Integer

            Public Overridable Property RebateCodeStatusInfo As RebateCodeStatus
            <Ignore>
            Public Overridable Property Article As Article

            <Ignore>
            Public Overridable Property Services As List(Of Service)

            Public Overridable Property RebateCodeDayOfWeekRelation As List(Of RebateCodeDayOfWeekRelation)
            Public Overridable Property RebateCodeServiceRelation As List(Of RebateCodeServiceRelation)
            Public Overridable Property RebateCodeBookingPriceRelation As List(Of RebateCodeBookingPriceRelation)
            Public Overridable Property RebateCodeCustomerRelation As List(Of RebateCodeCustomerRelation)
            <Ignore>
            Public Overridable Property ServicesNames As String

            <Ignore>
            Public Overridable Property DaysOfWeek As List(Of DaysOfWeek)

            <Ignore>
            Public Overridable Property RebateCodeStatus As RebateCodeStatus

            <Ignore>
            Public Overridable Property RebateCodeType As RebateCodeType

            <Ignore>
            Public Overridable Property Transactions As List(Of RebateCodeTransaction)

            <Ignore>
            Public Overridable Property RemainingAmount As Nullable(Of Double)

            <Ignore>
            Public Overridable Property RemainingUsage As Nullable(Of Integer)

            <Ignore>
            Public Overridable Property CurrentNumberOfUsesPerCustomer As Integer

            <Ignore>
            Public Overridable Property IsSpecificByDayOfWeek As Boolean

            <Ignore>
            Public Overridable Property Active As Boolean

            <Ignore>
            Public Overridable Property ActiveByStatus As Boolean

            <Ignore>
            Public Overridable Property RebateCodeCurrencySign As String

            Public Overridable Property CurrencyInfo As Currency
            <Ignore>
            Public Overridable Property PaymentReceived As Boolean

            <Ignore>
            Public Overridable Property InternalReferenceId As String

            <Required>
            Public Overridable Property ValidFrom As Date

            <Required>
            Public Overridable Property ValidTo As Date

            <Required>
            Public Overridable Property RebateCodeSign As String

            <Required>
            Public Overridable Property RebateCodeValue As Integer

            <Required>
            Public Overridable Property MaxNumberOfUses As Integer

            <Required>
            Public Overridable Property MaxNumberOfUsesPerCustomer As Integer

            <Required>
            Public Overridable Property NumberOfUsesUsed As Integer

            Public Overridable Property PersonalNote As String
            <Required>
            Public Overridable Property CreatedBy As String

            <Required>
            Public Overridable Property Created As Date

            <Required>
            Public Overridable Property UpdatedBy As String

            <Required>
            Public Overridable Property UpdatedDate As Date

            <Required>
            Public Overridable Property FromTime As TimeSpan

            <Required>
            Public Overridable Property ToTime As TimeSpan

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
            Public Overridable Property ArticleId As Nullable(Of Integer)
        End Class

        Public Partial Class RebateCodeBookingPriceRelation
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property PriceId As Integer

            <Required>
            Public Overridable Property RebateCodeId As Integer

            Public Overridable Property Id As Integer
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class RebateCodeCustomerRelation
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property CustomerId As Guid

            <Required>
            Public Overridable Property RebateCodeId As Integer

            Public Overridable Property Id As Integer
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property RebateCodeEmailSentToCustomer As Boolean
            Public Overridable Property MessageToReceiver As String
            Public Overridable Property Buyer As Boolean
        End Class

        Public Partial Class RebateCodeDayOfWeekRelation
            Inherits BaseModel
            <Ignore>
            Public Overridable Property DayOfWeek As BokaMeraDayOfWeek

            <Required>
            Public Overridable Property DayOfWeekId As Integer

            <Required>
            Public Overridable Property RebateCodeId As Integer

            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class RebateCodeServiceRelation
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property ServiceId As Integer

            <Required>
            Public Overridable Property RebateCodeId As Integer

            Public Overridable Property Id As Integer
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class RebateCodeStatus
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            Public Overridable Property Description As String
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class RebateCodeTransaction
            Inherits BaseModel
            Implements IBaseModelCreated
            Implements IBaseModelUpdated
            <Ignore>
            Public Overridable Property Booking As Booking

            <Ignore>
            Public Overridable Property RebateCode As RebateCode

            <Ignore>
            Public Overridable Property Customer As Customer

            Public Overridable Property Id As Integer
            Public Overridable Property CompanyId As Guid
            Public Overridable Property Note As String
            <Required>
            Public Overridable Property RebateCodeId As Integer

            <Required>
            Public Overridable Property Amount As Double

            <Required>
            Public Overridable Property Usage As Integer

            Public Overridable Property BookingId As Nullable(Of Integer)
            <Required>
            Public Overridable Property UpdatedDate As Date

            <Required>
            Public Overridable Property CreatedDate As Date
        End Class

        Public Partial Class RebateCodeType
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            Public Overridable Property Description As String
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class RegEx
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property RegExCode As String

            Public Overridable Property ErrorMessage As String
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class Resource
            Inherits BaseModel
            Implements ICustomFieldTable
            Implements IBaseModelCreated
            Implements IBaseModelUpdated
            <Ignore>
            Public Overridable Property Priority As Integer

            <Ignore>
            Public Overridable Property Schedules As IList(Of ISchedule)

            <Ignore>
            Public Overridable Property Exceptions As IList(Of ITimeException)

            <Ignore>
            Public Overridable Property Bookings As IList(Of IBookedTime)

            <Ignore>
            Public Overridable Property CustomFieldsConfig As IList(Of CustomFieldConfig)

            <Ignore>
            Public Overridable Property CustomFieldsData As IList(Of CustomFieldDataResponse)

            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Active As Boolean

            Public Overridable Property Description As String
            Public Overridable Property ImageUrl As String
            <Required>
            Public Overridable Property UpdatedDate As Date

            <Required>
            Public Overridable Property CreatedDate As Date

            <Required>
            Public Overridable Property Color As String

            Public Overridable Property Email As String
            Public Overridable Property MobilePhone As String
            Public Overridable Property EmailNotification As Nullable(Of Boolean)
            Public Overridable Property SMSNotification As Nullable(Of Boolean)
            <Required>
            Public Overridable Property SendSMSReminder As Boolean

            <Required>
            Public Overridable Property SendEmailReminder As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property AccessGroup As String
            Public Overridable Property TextField1 As String
            Public Overridable Property TextField2 As String
            Public Overridable Property TextField3 As String
            Public Overridable Property TextField4 As String
            Public Overridable Property TextField5 As String
            Public Overridable Property TextField6 As String
            Public Overridable Property TextField7 As String
            Public Overridable Property TextField8 As String
            Public Overridable Property TextField9 As String
            Public Overridable Property TextField10 As String
            Public Overridable Property TextField11 As String
            Public Overridable Property TextField12 As String
            Public Overridable Property TextField13 As String
            Public Overridable Property TextField14 As String
            Public Overridable Property TextField15 As String
            Public Overridable Property TextField16 As String
            Public Overridable Property TextField17 As String
            Public Overridable Property TextField18 As String
            Public Overridable Property TextField19 As String
            Public Overridable Property TextField20 As String
        End Class

        Public Partial Class ResourceType
            Inherits BaseModel
            Implements IBaseModelCreated
            Implements IBaseModelUpdated
            Public Sub New()
                Resources = New List(Of Resource)
            End Sub

            <Ignore>
            Public Overridable Property SelectableByUser As Boolean

            <Ignore>
            Public Overridable Property Resources As List(Of Resource)

            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property Name As String

            Public Overridable Property Description As String
            <Required>
            Public Overridable Property Active As Boolean

            <Required>
            Public Overridable Property UpdatedDate As Date

            <Required>
            Public Overridable Property CreatedDate As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
        End Class

        Public Partial Class Review
            Inherits BaseModel
            Public Overridable Property ReviewId As Guid
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property Title As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Author As String

            <Required>
            Public Overridable Property Status As Integer

            <Required>
            Public Overridable Property Created As Date

            <Required>
            Public Overridable Property Updated As Date

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property ReviewAnswer As String
        End Class

        Public Partial Class ScheduleView
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class Service
            Inherits BaseModel
            Implements ICustomFieldTable
            Implements IBaseModelCreated
            Implements IBaseModelUpdated
            Public Sub New()
                ResourceTypes = New List(Of ResourceType)
                Prices = New List(Of ServicePrice)
                BookingStatusOptions = New List(Of BookingStatusOptions)
                Ratings = New List(Of Rating)
            End Sub

            <Ignore>
            Public Overridable Property ResourceTypes As List(Of ResourceType)

            <Ignore>
            Public Overridable Property Resources As IEnumerable(Of Resource)

            <Ignore>
            Public Overridable Property TotalPrice As TotalPriceInformation

            <Ignore>
            Public Overridable Property Prices As List(Of ServicePrice)

            <Ignore>
            Public Overridable Property BookingStatusOptions As List(Of BookingStatusOptions)

            <Ignore>
            Public Overridable Property IsGroupBooking As Boolean

            <Ignore>
            Public Overridable Property IsMultipleResource As Boolean

            <Ignore>
            Public Overridable Property Settings As BookingSettings

            <Ignore>
            Public Overridable Property PaymentSetting As PaymentSetting

            <Ignore>
            Public Overridable Property BookingCustomFieldsConfig As IList(Of CustomFieldConfig)

            <Ignore>
            Public Overridable Property CustomerCustomFieldsConfig As IList(Of CustomFieldConfig)

            <Ignore>
            Public Overridable Property CustomFieldsConfig As IList(Of CustomFieldConfig)

            <Ignore>
            Public Overridable Property CustomFieldsData As IList(Of CustomFieldDataResponse)

            <Ignore>
            Public Overridable Property Schedules As IList(Of ISchedule)

            <Ignore>
            Public Overridable Property CustomerActiveBookings As IList(Of Booking)

            <Ignore>
            Public Overridable Property ScheduleType As ScheduleType

            <Ignore>
            Public Overridable Property LastTimeToUnbookThreshold As TimeSpan

            <Ignore>
            Public Overridable Property LastTimeToBookThreshold As TimeSpan

            <Ignore>
            Public Overridable Property RatingScore As AverageRatingScore

            <Ignore>
            Public Overridable Property Ratings As List(Of Rating)

            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            Public Overridable Property Group As String
            <Required>
            Public Overridable Property Active As Boolean

            <Required>
            Public Overridable Property SortOrder As Integer

            <Required>
            Public Overridable Property PauseAfterBooking As Integer

            <Required>
            Public Overridable Property UnbookBeforeDays As Integer

            <Required>
            Public Overridable Property UnbookBeforeHours As Integer

            <Required>
            Public Overridable Property UnbookBeforeMinutes As Integer

            <Required>
            Public Overridable Property BookBeforeDays As Integer

            <Required>
            Public Overridable Property BookBeforeHours As Integer

            <Required>
            Public Overridable Property BookBeforeMinutes As Integer

            Public Overridable Property Duration As Nullable(Of Integer)
            Public Overridable Property DurationTypeId As Integer
            Public Overridable Property MinDuration As Nullable(Of Integer)
            Public Overridable Property MaxDuration As Nullable(Of Integer)
            Public Overridable Property DurationInterval As Nullable(Of Integer)
            Public Overridable Property TotalSpots As Nullable(Of Integer)
            Public Overridable Property ImageUrl As String
            <Required>
            Public Overridable Property ScheduleTypeId As Integer

            <Required>
            Public Overridable Property UpdatedDate As Date

            <Required>
            Public Overridable Property CreatedDate As Date

            <Required>
            Public Overridable Property OnlyVisibleByAdmin As Boolean

            <Required>
            Public Overridable Property MinNumberOfSpotsPerBooking As Integer

            <Required>
            Public Overridable Property MaxNumberOfSpotsPerBooking As Integer

            <Required>
            Public Overridable Property MinNumberOfResourcesToBook As Integer

            <Required>
            Public Overridable Property MaxNumberOfResourcesToBook As Integer

            <Required>
            Public Overridable Property IsPaymentEnabled As Boolean

            <Required>
            Public Overridable Property MaxPaymentTime As Integer

            <Required>
            Public Overridable Property LockSpotsToBooking As Boolean

            <Required>
            Public Overridable Property EnableBookingQueue As Boolean

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property BookingStatusId As Integer

            <Required>
            Public Overridable Property EnableCodeLockSync As Boolean

            <Required>
            Public Overridable Property EnableCustomerManualPayment As Boolean

            Public Overridable Property PriceViewTypeId As Nullable(Of Integer)
            Public Overridable Property TextField1 As String
            Public Overridable Property TextField2 As String
            Public Overridable Property TextField3 As String
            Public Overridable Property TextField4 As String
            Public Overridable Property TextField5 As String
            Public Overridable Property TextField6 As String
            Public Overridable Property TextField7 As String
            Public Overridable Property TextField8 As String
            Public Overridable Property TextField9 As String
            Public Overridable Property TextField10 As String
            Public Overridable Property TextField11 As String
            Public Overridable Property TextField12 As String
            Public Overridable Property TextField13 As String
            Public Overridable Property TextField14 As String
            Public Overridable Property TextField15 As String
            Public Overridable Property TextField16 As String
            Public Overridable Property TextField17 As String
            Public Overridable Property TextField18 As String
            Public Overridable Property TextField19 As String
            Public Overridable Property TextField20 As String

            Public Partial Class TotalPriceInformation
                Public Sub New()
                    AppliedCodes = New List(Of AppliedRebateCodes)
                End Sub

                Public Overridable Property TotalPrice As Double
                Public Overridable Property TotalVATAmount As Double
                Public Overridable Property TotalRebate As Double
                Public Overridable Property TotalPriceBeforeRebate As Double
                Public Overridable Property AppliedCodes As List(Of AppliedRebateCodes)
                Public Overridable Property PriceSign As String
                Public Overridable Property CurrencyId As String
                Public Overridable Property VAT As Decimal
            End Class

            Public Partial Class AppliedRebateCodes
                Public Overridable Property RebateCodeId As Integer
                Public Overridable Property RebateCodeSign As String
                Public Overridable Property RebateCodeValue As Integer
                Public Overridable Property RebateAmount As Double
                Public Overridable Property RebateCodeType As RebateCodeType
            End Class
        End Class

        Public Partial Class ServicePrice
            Inherits BaseModel
            Implements IInterval
            Public Sub New()
                PriceMappings = New List(Of PriceMapping)
                DayOfWeeks = New List(Of ServicePriceDayOfWeekRelation)
                RebateCodesApplied = New List(Of RebateCode)
                OverlappingPrices = New List(Of ServicePrice)
            End Sub

            <References(GetType(Currency))>
            Public Overridable Property CurrencyId As String

            Public Overridable Property CurrencyInfo As Currency
            <Ignore>
            Public Overridable Property Service As Service

            <Ignore>
            Public Overridable Property PriceMappings As List(Of PriceMapping)

            <Ignore>
            Public Overridable Property isTimeSpecific As Boolean

            <Ignore>
            Public Overridable Property isDaysOfWeekSpecific As Boolean

            Public Overridable Property DayOfWeeks As List(Of ServicePriceDayOfWeekRelation)
            <Ignore>
            Public Overridable Property PriceBeforeRebate As Nullable(Of Double)

            <Ignore>
            Public Overridable Property RebateCodesApplied As List(Of RebateCode)

            <Ignore>
            Public Overridable Property PriceText As String

            <Ignore>
            Public Overridable Property OverlappingPrices As List(Of ServicePrice)

            <Required>
            Public Overridable Property CompanyId As Guid

            Public Overridable Property Id As Integer
            <Required>
            Public Overridable Property ServiceId As Integer

            Public Overridable Property Price As Nullable(Of Double)
            <Required>
            Public Overridable Property Updated As Date

            <Required>
            Public Overridable Property Created As Date

            <Required>
            Public Overridable Property FromTime As TimeSpan

            <Required>
            Public Overridable Property ToTime As TimeSpan

            <Required>
            Public Overridable Property VAT As Decimal

            Public Overridable Property Category As String
            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property From As Date

            <Required>
            Public Overridable Property To As Date

            <Required>
            Public Overridable Property CalculationTypeId As Integer
        End Class

        Public Partial Class ServicePriceDayOfWeekRelation
            Inherits BaseModel
            <Ignore>
            Public Overridable Property DayOfWeek As BokaMeraDayOfWeek

            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property ServicePriceId As Integer

            <Required>
            Public Overridable Property DayOfWeekId As Integer

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class UserAccessKeys
            Inherits BaseModel
            <Required>
            Public Overridable Property CompanyId As Guid

            <Required>
            Public Overridable Property AccessKeyTypeId As Integer

            <Required>
            Public Overridable Property Value As String

            <Required>
            Public Overridable Property CustomerId As Guid

            Public Overridable Property Description As String
            <Required>
            Public Overridable Property Id As Guid
        End Class

        Public Partial Class WeekNumberSetting
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class WidgetBookingLayouts
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Code As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class WidgetBookingMethods
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Code As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class WidgetServiceLayouts
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Code As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class WidgetTimeLayouts
            Inherits BaseModel
            <Required>
            Public Overridable Property Name As String

            <Required>
            Public Overridable Property Description As String

            <Required>
            Public Overridable Property Code As String

            Public Overridable Property ModifiedDate As Nullable(Of DateTimeOffset)
            <Required>
            Public Overridable Property Id As Integer
        End Class
    End Namespace

    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 AddResourceTypeService
            Implements ICompany
            '''<Summary>
            '''The company id, if empty will use the company id for the user you are logged in with.
            '''</Summary>
            <ApiMember(Description:="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)

            '''<Summary>
            '''The resourcetype id
            '''</Summary>
            <ApiMember(Description:="The resourcetype id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''If the resources within the resourcetype should be selectable by customer when creating a booking
            '''</Summary>
            <ApiMember(Description:="If the resources within the resourcetype should be selectable by customer when creating a booking")>
            Public Overridable Property SelectableByUser As Boolean
        End Class

        Public Partial Class AddSchedulesToService
            Public Sub New()
                RecurringSchedules = New List(Of ServiceSchedule)
                DateSchedules = New List(Of ServiceSchedule)
            End Sub

            '''<Summary>
            '''The schedule id
            '''</Summary>
            <ApiMember(Description:="The schedule id")>
            Public Overridable Property RecurringSchedules As List(Of ServiceSchedule)

            Public Overridable Property DateSchedules As List(Of ServiceSchedule)
        End Class

        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 BookedResource
            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property Color As String
            Public Overridable Property ImageUrl As Uri
            Public Overridable Property Email As String
            Public Overridable Property MobilePhone As String
            Public Overridable Property AccessGroup As String
            Public Overridable Property EmailNotification As Boolean
            Public Overridable Property SMSNotification As Boolean
            Public Overridable Property EmailReminder As Boolean
            Public Overridable Property SMSReminder As Boolean
        End Class

        Public Partial Class BookedResourceType
            Public Sub New()
                Resources = New List(Of BookedResource)
            End Sub

            '''<Summary>
            '''The resource type id
            '''</Summary>
            <ApiMember(Description:="The resource type id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''The resource type name
            '''</Summary>
            <ApiMember(Description:="The resource type name")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The resources inside resource type
            '''</Summary>
            <ApiMember(Description:="The resources inside resource type")>
            Public Overridable Property Resources As List(Of BookedResource)
        End Class

        Public Partial Class BookingStatusOptionsResponse
            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property Description As String
        End Class

        Public Partial Class CompanyRatingSummary
            '''<Summary>
            '''The average rating score
            '''</Summary>
            <ApiMember(Description:="The average rating score")>
            Public Overridable Property AverageScore As Double

            '''<Summary>
            '''The number of ratings of score 1
            '''</Summary>
            <ApiMember(Description:="The number of ratings of score 1")>
            Public Overridable Property RatingScore1Count As Integer

            '''<Summary>
            '''The number of ratings of score 2
            '''</Summary>
            <ApiMember(Description:="The number of ratings of score 2")>
            Public Overridable Property RatingScore2Count As Integer

            '''<Summary>
            '''The number of ratings of score 3
            '''</Summary>
            <ApiMember(Description:="The number of ratings of score 3")>
            Public Overridable Property RatingScore3Count As Integer

            '''<Summary>
            '''The number of ratings of score 4
            '''</Summary>
            <ApiMember(Description:="The number of ratings of score 4")>
            Public Overridable Property RaingScore4Count As Integer

            '''<Summary>
            '''The number of ratings of score 5
            '''</Summary>
            <ApiMember(Description:="The number of ratings of score 5")>
            Public Overridable Property RatingScore5Count As Integer

            '''<Summary>
            '''The number of ratings
            '''</Summary>
            <ApiMember(Description:="The number of ratings")>
            Public Overridable Property Count As Integer
        End Class

        Public Partial Class CustomFieldConfigData
            Public Sub New()
                Values = New List(Of CustomFieldValueResponse)
            End Sub

            '''<Summary>
            '''Custom field id
            '''</Summary>
            <ApiMember(Description:="Custom field id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''Configuration name. Example: 'Number of persons'.
            '''</Summary>
            <ApiMember(Description:="Configuration name. Example: 'Number of persons'.")>
            Public Overridable Property Name As String

            '''<Summary>
            '''Custom field description. Example: 'For how many persons is this booking?'
            '''</Summary>
            <ApiMember(Description:="Custom field description. Example: 'For how many persons is this booking?'")>
            Public Overridable Property Description As String

            '''<Summary>
            '''Field width. Example: 20 for 20px
            '''</Summary>
            <ApiMember(Description:="Field width. Example: 20 for 20px")>
            Public Overridable Property Width As Nullable(Of Integer)

            '''<Summary>
            '''Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
            '''</Summary>
            <ApiMember(Description:="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")>
            Public Overridable Property DataType As String

            '''<Summary>
            '''Default value of the field. Example: '3'
            '''</Summary>
            <ApiMember(Description:="Default value of the field. Example: '3'")>
            Public Overridable Property DefaultValue As String

            '''<Summary>
            '''Determines if the field is required to have a value or not
            '''</Summary>
            <ApiMember(Description:="Determines if the field is required to have a value or not")>
            Public Overridable Property IsMandatory As Boolean

            '''<Summary>
            '''Error message shown to the user if the field data is required but not entered
            '''</Summary>
            <ApiMember(Description:="Error message shown to the user if the field data is required but not entered")>
            Public Overridable Property MandatoryErrorMessage As String

            '''<Summary>
            '''Max lenght of the field
            '''</Summary>
            <ApiMember(Description:="Max lenght of the field")>
            Public Overridable Property MaxLength As Integer

            '''<Summary>
            '''If the field should have multiple lines
            '''</Summary>
            <ApiMember(Description:="If the field should have multiple lines")>
            Public Overridable Property MultipleLineText As Boolean

            '''<Summary>
            '''Regular expression used for validation of the field
            '''</Summary>
            <ApiMember(Description:="Regular expression used for validation of the field")>
            Public Overridable Property RegEx As String

            '''<Summary>
            '''Error message shown if the regular expression validation failed
            '''</Summary>
            <ApiMember(Description:="Error message shown if the regular expression validation failed")>
            Public Overridable Property RegExErrorMessage As String

            '''<Summary>
            '''The values to select from if Datatype is DropDown for this custom field
            '''</Summary>
            <ApiMember(Description:="The values to select from if Datatype is DropDown for this custom field")>
            Public Overridable Property Values As List(Of CustomFieldValueResponse)
        End Class

        Public Partial Class CustomFieldDataResponse
            Public Overridable Property Id As Integer
            Public Overridable Property Column As String
            Public Overridable Property Name As String
            Public Overridable Property Description As String
            Public Overridable Property Value As String
            '''<Summary>
            '''Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
            '''</Summary>
            <ApiMember(Description:="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")>
            Public Overridable Property DataType As String
        End Class

        Public Partial Class CustomFieldValueResponse
            Public Overridable Property Value As String
        End Class

        Public Partial Class DayOfWeekDto
            Public Overridable Property DayOfWeekId As Integer
            Public Overridable Property DotNetDayOfWeekId As Integer
            Public Overridable Property DayOfWeek As String
        End Class

        Public Partial Class GroupBookingSettings
            Public Overridable Property Active As Boolean
            Public Overridable Property Min As Integer
            Public Overridable Property Max As Integer
        End Class

        Public Partial Class LanguageResponse
            Public Overridable Property Id As String
            Public Overridable Property Name As String
        End Class

        Public Partial Class MultipleResourceSettings
            Public Overridable Property Active As Boolean
            Public Overridable Property Min As Integer
            Public Overridable Property Max As Integer
        End Class

        Public Partial Class RatingReviewResponse
            '''<Summary>
            '''The title for the review
            '''</Summary>
            <ApiMember(Description:="The title for the review")>
            Public Overridable Property Title As String

            '''<Summary>
            '''The description for the review
            '''</Summary>
            <ApiMember(Description:="The description for the review")>
            Public Overridable Property Description As String

            '''<Summary>
            '''The rating score
            '''</Summary>
            <ApiMember(Description:="The rating score")>
            Public Overridable Property RatingScore As Integer

            '''<Summary>
            '''The review author
            '''</Summary>
            <ApiMember(Description:="The review author")>
            Public Overridable Property Author As String

            '''<Summary>
            '''The created date
            '''</Summary>
            <ApiMember(Description:="The created date")>
            Public Overridable Property Created As Date

            '''<Summary>
            '''The review answer from the company
            '''</Summary>
            <ApiMember(Description:="The review answer from the company")>
            Public Overridable Property ReviewAnswer As String
        End Class

        Public Partial Class ServiceInfoResponse
            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property Description As String
            Public Overridable Property ImageUrl As Uri
            Public Overridable Property LengthInMinutes As Nullable(Of Integer)
            Public Overridable Property MaxNumberOfSpotsPerBooking As Integer
            Public Overridable Property MinNumberOfSpotsPerBooking As Integer
            Public Overridable Property GroupBooking As GroupBookingSettings
            Public Overridable Property MultipleResource As MultipleResourceSettings
            Public Overridable Property IsGroupBooking As Boolean
            Public Overridable Property IsPaymentEnabled As Boolean
        End Class

        Public Partial Class ServicePriceResponse
            Public Sub New()
                DaysOfWeek = New List(Of DayOfWeekDto)
            End Sub

            '''<Summary>
            '''The company id
            '''</Summary>
            <ApiMember(Description:="The company id")>
            Public Overridable Property CompanyId As Guid

            '''<Summary>
            '''The price id
            '''</Summary>
            <ApiMember(Description:="The price id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''The service id
            '''</Summary>
            <ApiMember(Description:="The service id")>
            Public Overridable Property ServiceId As Integer

            '''<Summary>
            '''The price
            '''</Summary>
            <ApiMember(Description:="The price")>
            Public Overridable Property Price As Double

            '''<Summary>
            '''The price calculation type id, 1 = Normal, price is for the service total duration, 2 = Price is per minute, 3 = Price is per hour, 4= Price is per day
            '''</Summary>
            <ApiMember(Description:="The price calculation type id, 1 = Normal, price is for the service total duration, 2 = Price is per minute, 3 = Price is per hour, 4= Price is per day")>
            Public Overridable Property CalculationTypeId As Integer

            '''<Summary>
            '''The price currency
            '''</Summary>
            <ApiMember(Description:="The price currency")>
            Public Overridable Property CurrencyId As String

            '''<Summary>
            '''The price sign
            '''</Summary>
            <ApiMember(Description:="The price sign")>
            Public Overridable Property PriceSign As String

            '''<Summary>
            '''The price VAT in percent
            '''</Summary>
            <ApiMember(Description:="The price VAT in percent")>
            Public Overridable Property VAT As Decimal

            '''<Summary>
            '''The price category if price has a category
            '''</Summary>
            <ApiMember(Description:="The price category if price has a category")>
            Public Overridable Property Category As String

            '''<Summary>
            '''The price text to display
            '''</Summary>
            <ApiMember(Description:="The price text to display")>
            Public Overridable Property PriceText As String

            '''<Summary>
            '''The valid from date for the price.
            '''</Summary>
            <ApiMember(Description:="The valid from date for the price.")>
            Public Overridable Property From As Date

            '''<Summary>
            '''The valid to date for the price.
            '''</Summary>
            <ApiMember(Description:="The valid to date for the price.")>
            Public Overridable Property To As Date

            '''<Summary>
            '''If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.
            '''</Summary>
            <ApiMember(Description:="If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.")>
            Public Overridable Property DaysOfWeek As List(Of DayOfWeekDto)

            '''<Summary>
            '''If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.
            '''</Summary>
            <ApiMember(Description:="If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.")>
            Public Overridable Property FromTime As Nullable(Of TimeSpan)

            '''<Summary>
            '''If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.
            '''</Summary>
            <ApiMember(Description:="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.")>
            Public Overridable Property ToTime As Nullable(Of TimeSpan)

            Public Overridable Property Service As ServiceInfoResponse
            '''<Summary>
            '''If the price is only valid for a specific time span
            '''</Summary>
            <ApiMember(Description:="If the price is only valid for a specific time span")>
            Public Overridable Property IsTimeSpecific As Boolean

            '''<Summary>
            '''If the price is only valid for specific days of week
            '''</Summary>
            <ApiMember(Description:="If the price is only valid for specific days of week")>
            Public Overridable Property IsDaysOfWeekSpecific As Boolean
        End Class

        Public Partial Class ServiceQueryResponse
            Public Sub New()
                CustomFields = New List(Of CustomFieldConfigData)
                CustomFieldValues = New List(Of CustomFieldDataResponse)
                BookingCustomFields = New List(Of CustomFieldConfigData)
                CustomerCustomFields = New List(Of CustomFieldConfigData)
                BookingStatusOptions = New List(Of BookingStatusOptionsResponse)
                Prices = New List(Of ServicePriceResponse)
                Reviews = New List(Of RatingReviewResponse)
                ResourceTypes = New List(Of ServiceResourceTypeResponse)
            End Sub

            Public Overridable Property Id As Integer
            Public Overridable Property Name As String
            Public Overridable Property Description As String
            Public Overridable Property ImageUrl As Uri
            Public Overridable Property TotalSpots As Integer
            '''<Summary>
            '''If this setting is turned on the remaining spots (if Totalspots > 1) is locked from be booked by another customer.
            '''</Summary>
            <ApiMember(Description:="If this setting is turned on the remaining spots (if Totalspots > 1) is locked from be booked by another customer.")>
            Public Overridable Property LockSpotsToBooking As Nullable(Of Boolean)

            Public Overridable Property MinNumberOfSpotsPerBooking As Integer
            Public Overridable Property MaxNumberOfSpotsPerBooking As Integer
            Public Overridable Property MinNumberOfResourcesToBook As Integer
            Public Overridable Property MaxNumberOfResourcesToBook As Integer
            Public Overridable Property UnbookBeforeDays As Integer
            Public Overridable Property UnbookBeforeHours As Integer
            Public Overridable Property UnbookBeforeMinutes As Integer
            '''<Summary>
            '''What type of schedule is connected to the service.  RecurringSchedule = 1, DateSchedule = 2
            '''</Summary>
            <ApiMember(Description:="What type of schedule is connected to the service.  RecurringSchedule = 1, DateSchedule = 2")>
            Public Overridable Property ScheduleType As ScheduleType

            '''<Summary>
            '''What type of schedule is connected to the service.  RecurringSchedule = 1, DateSchedule = 2
            '''</Summary>
            <ApiMember(Description:="What type of schedule is connected to the service.  RecurringSchedule = 1, DateSchedule = 2")>
            Public Overridable Property ScheduleTypeId As Integer

            Public Overridable Property BookBeforeDays As Integer
            Public Overridable Property BookBeforeHours As Integer
            Public Overridable Property BookBeforeMinutes As Integer
            Public Overridable Property Group As String
            Public Overridable Property EnableBookingQueue As Boolean
            Public Overridable Property EnableCodeLockSync As Boolean
            Public Overridable Property EnableCustomerManualPayment As Boolean
            Public Overridable Property SortOrder As Integer
            Public Overridable Property Active As Boolean
            Public Overridable Property IsGroupBooking As Boolean
            Public Overridable Property GroupBooking As GroupBookingSettings
            Public Overridable Property MultipleResource As MultipleResourceSettings
            Public Overridable Property IsPaymentEnabled As Boolean
            '''<Summary>
            '''Maximum numbers of minutes the booking payment must be completed before automatically unbooked
            '''</Summary>
            <ApiMember(Description:="Maximum numbers of minutes the booking payment must be completed before automatically unbooked")>
            Public Overridable Property MaxPaymentTime As Integer

            '''<Summary>
            '''If the booking should be either 1 = Booked) or 3 = Reserved. Default is 1 = Booked.
            '''</Summary>
            <ApiMember(Description:="If the booking should be either 1 = Booked) or 3 = Reserved. Default is 1 = Booked.")>
            Public Overridable Property BookingStatusId As Integer

            Public Overridable Property OnlyVisibleByAdmin As Boolean
            Public Overridable Property LengthInMinutes As Nullable(Of Integer)
            Public Overridable Property DurationTypeId As Integer
            Public Overridable Property Duration As Nullable(Of Integer)
            Public Overridable Property MinDuration As Nullable(Of Integer)
            Public Overridable Property MaxDuration As Nullable(Of Integer)
            Public Overridable Property DurationInterval As Nullable(Of Integer)
            Public Overridable Property PauseAfterBooking As Integer
            Public Overridable Property CustomFields As List(Of CustomFieldConfigData)
            Public Overridable Property CustomFieldValues As List(Of CustomFieldDataResponse)
            Public Overridable Property BookingCustomFields As List(Of CustomFieldConfigData)
            Public Overridable Property CustomerCustomFields As List(Of CustomFieldConfigData)
            '''<Summary>
            '''The booking status options to choose from
            '''</Summary>
            <ApiMember(Description:="The booking status options to choose from")>
            Public Overridable Property BookingStatusOptions As List(Of BookingStatusOptionsResponse)

            Public Overridable Property Prices As List(Of ServicePriceResponse)
            Public Overridable Property Schedules As ServiceSchedules
            Public Overridable Property RatingSummary As CompanyRatingSummary
            Public Overridable Property Reviews As List(Of RatingReviewResponse)
            Public Overridable Property ResourceTypes As List(Of ServiceResourceTypeResponse)
            Public Overridable Property ResponseStatus As ResponseStatus
            Public Overridable Property PriceViewTypeId As Nullable(Of Integer)
        End Class

        Public Partial Class ServiceResourceTypeResource
            '''<Summary>
            '''The resource id
            '''</Summary>
            <ApiMember(Description:="The resource id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''The resource name
            '''</Summary>
            <ApiMember(Description:="The resource name")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The resource description
            '''</Summary>
            <ApiMember(Description:="The resource description")>
            Public Overridable Property Description As String

            '''<Summary>
            '''The resource email
            '''</Summary>
            <ApiMember(Description:="The resource email")>
            Public Overridable Property Email As String

            '''<Summary>
            '''The resource phone
            '''</Summary>
            <ApiMember(Description:="The resource phone")>
            Public Overridable Property Phone As String

            '''<Summary>
            '''The resource color
            '''</Summary>
            <ApiMember(Description:="The resource color")>
            Public Overridable Property Color As String

            '''<Summary>
            '''The resource image
            '''</Summary>
            <ApiMember(Description:="The resource image")>
            Public Overridable Property ImageUrl As Uri

            '''<Summary>
            '''The priority of the resource
            '''</Summary>
            <ApiMember(Description:="The priority of the resource")>
            Public Overridable Property Priority As Integer

            '''<Summary>
            '''If the resource want to receive email notifications
            '''</Summary>
            <ApiMember(Description:="If the resource want to receive email notifications")>
            Public Overridable Property EmailNotification As Boolean

            '''<Summary>
            '''If the resource want to receive sms notifications
            '''</Summary>
            <ApiMember(Description:="If the resource want to receive sms notifications")>
            Public Overridable Property SMSNotification As Boolean

            '''<Summary>
            '''If the resource want to receive email reminders
            '''</Summary>
            <ApiMember(Description:="If the resource want to receive email reminders")>
            Public Overridable Property EmailReminder As Boolean

            '''<Summary>
            '''If the resource want to receive sms reminders
            '''</Summary>
            <ApiMember(Description:="If the resource want to receive sms reminders")>
            Public Overridable Property SMSReminder As Boolean
        End Class

        Public Partial Class ServiceResourceTypeResponse
            Public Sub New()
                Resources = New List(Of ServiceResourceTypeResource)
            End Sub

            '''<Summary>
            '''The resourcetype id
            '''</Summary>
            <ApiMember(Description:="The resourcetype id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''The resourcetype is selectable by customer
            '''</Summary>
            <ApiMember(Description:="The resourcetype is selectable by customer")>
            Public Overridable Property SelectableByUser As Boolean

            '''<Summary>
            '''The resourcetype name
            '''</Summary>
            <ApiMember(Description:="The resourcetype name")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The resourcetype description
            '''</Summary>
            <ApiMember(Description:="The resourcetype description")>
            Public Overridable Property Description As String

            '''<Summary>
            '''The resources in the resourcetype. Only shows active resources if not admin.
            '''</Summary>
            <ApiMember(Description:="The resources in the resourcetype. Only shows active resources if not admin.")>
            Public Overridable Property Resources As List(Of ServiceResourceTypeResource)
        End Class

        Public Partial Class ServiceSchedule
            '''<Summary>
            '''The schedule id
            '''</Summary>
            <ApiMember(Description:="The schedule id")>
            Public Overridable Property Id As Integer
        End Class

        Public Partial Class ServiceSchedules
            Public Sub New()
                RecurringSchedules = New List(Of ISchedule)
                DateSchedules = New List(Of ISchedule)
            End Sub

            Public Overridable Property ScheduleType As ScheduleType
            Public Overridable Property RecurringSchedules As List(Of ISchedule)
            Public Overridable Property DateSchedules As List(Of ISchedule)
        End Class

        <ValidateRequest(Validator:="IsAuthenticated")>
        Public Partial Class UpdateService
            Implements ICompany
            Public Sub New()
                ResourceTypes = New List(Of AddResourceTypeService)
                CustomFields = New List(Of AddCustomField)
            End Sub

            '''<Summary>
            '''The company id, if empty will use the company id for the user you are logged in with.
            '''</Summary>
            <ApiMember(Description:="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)

            '''<Summary>
            '''Id of the service
            '''</Summary>
            <ApiMember(Description:="Id of the service", IsRequired:=true, ParameterType:="path")>
            Public Overridable Property Id As Nullable(Of Integer)

            '''<Summary>
            '''The service name
            '''</Summary>
            <ApiMember(Description:="The service name")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The service description
            '''</Summary>
            <ApiMember(Description:="The service description")>
            Public Overridable Property Description As String

            '''<Summary>
            '''The service group
            '''</Summary>
            <ApiMember(Description:="The service group")>
            Public Overridable Property Group As String

            '''<Summary>
            '''If service is active or not
            '''</Summary>
            <ApiMember(Description:="If service is active or not")>
            Public Overridable Property Active As Nullable(Of Boolean)

            '''<Summary>
            '''What type of duration should be used for the service.  Normal = 1, Flexible = 2. Flexible means user can select duration.
            '''</Summary>
            <ApiMember(Description:="What type of duration should be used for the service.  Normal = 1, Flexible = 2. Flexible means user can select duration.")>
            Public Overridable Property DurationTypeId As Nullable(Of Integer)

            '''<Summary>
            '''If the booking should be either 1 = Booked) or 3 = Reserved. Default is 1 = Booked.
            '''</Summary>
            <ApiMember(Description:="If the booking should be either 1 = Booked) or 3 = Reserved. Default is 1 = Booked.")>
            Public Overridable Property BookingStatusId As Nullable(Of Integer)

            '''<Summary>
            '''Pause after each booking on this service in minutes
            '''</Summary>
            <ApiMember(Description:="Pause after each booking on this service in minutes")>
            Public Overridable Property PauseAfterBooking As Nullable(Of Integer)

            '''<Summary>
            '''Last time to unbook service in days
            '''</Summary>
            <ApiMember(Description:="Last time to unbook service in days")>
            Public Overridable Property UnbookBeforeDays As Nullable(Of Integer)

            '''<Summary>
            '''Last time to unbook service in hours
            '''</Summary>
            <ApiMember(Description:="Last time to unbook service in hours")>
            Public Overridable Property UnbookBeforeHours As Nullable(Of Integer)

            '''<Summary>
            '''Last time to unbook service in minutes
            '''</Summary>
            <ApiMember(Description:="Last time to unbook service in minutes")>
            Public Overridable Property UnbookBeforeMinutes As Nullable(Of Integer)

            '''<Summary>
            '''Last time to book service in days
            '''</Summary>
            <ApiMember(Description:="Last time to book service in days")>
            Public Overridable Property BookBeforeDays As Nullable(Of Integer)

            '''<Summary>
            '''If you want to allow customers to add themself into a queue if fullybooked. Settings for this is handled in BookingSettings.
            '''</Summary>
            <ApiMember(Description:="If you want to allow customers to add themself into a queue if fullybooked. Settings for this is handled in BookingSettings.")>
            Public Overridable Property EnableBookingQueue As Nullable(Of Boolean)

            '''<Summary>
            '''If you want to enable sync to code lock for this service. Settings is handled in CodeLockSettings.
            '''</Summary>
            <ApiMember(Description:="If you want to enable sync to code lock for this service. Settings is handled in CodeLockSettings.")>
            Public Overridable Property EnableCodeLockSync As Nullable(Of Boolean)

            '''<Summary>
            '''If you want to allow customer pay manually at the spot etc.
            '''</Summary>
            <ApiMember(Description:="If you want to allow customer pay manually at the spot etc.", IsRequired:=true)>
            Public Overridable Property EnableCustomerManualPayment As Nullable(Of Boolean)

            '''<Summary>
            '''Last time to book service in hours
            '''</Summary>
            <ApiMember(Description:="Last time to book service in hours")>
            Public Overridable Property BookBeforeHours As Nullable(Of Integer)

            '''<Summary>
            '''Last time to book service in minutes
            '''</Summary>
            <ApiMember(Description:="Last time to book service in minutes")>
            Public Overridable Property BookBeforeMinutes As Nullable(Of Integer)

            '''<Summary>
            '''The duration of the service in minutes
            '''</Summary>
            <ApiMember(Description:="The duration of the service in minutes")>
            Public Overridable Property Duration As Nullable(Of Integer)

            '''<Summary>
            '''When using Duration Intervals then set the Min Duration a customer can book
            '''</Summary>
            <ApiMember(Description:="When using Duration Intervals then set the Min Duration a customer can book")>
            Public Overridable Property MinDuration As Nullable(Of Integer)

            '''<Summary>
            '''When using Duration Intervals then set the Max Duration a customer can book
            '''</Summary>
            <ApiMember(Description:="When using Duration Intervals then set the Max Duration a customer can book")>
            Public Overridable Property MaxDuration As Nullable(Of Integer)

            '''<Summary>
            '''The duration interval of the service when allowing customers to book in intervals
            '''</Summary>
            <ApiMember(Description:="The duration interval of the service when allowing customers to book in intervals")>
            Public Overridable Property DurationInterval As Nullable(Of Integer)

            '''<Summary>
            '''If the service must be payed with reservation cost
            '''</Summary>
            <ApiMember(Description:="If the service must be payed with reservation cost")>
            Public Overridable Property ShouldPayReservationCost As Nullable(Of Boolean)

            '''<Summary>
            '''Setting if the service must be payed with full cost
            '''</Summary>
            <ApiMember(Description:="Setting if the service must be payed with full cost")>
            Public Overridable Property ShouldPayFullCost As Nullable(Of Boolean)

            '''<Summary>
            '''The number of spots on the service
            '''</Summary>
            <ApiMember(Description:="The number of spots on the service")>
            Public Overridable Property TotalSpots As Nullable(Of Integer)

            '''<Summary>
            '''If this setting is turned on the remaining spots (if Totalspots > 1) is locked from be booked by another customer.
            '''</Summary>
            <ApiMember(Description:="If this setting is turned on the remaining spots (if Totalspots > 1) is locked from be booked by another customer.")>
            Public Overridable Property LockSpotsToBooking As Nullable(Of Boolean)

            '''<Summary>
            '''Price view type
            '''</Summary>
            <ApiMember(Description:="Price view type")>
            Public Overridable Property PriceViewTypeId As Nullable(Of Integer)

            '''<Summary>
            '''Group booking settings
            '''</Summary>
            <ApiMember(Description:="Group booking settings")>
            Public Overridable Property GroupBooking As GroupBookingSettings

            '''<Summary>
            '''Multiple resource booking settings
            '''</Summary>
            <ApiMember(Description:="Multiple resource booking settings")>
            Public Overridable Property MultipleResource As MultipleResourceSettings

            '''<Summary>
            '''SortOrder
            '''</Summary>
            <ApiMember(Description:="SortOrder")>
            Public Overridable Property SortOrder As Nullable(Of Integer)

            '''<Summary>
            '''If the service only is bookable by admins
            '''</Summary>
            <ApiMember(Description:="If the service only is bookable by admins")>
            Public Overridable Property OnlyVisibleByAdmin As Nullable(Of Boolean)

            '''<Summary>
            '''If payson payment should be enabled on the service
            '''</Summary>
            <ApiMember(Description:="If payson payment should be enabled on the service")>
            Public Overridable Property IsPaymentEnabled As Nullable(Of Boolean)

            '''<Summary>
            '''Maximum numbers of minutes the booking payment must be completed before automatically umbooked
            '''</Summary>
            <ApiMember(Description:="Maximum numbers of minutes the booking payment must be completed before automatically umbooked")>
            Public Overridable Property MaxPaymentTime As Nullable(Of Integer)

            '''<Summary>
            '''The service image
            '''</Summary>
            <ApiMember(Description:="The service image")>
            Public Overridable Property ImageUrl As Uri

            '''<Summary>
            '''The resourcetypes to be added
            '''</Summary>
            <ApiMember(Description:="The resourcetypes to be added")>
            Public Overridable Property ResourceTypes As List(Of AddResourceTypeService)

            '''<Summary>
            '''The schedules to be added
            '''</Summary>
            <ApiMember(Description:="The schedules to be added")>
            Public Overridable Property Schedules As AddSchedulesToService

            '''<Summary>
            '''If Custom Fields are added to the service, here you will send the id and the value for each custom field to be updated
            '''</Summary>
            <ApiMember(Description:="If Custom Fields are added to the service, here you will send the id and the value for each custom field to be updated")>
            Public Overridable Property CustomFields As List(Of AddCustomField)
        End Class
    End Namespace

    Namespace BokaMera.API.ServiceModel.Enums

        Public Enum ArticleTypeEnum
            ServiceArticle = 1
            StandAloneArticle = 2
            RebateCodePunchTicketArticle = 3
            RebateCodeGiftCardArticle = 4
            RebateCodeValueCardArticle = 5
        End Enum

        Public Enum BokaMeraDayOfWeek
            Monday = 1
            Tuesday = 2
            Wednesday = 3
            Thursday = 4
            Friday = 5
            Saturday = 6
            Sunday = 7
        End Enum

        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

        Public Enum CompanyStatus
            Registered = 1
            AwaitingApproval = 2
            Approved = 3
            Inactive = 4
            ClosedDown = 5
            NotApproved = 6
        End Enum

        Public Enum ScheduleType
            NotDefined
            RecurringSchedule
            DateSchedule
        End Enum
    End Namespace

    Namespace BokaMera.API.ServiceModel.Helpers.Payment

        Public Interface IBokameraPaymentManager(Of TCreatedCheckoutResponse, TCheckoutResponse, TPaymentResponse)
        End Interface
    End Namespace

    Namespace BokaMera.API.ServiceModel.Helpers.Payson1Payment

        Public Interface IPaysonPaymentCheckout1
        End Interface
    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 ISchedule
            Property Resources As IList(Of Resource)
            Property Type As ScheduleType
            Property Active As Boolean
            Property IsResourceSpecific As Boolean
        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()
        End Interface
    End Namespace

    Namespace Microsoft.Extensions.Logging

        Public Interface ILogger(Of TCategoryName)
            Implements ILogger
        End Interface
    End Namespace

    Namespace PaysonIntegrationCO2.Models

        Public Partial Class Customer
            Public Overridable Property City As String
            Public Overridable Property CountryCode As String
            Public Overridable Property IdentityNumber As String
            Public Overridable Property Email As String
            Public Overridable Property FirstName As String
            Public Overridable Property LastName As String
            Public Overridable Property Phone As String
            Public Overridable Property PostalCode As String
            Public Overridable Property Street As String
            Public Overridable Property Reference As String
            Public Overridable Property Type As CustomerType
        End Class

        Public Partial Class Gui
            Public Overridable Property ColorScheme As ColorScheme
            Public Overridable Property Locale As String
            Public Overridable Property RequestPhone As Boolean
            Public Overridable Property PhoneOptional As Boolean
        End Class

        Public Partial Class History
            Public Overridable Property Created As Nullable(Of Date)
            Public Overridable Property ReadyToPay As Nullable(Of Date)
            Public Overridable Property ReadyToShip As Nullable(Of Date)
            Public Overridable Property Shipped As Nullable(Of Date)
            Public Overridable Property PaidToAccount As Nullable(Of Date)
            Public Overridable Property Canceled As Nullable(Of Date)
            Public Overridable Property Expired As Nullable(Of Date)
            Public Overridable Property Denied As Nullable(Of Date)
        End Class

        Public Partial Class Item
            Public Overridable Property ItemId As Guid
            Public Overridable Property DiscountRate As Decimal
            Public Overridable Property Ean As String
            Public Overridable Property ImageUri As Uri
            Public Overridable Property Name As String
            Public Overridable Property Quantity As Decimal
            Public Overridable Property Reference As String
            Public Overridable Property TaxRate As Decimal
            Public Overridable Property TotalPriceExcludingTax As Decimal
            Public Overridable Property TotalPriceIncludingTax As Decimal
            Public Overridable Property TotalTaxAmount As Decimal
            Public Overridable Property CreditedAmount As Decimal
            Public Overridable Property Type As ItemType
            Public Overridable Property UnitPrice As Decimal
            Public Overridable Property Uri As Uri
        End Class

        Public Partial Class Merchant
            Public Overridable Property CheckoutUri As Uri
            Public Overridable Property ConfirmationUri As Uri
            Public Overridable Property NotificationUri As Uri
            Public Overridable Property ValidationUri As Uri
            Public Overridable Property TermsUri As Uri
            Public Overridable Property Reference As String
            Public Overridable Property PartnerId As String
        End Class

        Public Partial Class Order
            Public Overridable Property Currency As Currency
            Public Overridable Property TotalFeeExcludingTax As Decimal
            Public Overridable Property TotalFeeIncludingTax As Decimal
            Public Overridable Property TotalPriceExcludingTax As Decimal
            Public Overridable Property TotalPriceIncludingTax As Decimal
            Public Overridable Property TotalTaxAmount As Decimal
            Public Overridable Property TotalCreditedAmount As Decimal
            Public Overridable Property Items As IList(Of Item)
        End Class

        Public Partial Class Payson2CheckoutResponse
            Public Overridable Property Id As Guid
            Public Overridable Property ExpirationTime As Nullable(Of Date)
            Public Overridable Property Snippet As String
            Public Overridable Property Status As Payson2CheckoutStatus
            Public Overridable Property Customer As Customer
            Public Overridable Property Order As Order
            Public Overridable Property Merchant As Merchant
            Public Overridable Property Gui As Gui
            Public Overridable Property History As History
            Public Overridable Property PurchaseId As Nullable(Of Integer)
        End Class
    End Namespace

    Namespace PaysonIntegrationCO2.Models.Enums

        Public Enum ColorScheme
            White
            Blue
            Gray
            GrayTextLogos
            BlueTextLogos
            WhiteTextLogos
            WhiteNoFooter
            GrayNoFooter
            BlueNoFooter
        End Enum

        Public Enum Currency
            SEK = 1
            EUR = 2
        End Enum

        Public Enum CustomerType
            Person
            Business
        End Enum

        Public Enum ItemType
            Physical
            Service
            Fee
            Discount
        End Enum

        Public Enum Payson2CheckoutStatus
            None
            Created
            FormsFilled
            ReadyToPay
            ProcessingPayment
            ReadyToShip
            Shipped
            PaidToAccount
            Canceled
            Credited
            Expired
            Denied
        End Enum
    End Namespace

    Namespace QvicklyIntegration.Models.Checkout

        Public Partial Class Cart
            Public Overridable Property Handling As CartHandling
            Public Overridable Property Total As CartTotal
            Public Overridable Property Shipping As Shipping
        End Class

        Public Partial Class CartHandling
            Public Overridable Property withouttax As String
            Public Overridable Property taxrate As String
        End Class

        Public Partial Class CartTotal
            Public Overridable Property rounding As String
            Public Overridable Property withouttax As String
            Public Overridable Property tax As String
            Public Overridable Property withtax As String
        End Class

        Public Partial Class CheckoutData
            Public Overridable Property terms As Uri
            Public Overridable Property privacyPolicy As Uri
            Public Overridable Property redirectOnSuccess As String
        End Class

        Public Partial Class CheckoutPaymentData
            Public Overridable Property currency As String
            Public Overridable Property language As String
            Public Overridable Property country As String
            Public Overridable Property autoactivate As String
            Public Overridable Property orderid As String
            Public Overridable Property returnmethod As String
            Public Overridable Property accepturl As Uri
            Public Overridable Property cancelurl As Uri
            Public Overridable Property callbackurl As Uri
        End Class

        Public Partial Class InitCheckoutData
            Public Sub New()
                Articles = New QvicklyArticle(){}
            End Sub

            Public Overridable Property CheckoutData As CheckoutData
            Public Overridable Property PaymentData As CheckoutPaymentData
            Public Overridable Property PaymentInfo As PaymentInfo
            Public Overridable Property Articles As QvicklyArticle()
            Public Overridable Property Cart As Cart
            Public Overridable Property QvicklyCustomer As QvicklyCustomer
        End Class

        Public Partial Class InitCheckoutRequestBody
            Public Overridable Property credentials As Credentials
            Public Overridable Property data As InitCheckoutData
            Public Overridable Property function As String
        End Class

        Public Partial Class QvicklyCheckoutResponse
            Public Overridable Property Number As Integer
            Public Overridable Property Status As String
            Public Overridable Property OrderId As String
            Public Overridable Property Url As String
        End Class

        Public Partial Class Shipping
            Public Overridable Property firstname As String
            Public Overridable Property lastname As String
            Public Overridable Property company As String
            Public Overridable Property street As String
            Public Overridable Property street2 As String
            Public Overridable Property zip As String
            Public Overridable Property city As String
            Public Overridable Property country As String
            Public Overridable Property phone As String
            Public Overridable Property withouttax As String
            Public Overridable Property taxrate As String
        End Class
    End Namespace

    Namespace QvicklyIntegration.Models.Common

        Public Partial Class Credentials
            Public Overridable Property hash As String
            Public Overridable Property id As String
            Public Overridable Property version As String
            Public Overridable Property client As String
            Public Overridable Property serverdata As ServerData
            Public Overridable Property time As String
            Public Overridable Property test As String
            Public Overridable Property language As String
        End Class

        Public Partial Class QvicklyArticle
            Public Overridable Property artnr As String
            Public Overridable Property title As String
            Public Overridable Property quantity As Integer
            Public Overridable Property aprice As Integer
            Public Overridable Property tax As Integer
            Public Overridable Property discount As Integer
            Public Overridable Property withouttax As Integer
            Public Overridable Property taxrate As Integer
        End Class

        Public Partial Class ServerData
            Public Overridable Property HTTP_HOST As String
            Public Overridable Property HTTP_CONNECTION As String
            Public Overridable Property HTTP_CACHE_CONTROL As String
            Public Overridable Property HTTP_ACCEPT As String
            Public Overridable Property HTTP_USER_AGENT As String
            Public Overridable Property HTTP_ACCEPT_ENCODING As String
            Public Overridable Property HTTP_ACCEPT_LANGUAGE As String
            Public Overridable Property PATH As String
            Public Overridable Property SERVER_SOFTWARE As String
            Public Overridable Property SERVER_NAME As String
            Public Overridable Property SERVER_ADDR As String
            Public Overridable Property SERVER_PORT As String
            Public Overridable Property REMOTE_ADDR As String
            Public Overridable Property REMOTE_PORT As String
            Public Overridable Property GATEWAY_INTERFACE As String
            Public Overridable Property SERVER_PROTOCOL As String
            Public Overridable Property REQUEST_METHOD As String
            Public Overridable Property QUERY_STRING As String
            Public Overridable Property REQUEST_TIME As String
        End Class
    End Namespace

    Namespace QvicklyIntegration.Models.Payment

        Public Partial Class Card
            Public Overridable Property promptname As String
            Public Overridable Property recurring As String
            Public Overridable Property recurringnr As String
            Public Overridable Property accepturl As String
            Public Overridable Property cancelurl As String
            Public Overridable Property callbackurl As String
            Public Overridable Property returnmethod As String
        End Class

        Public Partial Class CustomerBilling
            Public Overridable Property firstname As String
            Public Overridable Property lastname As String
            Public Overridable Property company As String
            Public Overridable Property street As String
            Public Overridable Property street2 As String
            Public Overridable Property zip As String
            Public Overridable Property city As String
            Public Overridable Property country As String
            Public Overridable Property phone As String
            Public Overridable Property email As String
        End Class

        Public Partial Class PaymentInfo
            Public Overridable Property paymentdate As String
            Public Overridable Property paymentterms As String
            Public Overridable Property yourreference As String
            Public Overridable Property ourreference As String
            Public Overridable Property projectname As String
            Public Overridable Property deliverymethod As String
            Public Overridable Property deliveryterms As String
        End Class

        Public Partial Class QvicklyCustomer
            Public Overridable Property nr As String
            Public Overridable Property pno As String
            Public Overridable Property Billing As CustomerBilling
        End Class

        Public Partial Class QvicklyPaymentResponse
            Public Sub New()
                Articles = New QvicklyArticle(){}
            End Sub

            Public Overridable Property PaymentData As QvikclyPaymentData
            Public Overridable Property PaymentInfo As PaymentInfo
            Public Overridable Property Card As Card
            Public Overridable Property Settlement As Settlement
            Public Overridable Property QvicklyCustomer As QvicklyCustomer
            Public Overridable Property Articles As QvicklyArticle()
            Public Overridable Property Cart As Cart
        End Class

        Public Partial Class QvikclyPaymentData
            Public Overridable Property method As String
            Public Overridable Property paymentplanid As String
            Public Overridable Property currency As String
            Public Overridable Property country As String
            Public Overridable Property language As String
            Public Overridable Property autoactivate As String
            Public Overridable Property orderid As String
            Public Overridable Property status As String
            Public Overridable Property paymentid_related As String
            Public Overridable Property url As String
        End Class

        Public Partial Class Settlement
            Public Overridable Property number As String
            Public Overridable Property date As String
        End Class
    End Namespace

    Namespace ServiceStack.Data

        Public Interface IDbConnectionFactory
        End Interface
    End Namespace

    Namespace Stripe

        Public Partial Class Address
            Inherits StripeEntity(Of Address)
            Public Overridable Property City As String
            Public Overridable Property Country As String
            Public Overridable Property Line1 As String
            Public Overridable Property Line2 As String
            Public Overridable Property PostalCode As String
            Public Overridable Property State As String
        End Class

        Public Partial Class AddressOptions
            Implements INestedOptions
            Public Overridable Property City As String
            Public Overridable Property Country As String
            Public Overridable Property Line1 As String
            Public Overridable Property Line2 As String
            Public Overridable Property PostalCode As String
            Public Overridable Property State As String
        End Class

        Public Partial Class BaseOptions
            Implements INestedOptions
            Public Sub New()
                Expand = New List(Of String)
            End Sub

            Public Overridable Property Expand As List(Of String)
            Public Overridable Property ExtraParams As IDictionary(Of String, Object)
        End Class

        Public Partial Class ChargeShippingOptions
            Implements INestedOptions
            Public Overridable Property Address As AddressOptions
            Public Overridable Property Carrier As String
            Public Overridable Property Name As String
            Public Overridable Property Phone As String
            Public Overridable Property TrackingNumber As String
        End Class

        Public Partial Class Coupon
            Inherits StripeEntity(Of Coupon)
            Implements IHasId
            Implements IHasMetadata
            Implements IHasObject
            Public Sub New()
                CurrencyOptions = New Dictionary(Of String, CouponCurrencyOptions)
                Metadata = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property Id As String
            Public Overridable Property [Object] As String
            Public Overridable Property AmountOff As Nullable(Of Long)
            Public Overridable Property AppliesTo As CouponAppliesTo
            Public Overridable Property Created As Date
            Public Overridable Property Currency As String
            Public Overridable Property CurrencyOptions As Dictionary(Of String, CouponCurrencyOptions)
            Public Overridable Property Deleted As Nullable(Of Boolean)
            Public Overridable Property Duration As String
            Public Overridable Property DurationInMonths As Nullable(Of Long)
            Public Overridable Property Livemode As Boolean
            Public Overridable Property MaxRedemptions As Nullable(Of Long)
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property Name As String
            Public Overridable Property PercentOff As Nullable(Of Decimal)
            Public Overridable Property RedeemBy As Nullable(Of Date)
            Public Overridable Property TimesRedeemed As Long
            Public Overridable Property Valid As Boolean
        End Class

        Public Partial Class CouponAppliesTo
            Inherits StripeEntity(Of CouponAppliesTo)
            Public Sub New()
                Products = New List(Of String)
            End Sub

            Public Overridable Property Products As List(Of String)
        End Class

        Public Partial Class CouponCurrencyOptions
            Inherits StripeEntity(Of CouponCurrencyOptions)
            Public Overridable Property AmountOff As Long
        End Class

        Public Partial Class Discount
            Inherits StripeEntity(Of Discount)
            Implements IHasId
            Implements IHasObject
            Public Overridable Property Id As String
            Public Overridable Property [Object] As String
            Public Overridable Property CheckoutSession As String
            Public Overridable Property Coupon As Coupon
            Public Overridable Property Deleted As Nullable(Of Boolean)
            Public Overridable Property [End] As Nullable(Of Date)
            Public Overridable Property Invoice As String
            Public Overridable Property InvoiceItem As String
            Public Overridable Property Start As Date
            Public Overridable Property Subscription As String
            Public Overridable Property SubscriptionItem As String
        End Class

        Public Partial Class LineItem
            Inherits StripeEntity(Of LineItem)
            Implements IHasId
            Implements IHasObject
            Public Sub New()
                Discounts = New List(Of LineItemDiscount)
                Taxes = New List(Of LineItemTax)
            End Sub

            Public Overridable Property Id As String
            Public Overridable Property [Object] As String
            Public Overridable Property AmountDiscount As Long
            Public Overridable Property AmountSubtotal As Long
            Public Overridable Property AmountTax As Long
            Public Overridable Property AmountTotal As Long
            Public Overridable Property Currency As String
            Public Overridable Property Deleted As Nullable(Of Boolean)
            Public Overridable Property Description As String
            Public Overridable Property Discounts As List(Of LineItemDiscount)
            Public Overridable Property Price As Price
            Public Overridable Property Quantity As Nullable(Of Long)
            Public Overridable Property Taxes As List(Of LineItemTax)
        End Class

        Public Partial Class LineItemDiscount
            Inherits StripeEntity(Of LineItemDiscount)
            Public Overridable Property Amount As Long
            Public Overridable Property Discount As Discount
        End Class

        Public Partial Class LineItemTax
            Inherits StripeEntity(Of LineItemTax)
            Public Overridable Property Amount As Long
            Public Overridable Property Rate As TaxRate
            Public Overridable Property TaxabilityReason As String
            Public Overridable Property TaxableAmount As Nullable(Of Long)
        End Class

        Public Partial Class Price
            Inherits StripeEntity(Of Price)
            Implements IHasId
            Implements IHasMetadata
            Implements IHasObject
            Public Sub New()
                CurrencyOptions = New Dictionary(Of String, PriceCurrencyOptions)
                Metadata = New Dictionary(Of String, String)
                Tiers = New List(Of PriceTier)
            End Sub

            Public Overridable Property Id As String
            Public Overridable Property [Object] As String
            Public Overridable Property Active As Boolean
            Public Overridable Property BillingScheme As String
            Public Overridable Property Created As Date
            Public Overridable Property Currency As String
            Public Overridable Property CurrencyOptions As Dictionary(Of String, PriceCurrencyOptions)
            Public Overridable Property CustomUnitAmount As PriceCustomUnitAmount
            Public Overridable Property Deleted As Nullable(Of Boolean)
            Public Overridable Property Livemode As Boolean
            Public Overridable Property LookupKey As String
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property Nickname As String
            Public Overridable Property Recurring As PriceRecurring
            Public Overridable Property TaxBehavior As String
            Public Overridable Property Tiers As List(Of PriceTier)
            Public Overridable Property TiersMode As String
            Public Overridable Property TransformQuantity As PriceTransformQuantity
            Public Overridable Property Type As String
            Public Overridable Property UnitAmount As Nullable(Of Long)
            Public Overridable Property UnitAmountDecimal As Nullable(Of Decimal)
        End Class

        Public Partial Class PriceCurrencyOptions
            Inherits StripeEntity(Of PriceCurrencyOptions)
            Public Sub New()
                Tiers = New List(Of PriceCurrencyOptionsTier)
            End Sub

            Public Overridable Property CustomUnitAmount As PriceCurrencyOptionsCustomUnitAmount
            Public Overridable Property TaxBehavior As String
            Public Overridable Property Tiers As List(Of PriceCurrencyOptionsTier)
            Public Overridable Property UnitAmount As Nullable(Of Long)
            Public Overridable Property UnitAmountDecimal As Nullable(Of Decimal)
        End Class

        Public Partial Class PriceCurrencyOptionsCustomUnitAmount
            Inherits StripeEntity(Of PriceCurrencyOptionsCustomUnitAmount)
            Public Overridable Property Maximum As Nullable(Of Long)
            Public Overridable Property Minimum As Nullable(Of Long)
            Public Overridable Property Preset As Nullable(Of Long)
        End Class

        Public Partial Class PriceCurrencyOptionsTier
            Inherits StripeEntity(Of PriceCurrencyOptionsTier)
            Public Overridable Property FlatAmount As Nullable(Of Long)
            Public Overridable Property FlatAmountDecimal As Nullable(Of Decimal)
            Public Overridable Property UnitAmount As Nullable(Of Long)
            Public Overridable Property UnitAmountDecimal As Nullable(Of Decimal)
            Public Overridable Property UpTo As Nullable(Of Long)
        End Class

        Public Partial Class PriceCustomUnitAmount
            Inherits StripeEntity(Of PriceCustomUnitAmount)
            Public Overridable Property Maximum As Nullable(Of Long)
            Public Overridable Property Minimum As Nullable(Of Long)
            Public Overridable Property Preset As Nullable(Of Long)
        End Class

        Public Partial Class PriceRecurring
            Inherits StripeEntity(Of PriceRecurring)
            Public Overridable Property AggregateUsage As String
            Public Overridable Property Interval As String
            Public Overridable Property IntervalCount As Long
            Public Overridable Property Meter As String
            Public Overridable Property TrialPeriodDays As Nullable(Of Long)
            Public Overridable Property UsageType As String
        End Class

        Public Partial Class PriceTier
            Inherits StripeEntity(Of PriceTier)
            Public Overridable Property FlatAmount As Nullable(Of Long)
            Public Overridable Property FlatAmountDecimal As Nullable(Of Decimal)
            Public Overridable Property UnitAmount As Nullable(Of Long)
            Public Overridable Property UnitAmountDecimal As Nullable(Of Decimal)
            Public Overridable Property UpTo As Nullable(Of Long)
        End Class

        Public Partial Class PriceTransformQuantity
            Inherits StripeEntity(Of PriceTransformQuantity)
            Public Overridable Property DivideBy As Long
            Public Overridable Property Round As String
        End Class

        Public Partial Class StripeEntity
            Implements IStripeEntity
        End Class

        Public Partial Class StripeEntity(Of T)
            Inherits StripeEntity
        End Class

        Public Partial Class StripeList(Of T)
            Inherits StripeEntity(Of StripeList(Of T))
            Implements IHasObject
        End Class

        Public Partial Class TaxRate
            Inherits StripeEntity(Of TaxRate)
            Implements IHasId
            Implements IHasMetadata
            Implements IHasObject
            Public Sub New()
                Metadata = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property Id As String
            Public Overridable Property [Object] As String
            Public Overridable Property Active As Boolean
            Public Overridable Property Country As String
            Public Overridable Property Created As Date
            Public Overridable Property Description As String
            Public Overridable Property DisplayName As String
            Public Overridable Property EffectivePercentage As Nullable(Of Decimal)
            Public Overridable Property Inclusive As Boolean
            Public Overridable Property Jurisdiction As String
            Public Overridable Property JurisdictionLevel As String
            Public Overridable Property Livemode As Boolean
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property Percentage As Decimal
            Public Overridable Property State As String
            Public Overridable Property TaxType As String
        End Class
    End Namespace

    Namespace Stripe.Checkout

        Public Partial Class Session
            Inherits StripeEntity(Of Session)
            Implements IHasId
            Implements IHasMetadata
            Implements IHasObject
            Public Sub New()
                CustomFields = New List(Of SessionCustomField)
                Metadata = New Dictionary(Of String, String)
                PaymentMethodTypes = New List(Of String)
                ShippingOptions = New List(Of SessionShippingOption)
            End Sub

            Public Overridable Property Id As String
            Public Overridable Property [Object] As String
            Public Overridable Property AfterExpiration As SessionAfterExpiration
            Public Overridable Property AllowPromotionCodes As Nullable(Of Boolean)
            Public Overridable Property AmountSubtotal As Nullable(Of Long)
            Public Overridable Property AmountTotal As Nullable(Of Long)
            Public Overridable Property AutomaticTax As SessionAutomaticTax
            Public Overridable Property BillingAddressCollection As String
            Public Overridable Property CancelUrl As String
            Public Overridable Property ClientReferenceId As String
            Public Overridable Property ClientSecret As String
            Public Overridable Property Consent As SessionConsent
            Public Overridable Property ConsentCollection As SessionConsentCollection
            Public Overridable Property Created As Date
            Public Overridable Property Currency As String
            Public Overridable Property CurrencyConversion As SessionCurrencyConversion
            Public Overridable Property CustomFields As List(Of SessionCustomField)
            Public Overridable Property CustomText As SessionCustomText
            Public Overridable Property CustomerCreation As String
            Public Overridable Property CustomerDetails As SessionCustomerDetails
            Public Overridable Property CustomerEmail As String
            Public Overridable Property ExpiresAt As Date
            Public Overridable Property InvoiceCreation As SessionInvoiceCreation
            Public Overridable Property LineItems As StripeList(Of LineItem)
            Public Overridable Property Livemode As Boolean
            Public Overridable Property Locale As String
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property Mode As String
            Public Overridable Property PaymentMethodCollection As String
            Public Overridable Property PaymentMethodConfigurationDetails As SessionPaymentMethodConfigurationDetails
            Public Overridable Property PaymentMethodOptions As SessionPaymentMethodOptions
            Public Overridable Property PaymentMethodTypes As List(Of String)
            Public Overridable Property PaymentStatus As String
            Public Overridable Property PhoneNumberCollection As SessionPhoneNumberCollection
            Public Overridable Property RecoveredFrom As String
            Public Overridable Property RedirectOnCompletion As String
            Public Overridable Property ReturnUrl As String
            Public Overridable Property SavedPaymentMethodOptions As SessionSavedPaymentMethodOptions
            Public Overridable Property ShippingAddressCollection As SessionShippingAddressCollection
            Public Overridable Property ShippingCost As SessionShippingCost
            Public Overridable Property ShippingDetails As SessionShippingDetails
            Public Overridable Property ShippingOptions As List(Of SessionShippingOption)
            Public Overridable Property Status As String
            Public Overridable Property SubmitType As String
            Public Overridable Property SuccessUrl As String
            Public Overridable Property TaxIdCollection As SessionTaxIdCollection
            Public Overridable Property TotalDetails As SessionTotalDetails
            Public Overridable Property UiMode As String
            Public Overridable Property Url As String
        End Class

        Public Partial Class SessionAfterExpiration
            Inherits StripeEntity(Of SessionAfterExpiration)
            Public Overridable Property Recovery As SessionAfterExpirationRecovery
        End Class

        Public Partial Class SessionAfterExpirationOptions
            Implements INestedOptions
            Public Overridable Property Recovery As SessionAfterExpirationRecoveryOptions
        End Class

        Public Partial Class SessionAfterExpirationRecovery
            Inherits StripeEntity(Of SessionAfterExpirationRecovery)
            Public Overridable Property AllowPromotionCodes As Boolean
            Public Overridable Property Enabled As Boolean
            Public Overridable Property ExpiresAt As Nullable(Of Date)
            Public Overridable Property Url As String
        End Class

        Public Partial Class SessionAfterExpirationRecoveryOptions
            Implements INestedOptions
            Public Overridable Property AllowPromotionCodes As Nullable(Of Boolean)
            Public Overridable Property Enabled As Nullable(Of Boolean)
        End Class

        Public Partial Class SessionAutomaticTax
            Inherits StripeEntity(Of SessionAutomaticTax)
            Public Overridable Property Enabled As Boolean
            Public Overridable Property Liability As SessionAutomaticTaxLiability
            Public Overridable Property Status As String
        End Class

        Public Partial Class SessionAutomaticTaxLiability
            Inherits StripeEntity(Of SessionAutomaticTaxLiability)
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionAutomaticTaxLiabilityOptions
            Implements INestedOptions
            Public Overridable Property Account As String
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionAutomaticTaxOptions
            Implements INestedOptions
            Public Overridable Property Enabled As Nullable(Of Boolean)
            Public Overridable Property Liability As SessionAutomaticTaxLiabilityOptions
        End Class

        Public Partial Class SessionConsent
            Inherits StripeEntity(Of SessionConsent)
            Public Overridable Property Promotions As String
            Public Overridable Property TermsOfService As String
        End Class

        Public Partial Class SessionConsentCollection
            Inherits StripeEntity(Of SessionConsentCollection)
            Public Overridable Property PaymentMethodReuseAgreement As SessionConsentCollectionPaymentMethodReuseAgreement
            Public Overridable Property Promotions As String
            Public Overridable Property TermsOfService As String
        End Class

        Public Partial Class SessionConsentCollectionOptions
            Implements INestedOptions
            Public Overridable Property PaymentMethodReuseAgreement As SessionConsentCollectionPaymentMethodReuseAgreementOptions
            Public Overridable Property Promotions As String
            Public Overridable Property TermsOfService As String
        End Class

        Public Partial Class SessionConsentCollectionPaymentMethodReuseAgreement
            Inherits StripeEntity(Of SessionConsentCollectionPaymentMethodReuseAgreement)
            Public Overridable Property Position As String
        End Class

        Public Partial Class SessionConsentCollectionPaymentMethodReuseAgreementOptions
            Implements INestedOptions
            Public Overridable Property Position As String
        End Class

        Public Partial Class SessionCreateOptions
            Inherits BaseOptions
            Implements IHasMetadata
            Public Sub New()
                CustomFields = New List(Of SessionCustomFieldOptions)
                Discounts = New List(Of SessionDiscountOptions)
                LineItems = New List(Of SessionLineItemOptions)
                Metadata = New Dictionary(Of String, String)
                PaymentMethodTypes = New List(Of String)
                ShippingOptions = New List(Of SessionShippingOptionOptions)
            End Sub

            Public Overridable Property AfterExpiration As SessionAfterExpirationOptions
            Public Overridable Property AllowPromotionCodes As Nullable(Of Boolean)
            Public Overridable Property AutomaticTax As SessionAutomaticTaxOptions
            Public Overridable Property BillingAddressCollection As String
            Public Overridable Property CancelUrl As String
            Public Overridable Property ClientReferenceId As String
            Public Overridable Property ConsentCollection As SessionConsentCollectionOptions
            Public Overridable Property Currency As String
            Public Overridable Property CustomFields As List(Of SessionCustomFieldOptions)
            Public Overridable Property CustomText As SessionCustomTextOptions
            Public Overridable Property Customer As String
            Public Overridable Property CustomerCreation As String
            Public Overridable Property CustomerEmail As String
            Public Overridable Property CustomerUpdate As SessionCustomerUpdateOptions
            Public Overridable Property Discounts As List(Of SessionDiscountOptions)
            Public Overridable Property ExpiresAt As Nullable(Of Date)
            Public Overridable Property InvoiceCreation As SessionInvoiceCreationOptions
            Public Overridable Property LineItems As List(Of SessionLineItemOptions)
            Public Overridable Property Locale As String
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property Mode As String
            Public Overridable Property PaymentIntentData As SessionPaymentIntentDataOptions
            Public Overridable Property PaymentMethodCollection As String
            Public Overridable Property PaymentMethodConfiguration As String
            Public Overridable Property PaymentMethodData As SessionPaymentMethodDataOptions
            Public Overridable Property PaymentMethodOptions As SessionPaymentMethodOptionsOptions
            Public Overridable Property PaymentMethodTypes As List(Of String)
            Public Overridable Property PhoneNumberCollection As SessionPhoneNumberCollectionOptions
            Public Overridable Property RedirectOnCompletion As String
            Public Overridable Property ReturnUrl As String
            Public Overridable Property SavedPaymentMethodOptions As SessionSavedPaymentMethodOptionsOptions
            Public Overridable Property SetupIntentData As SessionSetupIntentDataOptions
            Public Overridable Property ShippingAddressCollection As SessionShippingAddressCollectionOptions
            Public Overridable Property ShippingOptions As List(Of SessionShippingOptionOptions)
            Public Overridable Property SubmitType As String
            Public Overridable Property SubscriptionData As SessionSubscriptionDataOptions
            Public Overridable Property SuccessUrl As String
            Public Overridable Property TaxIdCollection As SessionTaxIdCollectionOptions
            Public Overridable Property UiMode As String
        End Class

        Public Partial Class SessionCurrencyConversion
            Inherits StripeEntity(Of SessionCurrencyConversion)
            Public Overridable Property AmountSubtotal As Long
            Public Overridable Property AmountTotal As Long
            Public Overridable Property FxRate As Decimal
            Public Overridable Property SourceCurrency As String
        End Class

        Public Partial Class SessionCustomerDetails
            Inherits StripeEntity(Of SessionCustomerDetails)
            Public Sub New()
                TaxIds = New List(Of SessionCustomerDetailsTaxId)
            End Sub

            Public Overridable Property Address As Address
            Public Overridable Property Email As String
            Public Overridable Property Name As String
            Public Overridable Property Phone As String
            Public Overridable Property TaxExempt As String
            Public Overridable Property TaxIds As List(Of SessionCustomerDetailsTaxId)
        End Class

        Public Partial Class SessionCustomerDetailsTaxId
            Inherits StripeEntity(Of SessionCustomerDetailsTaxId)
            Public Overridable Property Type As String
            Public Overridable Property Value As String
        End Class

        Public Partial Class SessionCustomerUpdateOptions
            Implements INestedOptions
            Public Overridable Property Address As String
            Public Overridable Property Name As String
            Public Overridable Property Shipping As String
        End Class

        Public Partial Class SessionCustomField
            Inherits StripeEntity(Of SessionCustomField)
            Public Overridable Property Dropdown As SessionCustomFieldDropdown
            Public Overridable Property Key As String
            Public Overridable Property Label As SessionCustomFieldLabel
            Public Overridable Property Numeric As SessionCustomFieldNumeric
            Public Overridable Property Optional As Boolean
            Public Overridable Property Text As SessionCustomFieldText
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionCustomFieldDropdown
            Inherits StripeEntity(Of SessionCustomFieldDropdown)
            Public Sub New()
                Options = New List(Of SessionCustomFieldDropdownOption)
            End Sub

            Public Overridable Property DefaultValue As String
            Public Overridable Property Options As List(Of SessionCustomFieldDropdownOption)
            Public Overridable Property Value As String
        End Class

        Public Partial Class SessionCustomFieldDropdownOption
            Inherits StripeEntity(Of SessionCustomFieldDropdownOption)
            Public Overridable Property Label As String
            Public Overridable Property Value As String
        End Class

        Public Partial Class SessionCustomFieldDropdownOptionOptions
            Implements INestedOptions
            Public Overridable Property Label As String
            Public Overridable Property Value As String
        End Class

        Public Partial Class SessionCustomFieldDropdownOptions
            Implements INestedOptions
            Public Sub New()
                Options = New List(Of SessionCustomFieldDropdownOptionOptions)
            End Sub

            Public Overridable Property DefaultValue As String
            Public Overridable Property Options As List(Of SessionCustomFieldDropdownOptionOptions)
        End Class

        Public Partial Class SessionCustomFieldLabel
            Inherits StripeEntity(Of SessionCustomFieldLabel)
            Public Overridable Property Custom As String
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionCustomFieldLabelOptions
            Implements INestedOptions
            Public Overridable Property Custom As String
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionCustomFieldNumeric
            Inherits StripeEntity(Of SessionCustomFieldNumeric)
            Public Overridable Property DefaultValue As String
            Public Overridable Property MaximumLength As Nullable(Of Long)
            Public Overridable Property MinimumLength As Nullable(Of Long)
            Public Overridable Property Value As String
        End Class

        Public Partial Class SessionCustomFieldNumericOptions
            Implements INestedOptions
            Public Overridable Property DefaultValue As String
            Public Overridable Property MaximumLength As Nullable(Of Long)
            Public Overridable Property MinimumLength As Nullable(Of Long)
        End Class

        Public Partial Class SessionCustomFieldOptions
            Implements INestedOptions
            Public Overridable Property Dropdown As SessionCustomFieldDropdownOptions
            Public Overridable Property Key As String
            Public Overridable Property Label As SessionCustomFieldLabelOptions
            Public Overridable Property Numeric As SessionCustomFieldNumericOptions
            Public Overridable Property Optional As Nullable(Of Boolean)
            Public Overridable Property Text As SessionCustomFieldTextOptions
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionCustomFieldText
            Inherits StripeEntity(Of SessionCustomFieldText)
            Public Overridable Property DefaultValue As String
            Public Overridable Property MaximumLength As Nullable(Of Long)
            Public Overridable Property MinimumLength As Nullable(Of Long)
            Public Overridable Property Value As String
        End Class

        Public Partial Class SessionCustomFieldTextOptions
            Implements INestedOptions
            Public Overridable Property DefaultValue As String
            Public Overridable Property MaximumLength As Nullable(Of Long)
            Public Overridable Property MinimumLength As Nullable(Of Long)
        End Class

        Public Partial Class SessionCustomText
            Inherits StripeEntity(Of SessionCustomText)
            Public Overridable Property AfterSubmit As SessionCustomTextAfterSubmit
            Public Overridable Property ShippingAddress As SessionCustomTextShippingAddress
            Public Overridable Property Submit As SessionCustomTextSubmit
            Public Overridable Property TermsOfServiceAcceptance As SessionCustomTextTermsOfServiceAcceptance
        End Class

        Public Partial Class SessionCustomTextAfterSubmit
            Inherits StripeEntity(Of SessionCustomTextAfterSubmit)
            Public Overridable Property Message As String
        End Class

        Public Partial Class SessionCustomTextAfterSubmitOptions
            Implements INestedOptions
            Public Overridable Property Message As String
        End Class

        Public Partial Class SessionCustomTextOptions
            Implements INestedOptions
            Public Overridable Property AfterSubmit As SessionCustomTextAfterSubmitOptions
            Public Overridable Property ShippingAddress As SessionCustomTextShippingAddressOptions
            Public Overridable Property Submit As SessionCustomTextSubmitOptions
            Public Overridable Property TermsOfServiceAcceptance As SessionCustomTextTermsOfServiceAcceptanceOptions
        End Class

        Public Partial Class SessionCustomTextShippingAddress
            Inherits StripeEntity(Of SessionCustomTextShippingAddress)
            Public Overridable Property Message As String
        End Class

        Public Partial Class SessionCustomTextShippingAddressOptions
            Implements INestedOptions
            Public Overridable Property Message As String
        End Class

        Public Partial Class SessionCustomTextSubmit
            Inherits StripeEntity(Of SessionCustomTextSubmit)
            Public Overridable Property Message As String
        End Class

        Public Partial Class SessionCustomTextSubmitOptions
            Implements INestedOptions
            Public Overridable Property Message As String
        End Class

        Public Partial Class SessionCustomTextTermsOfServiceAcceptance
            Inherits StripeEntity(Of SessionCustomTextTermsOfServiceAcceptance)
            Public Overridable Property Message As String
        End Class

        Public Partial Class SessionCustomTextTermsOfServiceAcceptanceOptions
            Implements INestedOptions
            Public Overridable Property Message As String
        End Class

        Public Partial Class SessionDiscountOptions
            Implements INestedOptions
            Public Overridable Property Coupon As String
            Public Overridable Property PromotionCode As String
        End Class

        Public Partial Class SessionInvoiceCreation
            Inherits StripeEntity(Of SessionInvoiceCreation)
            Public Overridable Property Enabled As Boolean
            Public Overridable Property InvoiceData As SessionInvoiceCreationInvoiceData
        End Class

        Public Partial Class SessionInvoiceCreationInvoiceData
            Inherits StripeEntity(Of SessionInvoiceCreationInvoiceData)
            Implements IHasMetadata
            Public Sub New()
                CustomFields = New List(Of SessionInvoiceCreationInvoiceDataCustomField)
                Metadata = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property CustomFields As List(Of SessionInvoiceCreationInvoiceDataCustomField)
            Public Overridable Property Description As String
            Public Overridable Property Footer As String
            Public Overridable Property Issuer As SessionInvoiceCreationInvoiceDataIssuer
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property RenderingOptions As SessionInvoiceCreationInvoiceDataRenderingOptions
        End Class

        Public Partial Class SessionInvoiceCreationInvoiceDataCustomField
            Inherits StripeEntity(Of SessionInvoiceCreationInvoiceDataCustomField)
            Public Overridable Property Name As String
            Public Overridable Property Value As String
        End Class

        Public Partial Class SessionInvoiceCreationInvoiceDataCustomFieldOptions
            Implements INestedOptions
            Public Overridable Property Name As String
            Public Overridable Property Value As String
        End Class

        Public Partial Class SessionInvoiceCreationInvoiceDataIssuer
            Inherits StripeEntity(Of SessionInvoiceCreationInvoiceDataIssuer)
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionInvoiceCreationInvoiceDataIssuerOptions
            Implements INestedOptions
            Public Overridable Property Account As String
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionInvoiceCreationInvoiceDataOptions
            Implements INestedOptions
            Implements IHasMetadata
            Public Sub New()
                AccountTaxIds = New List(Of String)
                CustomFields = New List(Of SessionInvoiceCreationInvoiceDataCustomFieldOptions)
                Metadata = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property AccountTaxIds As List(Of String)
            Public Overridable Property CustomFields As List(Of SessionInvoiceCreationInvoiceDataCustomFieldOptions)
            Public Overridable Property Description As String
            Public Overridable Property Footer As String
            Public Overridable Property Issuer As SessionInvoiceCreationInvoiceDataIssuerOptions
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property RenderingOptions As SessionInvoiceCreationInvoiceDataRenderingOptionsOptions
        End Class

        Public Partial Class SessionInvoiceCreationInvoiceDataRenderingOptions
            Inherits StripeEntity(Of SessionInvoiceCreationInvoiceDataRenderingOptions)
            Public Overridable Property AmountTaxDisplay As String
        End Class

        Public Partial Class SessionInvoiceCreationInvoiceDataRenderingOptionsOptions
            Implements INestedOptions
            Public Overridable Property AmountTaxDisplay As String
        End Class

        Public Partial Class SessionInvoiceCreationOptions
            Implements INestedOptions
            Public Overridable Property Enabled As Nullable(Of Boolean)
            Public Overridable Property InvoiceData As SessionInvoiceCreationInvoiceDataOptions
        End Class

        Public Partial Class SessionLineItemAdjustableQuantityOptions
            Implements INestedOptions
            Public Overridable Property Enabled As Nullable(Of Boolean)
            Public Overridable Property Maximum As Nullable(Of Long)
            Public Overridable Property Minimum As Nullable(Of Long)
        End Class

        Public Partial Class SessionLineItemOptions
            Implements INestedOptions
            Public Sub New()
                DynamicTaxRates = New List(Of String)
                TaxRates = New List(Of String)
            End Sub

            Public Overridable Property AdjustableQuantity As SessionLineItemAdjustableQuantityOptions
            Public Overridable Property DynamicTaxRates As List(Of String)
            Public Overridable Property Price As String
            Public Overridable Property PriceData As SessionLineItemPriceDataOptions
            Public Overridable Property Quantity As Nullable(Of Long)
            Public Overridable Property TaxRates As List(Of String)
        End Class

        Public Partial Class SessionLineItemPriceDataOptions
            Implements INestedOptions
            Public Overridable Property Currency As String
            Public Overridable Property Product As String
            Public Overridable Property ProductData As SessionLineItemPriceDataProductDataOptions
            Public Overridable Property Recurring As SessionLineItemPriceDataRecurringOptions
            Public Overridable Property TaxBehavior As String
            Public Overridable Property UnitAmount As Nullable(Of Long)
            Public Overridable Property UnitAmountDecimal As Nullable(Of Decimal)
        End Class

        Public Partial Class SessionLineItemPriceDataProductDataOptions
            Implements INestedOptions
            Implements IHasMetadata
            Public Sub New()
                Images = New List(Of String)
                Metadata = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property Description As String
            Public Overridable Property Images As List(Of String)
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property Name As String
            Public Overridable Property TaxCode As String
        End Class

        Public Partial Class SessionLineItemPriceDataRecurringOptions
            Implements INestedOptions
            Public Overridable Property Interval As String
            Public Overridable Property IntervalCount As Nullable(Of Long)
        End Class

        Public Partial Class SessionPaymentIntentDataOptions
            Implements INestedOptions
            Implements IHasMetadata
            Public Sub New()
                Metadata = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property ApplicationFeeAmount As Nullable(Of Long)
            Public Overridable Property CaptureMethod As String
            Public Overridable Property Description As String
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property OnBehalfOf As String
            Public Overridable Property ReceiptEmail As String
            Public Overridable Property SetupFutureUsage As String
            Public Overridable Property Shipping As ChargeShippingOptions
            Public Overridable Property StatementDescriptor As String
            Public Overridable Property StatementDescriptorSuffix As String
            Public Overridable Property TransferData As SessionPaymentIntentDataTransferDataOptions
            Public Overridable Property TransferGroup As String
        End Class

        Public Partial Class SessionPaymentIntentDataTransferDataOptions
            Implements INestedOptions
            Public Overridable Property Amount As Nullable(Of Long)
            Public Overridable Property Destination As String
        End Class

        Public Partial Class SessionPaymentMethodConfigurationDetails
            Inherits StripeEntity(Of SessionPaymentMethodConfigurationDetails)
            Implements IHasId
            Public Overridable Property Id As String
            Public Overridable Property Parent As String
        End Class

        Public Partial Class SessionPaymentMethodDataOptions
            Implements INestedOptions
            Public Overridable Property AllowRedisplay As String
        End Class

        Public Partial Class SessionPaymentMethodOptions
            Inherits StripeEntity(Of SessionPaymentMethodOptions)
            Public Overridable Property AcssDebit As SessionPaymentMethodOptionsAcssDebit
            Public Overridable Property Affirm As SessionPaymentMethodOptionsAffirm
            Public Overridable Property AfterpayClearpay As SessionPaymentMethodOptionsAfterpayClearpay
            Public Overridable Property Alipay As SessionPaymentMethodOptionsAlipay
            Public Overridable Property AmazonPay As SessionPaymentMethodOptionsAmazonPay
            Public Overridable Property AuBecsDebit As SessionPaymentMethodOptionsAuBecsDebit
            Public Overridable Property BacsDebit As SessionPaymentMethodOptionsBacsDebit
            Public Overridable Property Bancontact As SessionPaymentMethodOptionsBancontact
            Public Overridable Property Boleto As SessionPaymentMethodOptionsBoleto
            Public Overridable Property Card As SessionPaymentMethodOptionsCard
            Public Overridable Property Cashapp As SessionPaymentMethodOptionsCashapp
            Public Overridable Property CustomerBalance As SessionPaymentMethodOptionsCustomerBalance
            Public Overridable Property Eps As SessionPaymentMethodOptionsEps
            Public Overridable Property Fpx As SessionPaymentMethodOptionsFpx
            Public Overridable Property Giropay As SessionPaymentMethodOptionsGiropay
            Public Overridable Property Grabpay As SessionPaymentMethodOptionsGrabpay
            Public Overridable Property Ideal As SessionPaymentMethodOptionsIdeal
            Public Overridable Property Klarna As SessionPaymentMethodOptionsKlarna
            Public Overridable Property Konbini As SessionPaymentMethodOptionsKonbini
            Public Overridable Property Link As SessionPaymentMethodOptionsLink
            Public Overridable Property Mobilepay As SessionPaymentMethodOptionsMobilepay
            Public Overridable Property Multibanco As SessionPaymentMethodOptionsMultibanco
            Public Overridable Property Oxxo As SessionPaymentMethodOptionsOxxo
            Public Overridable Property P24 As SessionPaymentMethodOptionsP24
            Public Overridable Property Paynow As SessionPaymentMethodOptionsPaynow
            Public Overridable Property Paypal As SessionPaymentMethodOptionsPaypal
            Public Overridable Property Pix As SessionPaymentMethodOptionsPix
            Public Overridable Property RevolutPay As SessionPaymentMethodOptionsRevolutPay
            Public Overridable Property SepaDebit As SessionPaymentMethodOptionsSepaDebit
            Public Overridable Property Sofort As SessionPaymentMethodOptionsSofort
            Public Overridable Property Swish As SessionPaymentMethodOptionsSwish
            Public Overridable Property UsBankAccount As SessionPaymentMethodOptionsUsBankAccount
        End Class

        Public Partial Class SessionPaymentMethodOptionsAcssDebit
            Inherits StripeEntity(Of SessionPaymentMethodOptionsAcssDebit)
            Public Overridable Property Currency As String
            Public Overridable Property MandateOptions As SessionPaymentMethodOptionsAcssDebitMandateOptions
            Public Overridable Property SetupFutureUsage As String
            Public Overridable Property VerificationMethod As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAcssDebitMandateOptions
            Inherits StripeEntity(Of SessionPaymentMethodOptionsAcssDebitMandateOptions)
            Public Sub New()
                DefaultFor = New List(Of String)
            End Sub

            Public Overridable Property CustomMandateUrl As String
            Public Overridable Property DefaultFor As List(Of String)
            Public Overridable Property IntervalDescription As String
            Public Overridable Property PaymentSchedule As String
            Public Overridable Property TransactionType As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAcssDebitMandateOptionsOptions
            Implements INestedOptions
            Public Sub New()
                DefaultFor = New List(Of String)
            End Sub

            Public Overridable Property CustomMandateUrl As String
            Public Overridable Property DefaultFor As List(Of String)
            Public Overridable Property IntervalDescription As String
            Public Overridable Property PaymentSchedule As String
            Public Overridable Property TransactionType As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAcssDebitOptions
            Implements INestedOptions
            Public Overridable Property Currency As String
            Public Overridable Property MandateOptions As SessionPaymentMethodOptionsAcssDebitMandateOptionsOptions
            Public Overridable Property SetupFutureUsage As String
            Public Overridable Property VerificationMethod As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAffirm
            Inherits StripeEntity(Of SessionPaymentMethodOptionsAffirm)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAffirmOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAfterpayClearpay
            Inherits StripeEntity(Of SessionPaymentMethodOptionsAfterpayClearpay)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAfterpayClearpayOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAlipay
            Inherits StripeEntity(Of SessionPaymentMethodOptionsAlipay)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAlipayOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAmazonPay
            Inherits StripeEntity(Of SessionPaymentMethodOptionsAmazonPay)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAmazonPayOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAuBecsDebit
            Inherits StripeEntity(Of SessionPaymentMethodOptionsAuBecsDebit)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsAuBecsDebitOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsBacsDebit
            Inherits StripeEntity(Of SessionPaymentMethodOptionsBacsDebit)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsBacsDebitOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsBancontact
            Inherits StripeEntity(Of SessionPaymentMethodOptionsBancontact)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsBancontactOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsBoleto
            Inherits StripeEntity(Of SessionPaymentMethodOptionsBoleto)
            Public Overridable Property ExpiresAfterDays As Long
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsBoletoOptions
            Implements INestedOptions
            Public Overridable Property ExpiresAfterDays As Nullable(Of Long)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCard
            Inherits StripeEntity(Of SessionPaymentMethodOptionsCard)
            Public Overridable Property Installments As SessionPaymentMethodOptionsCardInstallments
            Public Overridable Property RequestThreeDSecure As String
            Public Overridable Property SetupFutureUsage As String
            Public Overridable Property StatementDescriptorSuffixKana As String
            Public Overridable Property StatementDescriptorSuffixKanji As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCardInstallments
            Inherits StripeEntity(Of SessionPaymentMethodOptionsCardInstallments)
            Public Overridable Property Enabled As Boolean
        End Class

        Public Partial Class SessionPaymentMethodOptionsCardInstallmentsOptions
            Implements INestedOptions
            Public Overridable Property Enabled As Nullable(Of Boolean)
        End Class

        Public Partial Class SessionPaymentMethodOptionsCardOptions
            Implements INestedOptions
            Public Overridable Property Installments As SessionPaymentMethodOptionsCardInstallmentsOptions
            Public Overridable Property RequestThreeDSecure As String
            Public Overridable Property SetupFutureUsage As String
            Public Overridable Property StatementDescriptorSuffixKana As String
            Public Overridable Property StatementDescriptorSuffixKanji As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCashapp
            Inherits StripeEntity(Of SessionPaymentMethodOptionsCashapp)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCashappOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCustomerBalance
            Inherits StripeEntity(Of SessionPaymentMethodOptionsCustomerBalance)
            Public Overridable Property BankTransfer As SessionPaymentMethodOptionsCustomerBalanceBankTransfer
            Public Overridable Property FundingType As String
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCustomerBalanceBankTransfer
            Inherits StripeEntity(Of SessionPaymentMethodOptionsCustomerBalanceBankTransfer)
            Public Sub New()
                RequestedAddressTypes = New List(Of String)
            End Sub

            Public Overridable Property EuBankTransfer As SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer
            Public Overridable Property RequestedAddressTypes As List(Of String)
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer
            Inherits StripeEntity(Of SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer)
            Public Overridable Property Country As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransferOptions
            Implements INestedOptions
            Public Overridable Property Country As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCustomerBalanceBankTransferOptions
            Implements INestedOptions
            Public Sub New()
                RequestedAddressTypes = New List(Of String)
            End Sub

            Public Overridable Property EuBankTransfer As SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransferOptions
            Public Overridable Property RequestedAddressTypes As List(Of String)
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsCustomerBalanceOptions
            Implements INestedOptions
            Public Overridable Property BankTransfer As SessionPaymentMethodOptionsCustomerBalanceBankTransferOptions
            Public Overridable Property FundingType As String
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsEps
            Inherits StripeEntity(Of SessionPaymentMethodOptionsEps)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsEpsOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsFpx
            Inherits StripeEntity(Of SessionPaymentMethodOptionsFpx)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsFpxOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsGiropay
            Inherits StripeEntity(Of SessionPaymentMethodOptionsGiropay)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsGiropayOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsGrabpay
            Inherits StripeEntity(Of SessionPaymentMethodOptionsGrabpay)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsGrabpayOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsIdeal
            Inherits StripeEntity(Of SessionPaymentMethodOptionsIdeal)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsIdealOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsKlarna
            Inherits StripeEntity(Of SessionPaymentMethodOptionsKlarna)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsKlarnaOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsKonbini
            Inherits StripeEntity(Of SessionPaymentMethodOptionsKonbini)
            Public Overridable Property ExpiresAfterDays As Nullable(Of Long)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsKonbiniOptions
            Implements INestedOptions
            Public Overridable Property ExpiresAfterDays As Nullable(Of Long)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsLink
            Inherits StripeEntity(Of SessionPaymentMethodOptionsLink)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsLinkOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsMobilepay
            Inherits StripeEntity(Of SessionPaymentMethodOptionsMobilepay)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsMobilepayOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsMultibanco
            Inherits StripeEntity(Of SessionPaymentMethodOptionsMultibanco)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsMultibancoOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsOptions
            Implements INestedOptions
            Public Overridable Property AcssDebit As SessionPaymentMethodOptionsAcssDebitOptions
            Public Overridable Property Affirm As SessionPaymentMethodOptionsAffirmOptions
            Public Overridable Property AfterpayClearpay As SessionPaymentMethodOptionsAfterpayClearpayOptions
            Public Overridable Property Alipay As SessionPaymentMethodOptionsAlipayOptions
            Public Overridable Property AmazonPay As SessionPaymentMethodOptionsAmazonPayOptions
            Public Overridable Property AuBecsDebit As SessionPaymentMethodOptionsAuBecsDebitOptions
            Public Overridable Property BacsDebit As SessionPaymentMethodOptionsBacsDebitOptions
            Public Overridable Property Bancontact As SessionPaymentMethodOptionsBancontactOptions
            Public Overridable Property Boleto As SessionPaymentMethodOptionsBoletoOptions
            Public Overridable Property Card As SessionPaymentMethodOptionsCardOptions
            Public Overridable Property Cashapp As SessionPaymentMethodOptionsCashappOptions
            Public Overridable Property CustomerBalance As SessionPaymentMethodOptionsCustomerBalanceOptions
            Public Overridable Property Eps As SessionPaymentMethodOptionsEpsOptions
            Public Overridable Property Fpx As SessionPaymentMethodOptionsFpxOptions
            Public Overridable Property Giropay As SessionPaymentMethodOptionsGiropayOptions
            Public Overridable Property Grabpay As SessionPaymentMethodOptionsGrabpayOptions
            Public Overridable Property Ideal As SessionPaymentMethodOptionsIdealOptions
            Public Overridable Property Klarna As SessionPaymentMethodOptionsKlarnaOptions
            Public Overridable Property Konbini As SessionPaymentMethodOptionsKonbiniOptions
            Public Overridable Property Link As SessionPaymentMethodOptionsLinkOptions
            Public Overridable Property Mobilepay As SessionPaymentMethodOptionsMobilepayOptions
            Public Overridable Property Multibanco As SessionPaymentMethodOptionsMultibancoOptions
            Public Overridable Property Oxxo As SessionPaymentMethodOptionsOxxoOptions
            Public Overridable Property P24 As SessionPaymentMethodOptionsP24Options
            Public Overridable Property Paynow As SessionPaymentMethodOptionsPaynowOptions
            Public Overridable Property Paypal As SessionPaymentMethodOptionsPaypalOptions
            Public Overridable Property Pix As SessionPaymentMethodOptionsPixOptions
            Public Overridable Property RevolutPay As SessionPaymentMethodOptionsRevolutPayOptions
            Public Overridable Property SepaDebit As SessionPaymentMethodOptionsSepaDebitOptions
            Public Overridable Property Sofort As SessionPaymentMethodOptionsSofortOptions
            Public Overridable Property Swish As SessionPaymentMethodOptionsSwishOptions
            Public Overridable Property UsBankAccount As SessionPaymentMethodOptionsUsBankAccountOptions
            Public Overridable Property WechatPay As SessionPaymentMethodOptionsWechatPayOptions
        End Class

        Public Partial Class SessionPaymentMethodOptionsOxxo
            Inherits StripeEntity(Of SessionPaymentMethodOptionsOxxo)
            Public Overridable Property ExpiresAfterDays As Long
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsOxxoOptions
            Implements INestedOptions
            Public Overridable Property ExpiresAfterDays As Nullable(Of Long)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsP24
            Inherits StripeEntity(Of SessionPaymentMethodOptionsP24)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsP24Options
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
            Public Overridable Property TosShownAndAccepted As Nullable(Of Boolean)
        End Class

        Public Partial Class SessionPaymentMethodOptionsPaynow
            Inherits StripeEntity(Of SessionPaymentMethodOptionsPaynow)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsPaynowOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsPaypal
            Inherits StripeEntity(Of SessionPaymentMethodOptionsPaypal)
            Public Overridable Property CaptureMethod As String
            Public Overridable Property PreferredLocale As String
            Public Overridable Property Reference As String
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsPaypalOptions
            Implements INestedOptions
            Public Overridable Property CaptureMethod As String
            Public Overridable Property PreferredLocale As String
            Public Overridable Property Reference As String
            Public Overridable Property RiskCorrelationId As String
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsPix
            Inherits StripeEntity(Of SessionPaymentMethodOptionsPix)
            Public Overridable Property ExpiresAfterSeconds As Nullable(Of Long)
        End Class

        Public Partial Class SessionPaymentMethodOptionsPixOptions
            Implements INestedOptions
            Public Overridable Property ExpiresAfterSeconds As Nullable(Of Long)
        End Class

        Public Partial Class SessionPaymentMethodOptionsRevolutPay
            Inherits StripeEntity(Of SessionPaymentMethodOptionsRevolutPay)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsRevolutPayOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsSepaDebit
            Inherits StripeEntity(Of SessionPaymentMethodOptionsSepaDebit)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsSepaDebitOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsSofort
            Inherits StripeEntity(Of SessionPaymentMethodOptionsSofort)
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsSofortOptions
            Implements INestedOptions
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsSwish
            Inherits StripeEntity(Of SessionPaymentMethodOptionsSwish)
            Public Overridable Property Reference As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsSwishOptions
            Implements INestedOptions
            Public Overridable Property Reference As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsUsBankAccount
            Inherits StripeEntity(Of SessionPaymentMethodOptionsUsBankAccount)
            Public Overridable Property FinancialConnections As SessionPaymentMethodOptionsUsBankAccountFinancialConnections
            Public Overridable Property SetupFutureUsage As String
            Public Overridable Property VerificationMethod As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsUsBankAccountFinancialConnections
            Inherits StripeEntity(Of SessionPaymentMethodOptionsUsBankAccountFinancialConnections)
            Public Sub New()
                Permissions = New List(Of String)
                Prefetch = New List(Of String)
            End Sub

            Public Overridable Property Filters As SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters
            Public Overridable Property Permissions As List(Of String)
            Public Overridable Property Prefetch As List(Of String)
            Public Overridable Property ReturnUrl As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters
            Inherits StripeEntity(Of SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters)
            Public Sub New()
                AccountSubcategories = New List(Of String)
            End Sub

            Public Overridable Property AccountSubcategories As List(Of String)
        End Class

        Public Partial Class SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsOptions
            Implements INestedOptions
            Public Sub New()
                Permissions = New List(Of String)
                Prefetch = New List(Of String)
            End Sub

            Public Overridable Property Permissions As List(Of String)
            Public Overridable Property Prefetch As List(Of String)
        End Class

        Public Partial Class SessionPaymentMethodOptionsUsBankAccountOptions
            Implements INestedOptions
            Public Overridable Property FinancialConnections As SessionPaymentMethodOptionsUsBankAccountFinancialConnectionsOptions
            Public Overridable Property SetupFutureUsage As String
            Public Overridable Property VerificationMethod As String
        End Class

        Public Partial Class SessionPaymentMethodOptionsWechatPayOptions
            Implements INestedOptions
            Public Overridable Property AppId As String
            Public Overridable Property Client As String
            Public Overridable Property SetupFutureUsage As String
        End Class

        Public Partial Class SessionPhoneNumberCollection
            Inherits StripeEntity(Of SessionPhoneNumberCollection)
            Public Overridable Property Enabled As Boolean
        End Class

        Public Partial Class SessionPhoneNumberCollectionOptions
            Implements INestedOptions
            Public Overridable Property Enabled As Nullable(Of Boolean)
        End Class

        Public Partial Class SessionSavedPaymentMethodOptions
            Inherits StripeEntity(Of SessionSavedPaymentMethodOptions)
            Public Sub New()
                AllowRedisplayFilters = New List(Of String)
            End Sub

            Public Overridable Property AllowRedisplayFilters As List(Of String)
            Public Overridable Property PaymentMethodRemove As String
            Public Overridable Property PaymentMethodSave As String
        End Class

        Public Partial Class SessionSavedPaymentMethodOptionsOptions
            Implements INestedOptions
            Public Sub New()
                AllowRedisplayFilters = New List(Of String)
            End Sub

            Public Overridable Property AllowRedisplayFilters As List(Of String)
            Public Overridable Property PaymentMethodSave As String
        End Class

        Public Partial Class SessionSetupIntentDataOptions
            Implements INestedOptions
            Implements IHasMetadata
            Public Sub New()
                Metadata = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property Description As String
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property OnBehalfOf As String
        End Class

        Public Partial Class SessionShippingAddressCollection
            Inherits StripeEntity(Of SessionShippingAddressCollection)
            Public Sub New()
                AllowedCountries = New List(Of String)
            End Sub

            Public Overridable Property AllowedCountries As List(Of String)
        End Class

        Public Partial Class SessionShippingAddressCollectionOptions
            Implements INestedOptions
            Public Sub New()
                AllowedCountries = New List(Of String)
            End Sub

            Public Overridable Property AllowedCountries As List(Of String)
        End Class

        Public Partial Class SessionShippingCost
            Inherits StripeEntity(Of SessionShippingCost)
            Public Sub New()
                Taxes = New List(Of SessionShippingCostTax)
            End Sub

            Public Overridable Property AmountSubtotal As Long
            Public Overridable Property AmountTax As Long
            Public Overridable Property AmountTotal As Long
            Public Overridable Property Taxes As List(Of SessionShippingCostTax)
        End Class

        Public Partial Class SessionShippingCostTax
            Inherits StripeEntity(Of SessionShippingCostTax)
            Public Overridable Property Amount As Long
            Public Overridable Property Rate As TaxRate
            Public Overridable Property TaxabilityReason As String
            Public Overridable Property TaxableAmount As Nullable(Of Long)
        End Class

        Public Partial Class SessionShippingDetails
            Inherits StripeEntity(Of SessionShippingDetails)
            Public Overridable Property Address As Address
            Public Overridable Property Carrier As String
            Public Overridable Property Name As String
            Public Overridable Property Phone As String
            Public Overridable Property TrackingNumber As String
        End Class

        Public Partial Class SessionShippingOption
            Inherits StripeEntity(Of SessionShippingOption)
            Public Overridable Property ShippingAmount As Long
        End Class

        Public Partial Class SessionShippingOptionOptions
            Implements INestedOptions
            Public Overridable Property ShippingRate As String
            Public Overridable Property ShippingRateData As SessionShippingOptionShippingRateDataOptions
        End Class

        Public Partial Class SessionShippingOptionShippingRateDataDeliveryEstimateMaximumOptions
            Implements INestedOptions
            Public Overridable Property Unit As String
            Public Overridable Property Value As Nullable(Of Long)
        End Class

        Public Partial Class SessionShippingOptionShippingRateDataDeliveryEstimateMinimumOptions
            Implements INestedOptions
            Public Overridable Property Unit As String
            Public Overridable Property Value As Nullable(Of Long)
        End Class

        Public Partial Class SessionShippingOptionShippingRateDataDeliveryEstimateOptions
            Implements INestedOptions
            Public Overridable Property Maximum As SessionShippingOptionShippingRateDataDeliveryEstimateMaximumOptions
            Public Overridable Property Minimum As SessionShippingOptionShippingRateDataDeliveryEstimateMinimumOptions
        End Class

        Public Partial Class SessionShippingOptionShippingRateDataFixedAmountCurrencyOptionsOptions
            Implements INestedOptions
            Public Overridable Property Amount As Nullable(Of Long)
            Public Overridable Property TaxBehavior As String
        End Class

        Public Partial Class SessionShippingOptionShippingRateDataFixedAmountOptions
            Implements INestedOptions
            Public Sub New()
                CurrencyOptions = New Dictionary(Of String, SessionShippingOptionShippingRateDataFixedAmountCurrencyOptionsOptions)
            End Sub

            Public Overridable Property Amount As Nullable(Of Long)
            Public Overridable Property Currency As String
            Public Overridable Property CurrencyOptions As Dictionary(Of String, SessionShippingOptionShippingRateDataFixedAmountCurrencyOptionsOptions)
        End Class

        Public Partial Class SessionShippingOptionShippingRateDataOptions
            Implements INestedOptions
            Implements IHasMetadata
            Public Sub New()
                Metadata = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property DeliveryEstimate As SessionShippingOptionShippingRateDataDeliveryEstimateOptions
            Public Overridable Property DisplayName As String
            Public Overridable Property FixedAmount As SessionShippingOptionShippingRateDataFixedAmountOptions
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property TaxBehavior As String
            Public Overridable Property TaxCode As String
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionSubscriptionDataInvoiceSettingsIssuerOptions
            Implements INestedOptions
            Public Overridable Property Account As String
            Public Overridable Property Type As String
        End Class

        Public Partial Class SessionSubscriptionDataInvoiceSettingsOptions
            Implements INestedOptions
            Public Overridable Property Issuer As SessionSubscriptionDataInvoiceSettingsIssuerOptions
        End Class

        Public Partial Class SessionSubscriptionDataOptions
            Implements INestedOptions
            Implements IHasMetadata
            Public Sub New()
                DefaultTaxRates = New List(Of String)
                Metadata = New Dictionary(Of String, String)
            End Sub

            Public Overridable Property ApplicationFeePercent As Nullable(Of Decimal)
            Public Overridable Property BillingCycleAnchor As Nullable(Of Date)
            Public Overridable Property DefaultTaxRates As List(Of String)
            Public Overridable Property Description As String
            Public Overridable Property InvoiceSettings As SessionSubscriptionDataInvoiceSettingsOptions
            Public Overridable Property Metadata As Dictionary(Of String, String)
            Public Overridable Property OnBehalfOf As String
            Public Overridable Property ProrationBehavior As String
            Public Overridable Property TransferData As SessionSubscriptionDataTransferDataOptions
            Public Overridable Property TrialEnd As Nullable(Of Date)
            Public Overridable Property TrialPeriodDays As Nullable(Of Long)
            Public Overridable Property TrialSettings As SessionSubscriptionDataTrialSettingsOptions
        End Class

        Public Partial Class SessionSubscriptionDataTransferDataOptions
            Implements INestedOptions
            Public Overridable Property AmountPercent As Nullable(Of Decimal)
            Public Overridable Property Destination As String
        End Class

        Public Partial Class SessionSubscriptionDataTrialSettingsEndBehaviorOptions
            Implements INestedOptions
            Public Overridable Property MissingPaymentMethod As String
        End Class

        Public Partial Class SessionSubscriptionDataTrialSettingsOptions
            Implements INestedOptions
            Public Overridable Property EndBehavior As SessionSubscriptionDataTrialSettingsEndBehaviorOptions
        End Class

        Public Partial Class SessionTaxIdCollection
            Inherits StripeEntity(Of SessionTaxIdCollection)
            Public Overridable Property Enabled As Boolean
            Public Overridable Property Required As String
        End Class

        Public Partial Class SessionTaxIdCollectionOptions
            Implements INestedOptions
            Public Overridable Property Enabled As Nullable(Of Boolean)
            Public Overridable Property Required As String
        End Class

        Public Partial Class SessionTotalDetails
            Inherits StripeEntity(Of SessionTotalDetails)
            Public Overridable Property AmountDiscount As Long
            Public Overridable Property AmountShipping As Nullable(Of Long)
            Public Overridable Property AmountTax As Long
            Public Overridable Property Breakdown As SessionTotalDetailsBreakdown
        End Class

        Public Partial Class SessionTotalDetailsBreakdown
            Inherits StripeEntity(Of SessionTotalDetailsBreakdown)
            Public Sub New()
                Discounts = New List(Of SessionTotalDetailsBreakdownDiscount)
                Taxes = New List(Of SessionTotalDetailsBreakdownTax)
            End Sub

            Public Overridable Property Discounts As List(Of SessionTotalDetailsBreakdownDiscount)
            Public Overridable Property Taxes As List(Of SessionTotalDetailsBreakdownTax)
        End Class

        Public Partial Class SessionTotalDetailsBreakdownDiscount
            Inherits StripeEntity(Of SessionTotalDetailsBreakdownDiscount)
            Public Overridable Property Amount As Long
            Public Overridable Property Discount As Discount
        End Class

        Public Partial Class SessionTotalDetailsBreakdownTax
            Inherits StripeEntity(Of SessionTotalDetailsBreakdownTax)
            Public Overridable Property Amount As Long
            Public Overridable Property Rate As TaxRate
            Public Overridable Property TaxabilityReason As String
            Public Overridable Property TaxableAmount As Nullable(Of Long)
        End Class
    End Namespace

    Namespace StripeIntegration.Enums

        Public Partial Class CustomSessionData
            Public Sub New()
                LineItems = New List(Of LineItem)
            End Sub

            Public Overridable Property Session As Session
            Public Overridable Property LineItems As List(Of LineItem)
        End Class
    End Namespace
End Namespace

VB.NET UpdateService DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /services/{Id} HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":0,"Name":"String","Description":"String","Group":"String","Active":false,"DurationTypeId":0,"BookingStatusId":0,"PauseAfterBooking":0,"UnbookBeforeDays":0,"UnbookBeforeHours":0,"UnbookBeforeMinutes":0,"BookBeforeDays":0,"EnableBookingQueue":false,"EnableCodeLockSync":false,"EnableCustomerManualPayment":false,"BookBeforeHours":0,"BookBeforeMinutes":0,"Duration":0,"MinDuration":0,"MaxDuration":0,"DurationInterval":0,"ShouldPayReservationCost":false,"ShouldPayFullCost":false,"TotalSpots":0,"LockSpotsToBooking":false,"PriceViewTypeId":0,"GroupBooking":{"Active":false,"Min":0,"Max":0},"MultipleResource":{"Active":false,"Min":0,"Max":0},"SortOrder":0,"OnlyVisibleByAdmin":false,"IsPaymentEnabled":false,"MaxPaymentTime":0,"ResourceTypes":[{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":0,"SelectableByUser":false}],"Schedules":{"RecurringSchedules":[{"Id":0}],"DateSchedules":[{"Id":0}]},"CustomFields":[{"Id":0,"Value":"String"}]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Id":0,"Name":"String","Description":"String","TotalSpots":0,"LockSpotsToBooking":false,"MinNumberOfSpotsPerBooking":0,"MaxNumberOfSpotsPerBooking":0,"MinNumberOfResourcesToBook":0,"MaxNumberOfResourcesToBook":0,"UnbookBeforeDays":0,"UnbookBeforeHours":0,"UnbookBeforeMinutes":0,"ScheduleType":"NotDefined","ScheduleTypeId":0,"BookBeforeDays":0,"BookBeforeHours":0,"BookBeforeMinutes":0,"Group":"String","EnableBookingQueue":false,"EnableCodeLockSync":false,"EnableCustomerManualPayment":false,"SortOrder":0,"Active":false,"IsGroupBooking":false,"GroupBooking":{"Active":false,"Min":0,"Max":0},"MultipleResource":{"Active":false,"Min":0,"Max":0},"IsPaymentEnabled":false,"MaxPaymentTime":0,"BookingStatusId":0,"OnlyVisibleByAdmin":false,"LengthInMinutes":0,"DurationTypeId":0,"Duration":0,"MinDuration":0,"MaxDuration":0,"DurationInterval":0,"PauseAfterBooking":0,"CustomFields":[{"Id":0,"Name":"String","Description":"String","Width":0,"DataType":"String","DefaultValue":"String","IsMandatory":false,"MandatoryErrorMessage":"String","MaxLength":0,"MultipleLineText":false,"RegEx":"String","RegExErrorMessage":"String","Values":[{"Value":"String"}]}],"CustomFieldValues":[{"Id":0,"Column":"String","Name":"String","Description":"String","Value":"String","DataType":"String"}],"BookingCustomFields":[{"Id":0,"Name":"String","Description":"String","Width":0,"DataType":"String","DefaultValue":"String","IsMandatory":false,"MandatoryErrorMessage":"String","MaxLength":0,"MultipleLineText":false,"RegEx":"String","RegExErrorMessage":"String","Values":[{"Value":"String"}]}],"CustomerCustomFields":[{"Id":0,"Name":"String","Description":"String","Width":0,"DataType":"String","DefaultValue":"String","IsMandatory":false,"MandatoryErrorMessage":"String","MaxLength":0,"MultipleLineText":false,"RegEx":"String","RegExErrorMessage":"String","Values":[{"Value":"String"}]}],"BookingStatusOptions":[{"Id":0,"Name":"String","Description":"String"}],"Prices":[{"Id":0,"ServiceId":0,"Price":0,"CalculationTypeId":0,"CurrencyId":"String","PriceSign":"String","VAT":0,"Category":"String","PriceText":"String","DaysOfWeek":[{"DayOfWeekId":0,"DotNetDayOfWeekId":0,"DayOfWeek":"String"}],"FromTime":"00:00:00","ToTime":"00:00:00","Service":{"Id":0,"Name":"String","Description":"String","LengthInMinutes":0,"MaxNumberOfSpotsPerBooking":0,"MinNumberOfSpotsPerBooking":0,"GroupBooking":{"Active":false,"Min":0,"Max":0},"MultipleResource":{"Active":false,"Min":0,"Max":0},"IsGroupBooking":false,"IsPaymentEnabled":false},"IsTimeSpecific":false,"IsDaysOfWeekSpecific":false}],"Schedules":{"ScheduleType":"NotDefined","RecurringSchedules":[{}],"DateSchedules":[{}]},"RatingSummary":{"AverageScore":0,"RatingScore1Count":0,"RatingScore2Count":0,"RatingScore3Count":0,"RaingScore4Count":0,"RatingScore5Count":0,"Count":0},"Reviews":[{"Title":"String","Description":"String","RatingScore":0,"Author":"String","ReviewAnswer":"String"}],"ResourceTypes":[{"Id":0,"SelectableByUser":false,"Name":"String","Description":"String","Resources":[{"Id":0,"Name":"String","Description":"String","Email":"String","Phone":"String","Color":"String","Priority":0,"EmailNotification":false,"SMSNotification":false,"EmailReminder":false,"SMSReminder":false}]}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"PriceViewTypeId":0}