BokaMera.API.Host

<back to all web services

SuperAdminCompanyQuery

Requires Authentication
Requires the role:superadmin
The following routes are available for this service:
GET/superadmin/companiesGet super admin companies
namespace BokaMera.API.ServiceModel.Db

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type CodeLockSystemType =
        | Sample = 0
        | RcoM5 = 1
        | AxemaVaka = 2
        | VanderbiltOmnis = 3
        | ParakeyParakey = 4
        | AmidoDax = 5
        | TelkeyTelkey = 6
        | TechSolutionsSiedle = 7
        | Accessy = 8
        | Zesec = 9
        | Enabla = 10

    [<AllowNullLiteral>]
    type CompanyBookingSettings() = 
        member val EnableMobileApp:Boolean = new Boolean() with get,set
        member val BookingReceiptMessage:String = null with get,set
        member val ShowFreeTimesLeft:Boolean = new Boolean() with get,set
        member val EnableShowBookedTimes:Boolean = new Boolean() with get,set
        member val BookingAgreement:String = null with get,set
        ///<summary>
        ///The settings for how to display week number. 1 = ShowWeekNumberFromDate, 2 = ShowWeekNumberToDate, 3 = ShowWeekNumberFromToDate, 4 = DontShowWeekNumber  
        ///</summary>
        [<ApiMember(DataType="int", Description="The settings for how to display week number. 1 = ShowWeekNumberFromDate, 2 = ShowWeekNumberToDate, 3 = ShowWeekNumberFromToDate, 4 = DontShowWeekNumber  ")>]
        member val WeekNumberSetting:Int32 = new Int32() with get,set

        member val ShowBookedTimes:Boolean = new Boolean() with get,set
        ///<summary>
        ///The payment provider id. 1 = Payson Checkout 1.0, 2= Payson Checkout 2.0 ... To get the full payment provider for the company call GET /payment/settings
        ///</summary>
        [<ApiMember(Description="The payment provider id. 1 = Payson Checkout 1.0, 2= Payson Checkout 2.0 ... To get the full payment provider for the company call GET /payment/settings")>]
        member val PaymentProviderId:Int32 = new Int32() with get,set

        ///<summary>
        ///If it's only allowed for existing customers to book
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book")>]
        member val BookOnlyOnExistingCustomers:Boolean = new Boolean() with get,set

        ///<summary>
        ///If payment is enabled
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If payment is enabled")>]
        member val PaymentEnabled:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CompanySystemSettings() = 
        ///<summary>
        ///If the booking is active or not
        ///</summary>
        [<ApiMember(DataType="bool", Description="If the booking is active or not")>]
        member val Active:Boolean = new Boolean() with get,set

        ///<summary>
        ///If the booking is not active, what message to show to the customers
        ///</summary>
        [<ApiMember(DataType="string", Description="If the booking is not active, what message to show to the customers")>]
        member val InactiveMessage:String = null with get,set

        ///<summary>
        ///If the company should be visible in search results on hompage
        ///</summary>
        [<ApiMember(DataType="bool", Description="If the company should be visible in search results on hompage")>]
        member val Searchable:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you have a google analytics account and want to track your customers behaviors.
        ///</summary>
        [<ApiMember(DataType="string", Description="If you have a google analytics account and want to track your customers behaviors.")>]
        member val GATrackingId:String = null with get,set

        ///<summary>
        ///If you have a google Ads Conversion Id account and want to track your customers behaviors.
        ///</summary>
        [<ApiMember(DataType="string", Description="If you have a google Ads Conversion Id account and want to track your customers behaviors.")>]
        member val GoogleAdsConversionId:String = null with get,set

        ///<summary>
        ///If you have a LinkedIn account and want to track your customers behaviors.
        ///</summary>
        [<ApiMember(DataType="string", Description="If you have a LinkedIn account and want to track your customers behaviors.")>]
        member val LinkedinTagId:String = null with get,set

        ///<summary>
        ///If you have a Google Ads Conversion Label and want to track your customers behaviors.
        ///</summary>
        [<ApiMember(DataType="string", Description="If you have a Google Ads Conversion Label and want to track your customers behaviors.")>]
        member val GoogleAdsConversionLabel:String = null with get,set

        ///<summary>
        ///If you have a google tag manager account and want to track your customers behaviors.
        ///</summary>
        [<ApiMember(DataType="string", Description="If you have a google tag manager account and want to track your customers behaviors.")>]
        member val GTMTrackingId:String = null with get,set

        ///<summary>
        ///If you have a facebook account and want to track your customers behaviors.
        ///</summary>
        [<ApiMember(DataType="string", Description="If you have a facebook account and want to track your customers behaviors.")>]
        member val FacebookPixelId:String = null with get,set

        ///<summary>
        ///If you want your customers to be albe to change language on your homepage
        ///</summary>
        [<ApiMember(DataType="bool", Description="If you want your customers to be albe to change language on your homepage")>]
        member val MultiLanguage:Boolean = new Boolean() with get,set

        ///<summary>
        ///If the company should be visible on the marketplace
        ///</summary>
        [<ApiMember(DataType="bool", Description="If the company should be visible on the marketplace")>]
        member val ShowOnMarketplace:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want your own written text on your homepage to be translated using google analytics when a user changes language
        ///</summary>
        [<ApiMember(DataType="bool", Description="If you want your own written text on your homepage to be translated using google analytics when a user changes language")>]
        member val EnableAPITranslation:Boolean = new Boolean() with get,set

        ///<summary>
        ///What is the standard language your homepage information is written in. Select from the different countries, ie. SE,NO,EN
        ///</summary>
        [<ApiMember(DataType="string", Description="What is the standard language your homepage information is written in. Select from the different countries, ie. SE,NO,EN")>]
        member val DefaultLanguage:String = null with get,set

        ///<summary>
        ///If you want to allow to send customer information in the tracking events to the external providers. Note you as a company are responsible for informing your customers and handling the data in terms of GDPR. 
        ///</summary>
        [<ApiMember(Description="If you want to allow to send customer information in the tracking events to the external providers. Note you as a company are responsible for informing your customers and handling the data in terms of GDPR. ")>]
        member val SendCustomerInformationToExternalProviders:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CompanyWidgetSettings() = 
        ///<summary>
        ///The service layouts id.
        ///</summary>
        [<ApiMember(Description="The service layouts id.")>]
        member val ServiceLayoutId:Int32 = new Int32() with get,set

        ///<summary>
        ///The time layouts id.
        ///</summary>
        [<ApiMember(Description="The time layouts id.")>]
        member val TimeLayoutId:Int32 = new Int32() with get,set

        ///<summary>
        ///The booking layouts id.
        ///</summary>
        [<ApiMember(Description="The booking layouts id.")>]
        member val BookingLayoutId:Int32 = new Int32() with get,set

        ///<summary>
        ///The primary color of the booking widget.
        ///</summary>
        [<ApiMember(Description="The primary color of the booking widget.")>]
        member val PrimaryColor:String = null with get,set

        ///<summary>
        ///If you should show the service image in the booking widget.
        ///</summary>
        [<ApiMember(Description="If you should show the service image in the booking widget.")>]
        member val ShowServiceImage:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you should show the rebate code field in the booking widget.
        ///</summary>
        [<ApiMember(Description="If you should show the rebate code field in the booking widget.")>]
        member val ShowRebateCodeField:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you should show the next available time in the booking widget.
        ///</summary>
        [<ApiMember(Description="If you should show the next available time in the booking widget.")>]
        member val ShowNextAvailableTime:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you should show the end time in the booking widget.
        ///</summary>
        [<ApiMember(Description="If you should show the end time in the booking widget.")>]
        member val ShowEndTime:Boolean = new Boolean() with get,set

        ///<summary>
        ///What text to show on booked time slots. Default text is Booked
        ///</summary>
        [<ApiMember(Description="What text to show on booked time slots. Default text is Booked")>]
        member val BookedTimeSlotText:String = null with get,set

        ///<summary>
        ///If the widget should be displayed in dark theme
        ///</summary>
        [<ApiMember(Description="If the widget should be displayed in dark theme")>]
        member val DarkTheme:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you should show the subscribe to newsletter checkbox in the booking widget.
        ///</summary>
        [<ApiMember(Description="If you should show the subscribe to newsletter checkbox in the booking widget.")>]
        member val ShowSubscribeToNewsletter:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type HomepageSettingsResponse() = 
        ///<summary>
        ///The text for homepage heading
        ///</summary>
        [<ApiMember(Description="The text for homepage heading")>]
        member val HomepageHeading:String = null with get,set

        ///<summary>
        ///The text for homepage startpage heading
        ///</summary>
        [<ApiMember(Description="The text for homepage startpage heading")>]
        member val WelcomePageHeading:String = null with get,set

        ///<summary>
        ///The text for homepage startpage body
        ///</summary>
        [<ApiMember(Description="The text for homepage startpage body")>]
        member val WelcomePageBody:String = null with get,set

        ///<summary>
        ///The text for homepage about us page heading
        ///</summary>
        [<ApiMember(Description="The text for homepage about us page heading")>]
        member val AboutUsPageHeading:String = null with get,set

        ///<summary>
        ///The text for homepage about us page body
        ///</summary>
        [<ApiMember(Description="The text for homepage about us page body")>]
        member val AboutUsPageBody:String = null with get,set

        ///<summary>
        ///The startpage image url
        ///</summary>
        [<ApiMember(Description="The startpage image url")>]
        member val ImageUrl:Uri = null with get,set

        ///<summary>
        ///The cover image url
        ///</summary>
        [<ApiMember(Description="The cover image url")>]
        member val CoverImage:Uri = null with get,set

        ///<summary>
        ///Show rating on the page
        ///</summary>
        [<ApiMember(Description="Show rating on the page")>]
        member val ShowRating:Boolean = new Boolean() with get,set

        ///<summary>
        ///The template for the homepage
        ///</summary>
        [<ApiMember(Description="The template for the homepage")>]
        member val HomePageTemplateId:Int32 = new Int32() with get,set

        ///<summary>
        ///The hero section style for the homepage
        ///</summary>
        [<ApiMember(Description="The hero section style for the homepage")>]
        member val HeroSectionStyleId:Int32 = new Int32() with get,set

        ///<summary>
        ///Enable the BokaMera Homepage
        ///</summary>
        [<ApiMember(Description="Enable the BokaMera Homepage")>]
        member val EnableHomepage:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CompanyRatingSummary() = 
        ///<summary>
        ///The average rating score
        ///</summary>
        [<ApiMember(Description="The average rating score")>]
        member val AverageScore:Double = new Double() with get,set

        ///<summary>
        ///The number of ratings of score 1
        ///</summary>
        [<ApiMember(Description="The number of ratings of score 1")>]
        member val RatingScore1Count:Int32 = new Int32() with get,set

        ///<summary>
        ///The number of ratings of score 2
        ///</summary>
        [<ApiMember(Description="The number of ratings of score 2")>]
        member val RatingScore2Count:Int32 = new Int32() with get,set

        ///<summary>
        ///The number of ratings of score 3
        ///</summary>
        [<ApiMember(Description="The number of ratings of score 3")>]
        member val RatingScore3Count:Int32 = new Int32() with get,set

        ///<summary>
        ///The number of ratings of score 4
        ///</summary>
        [<ApiMember(Description="The number of ratings of score 4")>]
        member val RaingScore4Count:Int32 = new Int32() with get,set

        ///<summary>
        ///The number of ratings of score 5
        ///</summary>
        [<ApiMember(Description="The number of ratings of score 5")>]
        member val RatingScore5Count:Int32 = new Int32() with get,set

        ///<summary>
        ///The number of ratings
        ///</summary>
        [<ApiMember(Description="The number of ratings")>]
        member val Count:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type RatingReviewResponse() = 
        ///<summary>
        ///The title for the review
        ///</summary>
        [<ApiMember(Description="The title for the review")>]
        member val Title:String = null with get,set

        ///<summary>
        ///The description for the review
        ///</summary>
        [<ApiMember(Description="The description for the review")>]
        member val Description:String = null with get,set

        ///<summary>
        ///The rating score
        ///</summary>
        [<ApiMember(Description="The rating score")>]
        member val RatingScore:Int32 = new Int32() with get,set

        ///<summary>
        ///The review author
        ///</summary>
        [<ApiMember(Description="The review author")>]
        member val Author:String = null with get,set

        ///<summary>
        ///The created date
        ///</summary>
        [<ApiMember(Description="The created date")>]
        member val Created:DateTime = new DateTime() with get,set

        ///<summary>
        ///The review answer from the company
        ///</summary>
        [<ApiMember(Description="The review answer from the company")>]
        member val ReviewAnswer:String = null with get,set

    [<AllowNullLiteral>]
    type CustomFieldValueResponse() = 
        member val Value:String = null with get,set

    [<AllowNullLiteral>]
    type CustomFieldConfigData() = 
        ///<summary>
        ///Custom field id
        ///</summary>
        [<ApiMember(Description="Custom field id")>]
        member val Id:Int32 = new Int32() with get,set

        ///<summary>
        ///Configuration name. Example: 'Number of persons'.
        ///</summary>
        [<ApiMember(Description="Configuration name. Example: 'Number of persons'.")>]
        member val Name:String = null with get,set

        ///<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?'")>]
        member val Description:String = null with get,set

        ///<summary>
        ///Field width. Example: 20 for 20px
        ///</summary>
        [<ApiMember(Description="Field width. Example: 20 for 20px")>]
        member val Width:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<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'")>]
        member val DataType:String = null with get,set

        ///<summary>
        ///Default value of the field. Example: '3'
        ///</summary>
        [<ApiMember(Description="Default value of the field. Example: '3'")>]
        member val DefaultValue:String = null with get,set

        ///<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")>]
        member val IsMandatory:Boolean = new Boolean() with get,set

        ///<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")>]
        member val MandatoryErrorMessage:String = null with get,set

        ///<summary>
        ///Max lenght of the field
        ///</summary>
        [<ApiMember(Description="Max lenght of the field")>]
        member val MaxLength:Int32 = new Int32() with get,set

        ///<summary>
        ///If the field should have multiple lines
        ///</summary>
        [<ApiMember(Description="If the field should have multiple lines")>]
        member val MultipleLineText:Boolean = new Boolean() with get,set

        ///<summary>
        ///Regular expression used for validation of the field
        ///</summary>
        [<ApiMember(Description="Regular expression used for validation of the field")>]
        member val RegEx:String = null with get,set

        ///<summary>
        ///Error message shown if the regular expression validation failed
        ///</summary>
        [<ApiMember(Description="Error message shown if the regular expression validation failed")>]
        member val RegExErrorMessage:String = null with get,set

        ///<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")>]
        member val Values:ResizeArray<CustomFieldValueResponse> = new ResizeArray<CustomFieldValueResponse>() with get,set

    [<AllowNullLiteral>]
    type CompanyQueryResponse() = 
        member val Id:Guid = new Guid() with get,set
        member val Name:String = null with get,set
        ///<summary>
        ///The organisation number will only be visible if your owner to the company
        ///</summary>
        [<ApiMember(DataType="string", Description="The organisation number will only be visible if your owner to the company")>]
        member val OrganisationNumber:String = null with get,set

        ///<summary>
        ///What type of company. If it's used for personal use or as a company.
        ///</summary>
        [<ApiMember(DataType="int", Description="What type of company. If it's used for personal use or as a company.")>]
        member val TypeId:Nullable<Int32> = new Nullable<Int32>() with get,set

        member val Details:String = null with get,set
        member val CategoryId:Int32 = new Int32() with get,set
        member val Category:String = null with get,set
        member val LogoType:Uri = null with get,set
        member val CoverImage:Uri = null with get,set
        member val Street1:String = null with get,set
        member val Street2:String = null with get,set
        member val ZipCode:String = null with get,set
        member val City:String = null with get,set
        member val CountryId:String = null with get,set
        member val Longitude:String = null with get,set
        member val Latitude:String = null with get,set
        member val Distance:Nullable<Double> = new Nullable<Double>() with get,set
        member val Phone:String = null with get,set
        member val Email:String = null with get,set
        member val Homepage:String = null with get,set
        member val SitePath:String = null with get,set
        member val Active:Boolean = new Boolean() with get,set
        member val CodeLockSystem:Nullable<CodeLockSystemType> = new Nullable<CodeLockSystemType>() with get,set
        member val IsFreeAccount:Boolean = new Boolean() with get,set
        ///<summary>
        ///Will show when the company was updated, note it will only be shown if your logged in as admin for the company.
        ///</summary>
        [<ApiMember(DataType="datetime", Description="Will show when the company was updated, note it will only be shown if your logged in as admin for the company.")>]
        member val Updated:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///Will show when the company was created, note it will only be shown if your logged in as admin for the company.
        ///</summary>
        [<ApiMember(DataType="datetime", Description="Will show when the company was created, note it will only be shown if your logged in as admin for the company.")>]
        member val Created:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        member val StatusId:Int32 = new Int32() with get,set
        ///<summary>
        ///If the company is marked as favourite for the logged in user
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If the company is marked as favourite for the logged in user")>]
        member val IsFavorite:Boolean = new Boolean() with get,set

        member val BookingAgreements:String = null with get,set
        member val BookingSettings:CompanyBookingSettings = null with get,set
        member val SystemSettings:CompanySystemSettings = null with get,set
        member val WidgetSettings:CompanyWidgetSettings = null with get,set
        member val HomepageSettings:HomepageSettingsResponse = null with get,set
        member val RatingSummary:CompanyRatingSummary = null with get,set
        member val Reviews:ResizeArray<RatingReviewResponse> = new ResizeArray<RatingReviewResponse>() with get,set
        member val CustomerCustomFields:ResizeArray<CustomFieldConfigData> = new ResizeArray<CustomFieldConfigData>() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type BaseModel() = 
        class end

    type CompanyStatus =
        | Registered = 1
        | AwaitingApproval = 2
        | Approved = 3
        | Inactive = 4
        | ClosedDown = 5
        | NotApproved = 6

    [<AllowNullLiteral>]
    type CustomFieldValue() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val Value:String = null with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val SortOrder:Nullable<Int16> = new Nullable<Int16>() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type CustomField() = 
        inherit BaseModel()
        [<Required>]
        member val Table:String = null with get,set

        [<Required>]
        member val Column:String = null with get,set

        [<Required>]
        member val DataType:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type RegEx() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val RegExCode:String = null with get,set

        member val ErrorMessage:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    type ScheduleType =
        | NotDefined = 0
        | RecurringSchedule = 1
        | DateSchedule = 2

    [<AllowNullLiteral>]
    type ISchedule = 
        abstract Resources:IList<Resource> with get,set
        abstract Type:ScheduleType with get,set
        abstract Active:Boolean with get,set
        abstract IsResourceSpecific:Boolean with get,set

    [<AllowNullLiteral>]
    type ITimeException = 
        abstract Id:Int32 with get,set
        abstract ReasonText:String with get,set
        abstract IsBlock:Boolean with get,set
        abstract ReasonTextPublic:String with get,set
        abstract IsRecurring:Boolean with get,set
        abstract ResourceIds:Int32[] with get,set

    type BookingStatusEnum =
        | Booked = 1
        | Unbooked = 2
        | Reserved = 3
        | Canceled = 4
        | AwaitingPayment = 5
        | AwaitingPaymentNoTimeLimit = 6
        | Payed = 7
        | AwaitingPaymentRequestFromAdmin = 8
        | AwaitingPaymentFromProvider = 9
        | Invoiced = 10

    [<AllowNullLiteral>]
    type BookedCustomer() = 
        member val Id:Guid = new Guid() with get,set
        member val Firstname:String = null with get,set
        member val Lastname:String = null with get,set
        member val Email:String = null with get,set
        member val Phone:String = null with get,set
        member val FacebookUserName:String = null with get,set
        member val ImageUrl:String = null with get,set
        member val CorporateIdentityNumber:String = null with get,set
        member val InvoiceAddress1:String = null with get,set
        member val InvoiceAddress2:String = null with get,set
        member val InvoiceCity:String = null with get,set
        member val InvoicePostalCode:String = null with get,set
        member val InvoiceCountryCode:String = null with get,set

    [<AllowNullLiteral>]
    type IBookedTime = 
        abstract Id:Int32 with get,set
        abstract ServiceId:Int32 with get,set
        abstract BookedSpots:Int32 with get,set
        abstract TotalSpots:Int32 with get,set
        abstract PauseAfterInMinutes:Int32 with get,set
        abstract Status:BookingStatusEnum with get,set
        abstract StatusId:Int32 with get,set
        abstract Customer:BookedCustomer with get,set

    [<AllowNullLiteral>]
    type CustomFieldDataResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val Column:String = null with get,set
        member val Name:String = null with get,set
        member val Description:String = null with get,set
        member val Value:String = null with get,set
        ///<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'")>]
        member val DataType:String = null with get,set

    [<AllowNullLiteral>]
    type Resource() = 
        inherit BaseModel()
        [<Ignore>]
        member val Priority:Int32 = new Int32() with get,set

        [<Ignore>]
        member val Schedules:IList<ISchedule> = null with get,set

        [<Ignore>]
        member val Exceptions:IList<ITimeException> = null with get,set

        [<Ignore>]
        member val Bookings:IList<IBookedTime> = null with get,set

        [<Ignore>]
        member val CustomFieldsConfig:IList<CustomFieldConfig> = null with get,set

        [<Ignore>]
        member val CustomFieldsData:IList<CustomFieldDataResponse> = null with get,set

        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val Description:String = null with get,set
        member val ImageUrl:String = null with get,set
        [<Required>]
        member val UpdatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val CreatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val Color:String = null with get,set

        member val Email:String = null with get,set
        member val MobilePhone:String = null with get,set
        member val EmailNotification:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val SMSNotification:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        [<Required>]
        member val SendSMSReminder:Boolean = new Boolean() with get,set

        [<Required>]
        member val SendEmailReminder:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val AccessGroup:String = null with get,set
        member val TextField1:String = null with get,set
        member val TextField2:String = null with get,set
        member val TextField3:String = null with get,set
        member val TextField4:String = null with get,set
        member val TextField5:String = null with get,set
        member val TextField6:String = null with get,set
        member val TextField7:String = null with get,set
        member val TextField8:String = null with get,set
        member val TextField9:String = null with get,set
        member val TextField10:String = null with get,set
        member val TextField11:String = null with get,set
        member val TextField12:String = null with get,set
        member val TextField13:String = null with get,set
        member val TextField14:String = null with get,set
        member val TextField15:String = null with get,set
        member val TextField16:String = null with get,set
        member val TextField17:String = null with get,set
        member val TextField18:String = null with get,set
        member val TextField19:String = null with get,set
        member val TextField20:String = null with get,set

    [<AllowNullLiteral>]
    type ResourceType() = 
        inherit BaseModel()
        [<Ignore>]
        member val SelectableByUser:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val Resources:ResizeArray<Resource> = new ResizeArray<Resource>() with get,set

        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val Name:String = null with get,set

        member val Description:String = null with get,set
        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        [<Required>]
        member val UpdatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val CreatedDate:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type RebateCodeType() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        member val Description:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type AppliedRebateCodes() = 
        member val RebateCodeId:Int32 = new Int32() with get,set
        member val RebateCodeSign:String = null with get,set
        member val RebateCodeValue:Int32 = new Int32() with get,set
        member val RebateAmount:Double = new Double() with get,set
        member val RebateCodeType:RebateCodeType = null with get,set

    [<AllowNullLiteral>]
    type TotalPriceInformation() = 
        member val TotalPrice:Double = new Double() with get,set
        member val TotalVATAmount:Double = new Double() with get,set
        member val TotalRebate:Double = new Double() with get,set
        member val TotalPriceBeforeRebate:Double = new Double() with get,set
        member val AppliedCodes:ResizeArray<AppliedRebateCodes> = new ResizeArray<AppliedRebateCodes>() with get,set
        member val PriceSign:String = null with get,set
        member val CurrencyId:String = null with get,set
        member val VAT:Decimal = new Decimal() with get,set

    type Currency =
        | SEK = 1
        | EUR = 2

    [<AllowNullLiteral>]
    type PriceMapping() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val Id:Guid = new Guid() with get,set

        [<Required>]
        member val PriceId:Int32 = new Int32() with get,set

        member val ReferenceType:String = null with get,set
        member val ExternalReference:String = null with get,set
        [<Required>]
        member val UpdatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val CreatedDate:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    type BokaMeraDayOfWeek =
        | Monday = 1
        | Tuesday = 2
        | Wednesday = 3
        | Thursday = 4
        | Friday = 5
        | Saturday = 6
        | Sunday = 7

    [<AllowNullLiteral>]
    type ServicePriceDayOfWeekRelation() = 
        inherit BaseModel()
        [<Ignore>]
        member val DayOfWeek:BokaMeraDayOfWeek = new BokaMeraDayOfWeek() with get,set

        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val ServicePriceId:Int32 = new Int32() with get,set

        [<Required>]
        member val DayOfWeekId:Int32 = new Int32() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type IDbConnectionFactory = 
        interface end

    [<AllowNullLiteral>]
    type ServerData() = 
        member val HTTP_HOST:String = null with get,set
        member val HTTP_CONNECTION:String = null with get,set
        member val HTTP_CACHE_CONTROL:String = null with get,set
        member val HTTP_ACCEPT:String = null with get,set
        member val HTTP_USER_AGENT:String = null with get,set
        member val HTTP_ACCEPT_ENCODING:String = null with get,set
        member val HTTP_ACCEPT_LANGUAGE:String = null with get,set
        member val PATH:String = null with get,set
        member val SERVER_SOFTWARE:String = null with get,set
        member val SERVER_NAME:String = null with get,set
        member val SERVER_ADDR:String = null with get,set
        member val SERVER_PORT:String = null with get,set
        member val REMOTE_ADDR:String = null with get,set
        member val REMOTE_PORT:String = null with get,set
        member val GATEWAY_INTERFACE:String = null with get,set
        member val SERVER_PROTOCOL:String = null with get,set
        member val REQUEST_METHOD:String = null with get,set
        member val QUERY_STRING:String = null with get,set
        member val REQUEST_TIME:String = null with get,set

    [<AllowNullLiteral>]
    type Credentials() = 
        member val hash:String = null with get,set
        member val id:String = null with get,set
        member val version:String = null with get,set
        member val client:String = null with get,set
        member val serverdata:ServerData = null with get,set
        member val time:String = null with get,set
        member val test:String = null with get,set
        member val language:String = null with get,set

    [<AllowNullLiteral>]
    type CheckoutData() = 
        member val terms:Uri = null with get,set
        member val privacyPolicy:Uri = null with get,set
        member val redirectOnSuccess:String = null with get,set

    [<AllowNullLiteral>]
    type CheckoutPaymentData() = 
        member val currency:String = null with get,set
        member val language:String = null with get,set
        member val country:String = null with get,set
        member val autoactivate:String = null with get,set
        member val orderid:String = null with get,set
        member val returnmethod:String = null with get,set
        member val accepturl:Uri = null with get,set
        member val cancelurl:Uri = null with get,set
        member val callbackurl:Uri = null with get,set

    [<AllowNullLiteral>]
    type PaymentInfo() = 
        member val paymentdate:String = null with get,set
        member val paymentterms:String = null with get,set
        member val yourreference:String = null with get,set
        member val ourreference:String = null with get,set
        member val projectname:String = null with get,set
        member val deliverymethod:String = null with get,set
        member val deliveryterms:String = null with get,set

    [<AllowNullLiteral>]
    type CartHandling() = 
        member val withouttax:String = null with get,set
        member val taxrate:String = null with get,set

    [<AllowNullLiteral>]
    type CartTotal() = 
        member val rounding:String = null with get,set
        member val withouttax:String = null with get,set
        member val tax:String = null with get,set
        member val withtax:String = null with get,set

    [<AllowNullLiteral>]
    type Shipping() = 
        member val firstname:String = null with get,set
        member val lastname:String = null with get,set
        member val company:String = null with get,set
        member val street:String = null with get,set
        member val street2:String = null with get,set
        member val zip:String = null with get,set
        member val city:String = null with get,set
        member val country:String = null with get,set
        member val phone:String = null with get,set
        member val withouttax:String = null with get,set
        member val taxrate:String = null with get,set

    [<AllowNullLiteral>]
    type Cart() = 
        member val Handling:CartHandling = null with get,set
        member val Total:CartTotal = null with get,set
        member val Shipping:Shipping = null with get,set

    [<AllowNullLiteral>]
    type CustomerBilling() = 
        member val firstname:String = null with get,set
        member val lastname:String = null with get,set
        member val company:String = null with get,set
        member val street:String = null with get,set
        member val street2:String = null with get,set
        member val zip:String = null with get,set
        member val city:String = null with get,set
        member val country:String = null with get,set
        member val phone:String = null with get,set
        member val email:String = null with get,set

    [<AllowNullLiteral>]
    type QvicklyCustomer() = 
        member val nr:String = null with get,set
        member val pno:String = null with get,set
        member val Billing:CustomerBilling = null with get,set

    [<AllowNullLiteral>]
    type InitCheckoutData() = 
        member val CheckoutData:CheckoutData = null with get,set
        member val PaymentData:CheckoutPaymentData = null with get,set
        member val PaymentInfo:PaymentInfo = null with get,set
        member val Articles:QvicklyArticle[] = [||] with get,set
        member val Cart:Cart = null with get,set
        member val QvicklyCustomer:QvicklyCustomer = null with get,set

    [<AllowNullLiteral>]
    type InitCheckoutRequestBody() = 
        member val credentials:Credentials = null with get,set
        member val data:InitCheckoutData = null with get,set
        member val function:String = null with get,set

    [<AllowNullLiteral>]
    type QvicklyCheckoutResponse() = 
        member val Number:Int32 = new Int32() with get,set
        member val Status:String = null with get,set
        member val OrderId:String = null with get,set
        member val Url:String = null with get,set

    [<AllowNullLiteral>]
    type QvikclyPaymentData() = 
        member val method:String = null with get,set
        member val paymentplanid:String = null with get,set
        member val currency:String = null with get,set
        member val country:String = null with get,set
        member val language:String = null with get,set
        member val autoactivate:String = null with get,set
        member val orderid:String = null with get,set
        member val status:String = null with get,set
        member val paymentid_related:String = null with get,set
        member val url:String = null with get,set

    [<AllowNullLiteral>]
    type Card() = 
        member val promptname:String = null with get,set
        member val recurring:String = null with get,set
        member val recurringnr:String = null with get,set
        member val accepturl:String = null with get,set
        member val cancelurl:String = null with get,set
        member val callbackurl:String = null with get,set
        member val returnmethod:String = null with get,set

    [<AllowNullLiteral>]
    type Settlement() = 
        member val number:String = null with get,set
        member val date:String = null with get,set

    [<AllowNullLiteral>]
    type QvicklyPaymentResponse() = 
        member val PaymentData:QvikclyPaymentData = null with get,set
        member val PaymentInfo:PaymentInfo = null with get,set
        member val Card:Card = null with get,set
        member val Settlement:Settlement = null with get,set
        member val QvicklyCustomer:QvicklyCustomer = null with get,set
        member val Articles:QvicklyArticle[] = [||] with get,set
        member val Cart:Cart = null with get,set

    type Payson2CheckoutStatus =
        | None = 0
        | Created = 1
        | FormsFilled = 2
        | ReadyToPay = 3
        | ProcessingPayment = 4
        | ReadyToShip = 5
        | Shipped = 6
        | PaidToAccount = 7
        | Canceled = 8
        | Credited = 9
        | Expired = 10
        | Denied = 11

    type CustomerType =
        | Person = 0
        | Business = 1

    [<AllowNullLiteral>]
    type UserAccessKeys() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val AccessKeyTypeId:Int32 = new Int32() with get,set

        [<Required>]
        member val Value:String = null with get,set

        [<Required>]
        member val CustomerId:Guid = new Guid() with get,set

        member val Description:String = null with get,set
        [<Required>]
        member val Id:Guid = new Guid() with get,set

    [<AllowNullLiteral>]
    type ExternalReference() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val Id:Guid = new Guid() with get,set

        [<Required>]
        member val OwnerId:Guid = new Guid() with get,set

        [<Required>]
        member val ReferenceType:String = null with get,set

        member val ExternalData:String = null with get,set
        member val CreatedBy:String = null with get,set
        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type CustomerComment() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val CustomerId:Guid = new Guid() with get,set

        [<Required>]
        member val Comments:String = null with get,set

        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        member val ImageUrl:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type Customer() = 
        inherit BaseModel()
        member val IdentityId:Int32 = new Int32() with get,set
        member val Id:Guid = new Guid() with get,set
        [<Ignore>]
        member val CustomerId:Guid = new Guid() with get,set

        [<Ignore>]
        member val AccessKeys:IList<UserAccessKeys> = null with get,set

        member val Email:String = null with get,set
        [<Ignore>]
        member val ExternalReferences:IList<ExternalReference> = null with get,set

        [<Ignore>]
        member val Company:Company = null with get,set

        [<Ignore>]
        member val CustomFieldsConfig:IList<CustomFieldConfig> = null with get,set

        [<Ignore>]
        member val CustomFieldsData:IList<CustomFieldDataResponse> = null with get,set

        [<Ignore>]
        member val Comments:IList<CustomerComment> = null with get,set

        [<Ignore>]
        member val RebateCodes:IList<RebateCode> = null with get,set

        member val Firstname:String = null with get,set
        [<Ignore>]
        member val ImageUrl:String = null with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val FacebookUsername:String = null with get,set
        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        member val IpAddress:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val TextField1:String = null with get,set
        member val TextField2:String = null with get,set
        member val TextField3:String = null with get,set
        member val TextField4:String = null with get,set
        member val TextField5:String = null with get,set
        member val TextField6:String = null with get,set
        member val TextField7:String = null with get,set
        member val TextField8:String = null with get,set
        member val TextField9:String = null with get,set
        member val TextField10:String = null with get,set
        member val TextField11:String = null with get,set
        member val TextField12:String = null with get,set
        member val TextField13:String = null with get,set
        member val TextField14:String = null with get,set
        member val TextField15:String = null with get,set
        member val TextField16:String = null with get,set
        member val TextField17:String = null with get,set
        member val TextField18:String = null with get,set
        member val TextField19:String = null with get,set
        member val TextField20:String = null with get,set
        member val UserId:Guid = new Guid() with get,set
        member val Lastname:String = null with get,set
        member val Phone:String = null with get,set
        member val CorporateIdentityNumber:String = null with get,set
        member val InvoiceAddress1:String = null with get,set
        member val InvoiceAddress2:String = null with get,set
        member val InvoiceCity:String = null with get,set
        member val InvoicePostalCode:String = null with get,set
        member val InvoiceCountryCode:String = null with get,set
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val SubscribedToNewsletter:Boolean = new Boolean() with get,set

    type ItemType =
        | Physical = 0
        | Service = 1
        | Fee = 2
        | Discount = 3

    [<AllowNullLiteral>]
    type Item() = 
        member val ItemId:Guid = new Guid() with get,set
        member val DiscountRate:Decimal = new Decimal() with get,set
        member val Ean:String = null with get,set
        member val ImageUri:Uri = null with get,set
        member val Name:String = null with get,set
        member val Quantity:Decimal = new Decimal() with get,set
        member val Reference:String = null with get,set
        member val TaxRate:Decimal = new Decimal() with get,set
        member val TotalPriceExcludingTax:Decimal = new Decimal() with get,set
        member val TotalPriceIncludingTax:Decimal = new Decimal() with get,set
        member val TotalTaxAmount:Decimal = new Decimal() with get,set
        member val CreditedAmount:Decimal = new Decimal() with get,set
        member val Type:ItemType = new ItemType() with get,set
        member val UnitPrice:Decimal = new Decimal() with get,set
        member val Uri:Uri = null with get,set

    [<AllowNullLiteral>]
    type Order() = 
        member val Currency:Currency = new Currency() with get,set
        member val TotalFeeExcludingTax:Decimal = new Decimal() with get,set
        member val TotalFeeIncludingTax:Decimal = new Decimal() with get,set
        member val TotalPriceExcludingTax:Decimal = new Decimal() with get,set
        member val TotalPriceIncludingTax:Decimal = new Decimal() with get,set
        member val TotalTaxAmount:Decimal = new Decimal() with get,set
        member val TotalCreditedAmount:Decimal = new Decimal() with get,set
        member val Items:IList<Item> = null with get,set

    [<AllowNullLiteral>]
    type Merchant() = 
        member val CheckoutUri:Uri = null with get,set
        member val ConfirmationUri:Uri = null with get,set
        member val NotificationUri:Uri = null with get,set
        member val ValidationUri:Uri = null with get,set
        member val TermsUri:Uri = null with get,set
        member val Reference:String = null with get,set
        member val PartnerId:String = null with get,set

    type ColorScheme =
        | White = 0
        | Blue = 1
        | Gray = 2
        | GrayTextLogos = 3
        | BlueTextLogos = 4
        | WhiteTextLogos = 5
        | WhiteNoFooter = 6
        | GrayNoFooter = 7
        | BlueNoFooter = 8

    [<AllowNullLiteral>]
    type Gui() = 
        member val ColorScheme:ColorScheme = new ColorScheme() with get,set
        member val Locale:String = null with get,set
        member val RequestPhone:Boolean = new Boolean() with get,set
        member val PhoneOptional:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type History() = 
        member val Created:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ReadyToPay:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ReadyToShip:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Shipped:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val PaidToAccount:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Canceled:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Expired:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Denied:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    [<AllowNullLiteral>]
    type Payson2CheckoutResponse() = 
        member val Id:Guid = new Guid() with get,set
        member val ExpirationTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Snippet:String = null with get,set
        member val Status:Payson2CheckoutStatus = new Payson2CheckoutStatus() with get,set
        member val Customer:Customer = null with get,set
        member val Order:Order = null with get,set
        member val Merchant:Merchant = null with get,set
        member val Gui:Gui = null with get,set
        member val History:History = null with get,set
        member val PurchaseId:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type IPaysonPaymentCheckout1 = 
        interface end

    [<AllowNullLiteral>]
    type PaymentLog() = 
        inherit BaseModel()
        [<References(typeof<Currency>)>]
        member val CurrencyId:String = null with get,set

        member val CurrencyInfo:Currency = null with get,set
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val InternalReferenceId:String = null with get,set

        [<Required>]
        member val ArticleTypeId:Int32 = new Int32() with get,set

        member val PaymentReferenceId:String = null with get,set
        member val PaymentProviderId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val OrderItemReferenceId:String = null with get,set
        member val Amount:Nullable<Double> = new Nullable<Double>() with get,set
        member val VAT:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val AmountCredited:Nullable<Double> = new Nullable<Double>() with get,set
        member val Comments:String = null with get,set
        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type PayableEntity() = 
        inherit BaseModel()
        [<Ignore>]
        member val DbFactory:IDbConnectionFactory = null with get,set

        [<Ignore>]
        member val QvicklyPaymentManager:IBokameraPaymentManager<InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse> = null with get,set

        [<Ignore>]
        member val Payson2PaymentManager:IBokameraPaymentManager<Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse> = null with get,set

        [<Ignore>]
        member val PaysonPaymentCheckout1:IPaysonPaymentCheckout1 = null with get,set

        [<Ignore>]
        member val Logger:ILogger<PayableEntity> = null with get,set

        [<Ignore>]
        member val InternalReferenceId:String = null with get,set

        [<Ignore>]
        member val PaymentLog:ResizeArray<PaymentLog> = new ResizeArray<PaymentLog>() with get,set

        member val CompanyId:Guid = new Guid() with get,set
        member val PriceVat:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        [<References(typeof<Currency>)>]
        member val CurrencyId:String = null with get,set

        [<Ignore>]
        member val Customer:Customer = null with get,set

        [<Ignore>]
        member val Customers:ResizeArray<Customer> = new ResizeArray<Customer>() with get,set

        [<Ignore>]
        member val Company:Company = null with get,set

    [<AllowNullLiteral>]
    type RebateCodeStatus() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        member val Description:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type ArticleServiceRelation() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val ServiceId:Int32 = new Int32() with get,set

        [<Required>]
        member val ArticleId:Int32 = new Int32() with get,set

    type ArticleTypeEnum =
        | ServiceArticle = 1
        | StandAloneArticle = 2
        | RebateCodePunchTicketArticle = 3
        | RebateCodeGiftCardArticle = 4
        | RebateCodeValueCardArticle = 5

    [<AllowNullLiteral>]
    type Article() = 
        inherit BaseModel()
        member val Company:Company = null with get,set
        member val CurrencyInfo:Currency = null with get,set
        member val ArticleServiceRelations:ResizeArray<ArticleServiceRelation> = new ResizeArray<ArticleServiceRelation>() with get,set
        [<Ignore>]
        member val ServiceIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set

        [<Ignore>]
        member val ArticleType:ArticleTypeEnum = new ArticleTypeEnum() with get,set

        [<Ignore>]
        member val ArticleTypeName:String = null with get,set

        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val ArticleTypeId:Int32 = new Int32() with get,set

        member val Description:String = null with get,set
        member val ImageUrl:String = null with get,set
        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        [<Required>]
        member val Amount:Int32 = new Int32() with get,set

        [<Required>]
        member val Price:Double = new Double() with get,set

        [<Required>]
        [<StringLength(50)>]
        member val CurrencyId:String = null with get,set

        [<Required>]
        member val UpdatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val CreatedDate:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type RebateCodeDayOfWeekRelation() = 
        inherit BaseModel()
        [<Ignore>]
        member val DayOfWeek:BokaMeraDayOfWeek = new BokaMeraDayOfWeek() with get,set

        [<Required>]
        member val DayOfWeekId:Int32 = new Int32() with get,set

        [<Required>]
        member val RebateCodeId:Int32 = new Int32() with get,set

        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type RebateCodeServiceRelation() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val ServiceId:Int32 = new Int32() with get,set

        [<Required>]
        member val RebateCodeId:Int32 = new Int32() with get,set

        member val Id:Int32 = new Int32() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type RebateCodeBookingPriceRelation() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val PriceId:Int32 = new Int32() with get,set

        [<Required>]
        member val RebateCodeId:Int32 = new Int32() with get,set

        member val Id:Int32 = new Int32() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type RebateCodeCustomerRelation() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val CustomerId:Guid = new Guid() with get,set

        [<Required>]
        member val RebateCodeId:Int32 = new Int32() with get,set

        member val Id:Int32 = new Int32() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val RebateCodeEmailSentToCustomer:Boolean = new Boolean() with get,set
        member val MessageToReceiver:String = null with get,set
        member val Buyer:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type DaysOfWeek() = 
        inherit BaseModel()
        [<Required>]
        member val DayOfWeek:String = null with get,set

        [<Required>]
        member val DayOfWeekTranslation:String = null with get,set

        member val DayOfWeekActive:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val DayOfWeekSortOrder:Nullable<Int16> = new Nullable<Int16>() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CalendarExport() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val BookingId:Int32 = new Int32() with get,set

        [<Required>]
        member val ExceptionId:Int32 = new Int32() with get,set

        member val CalendarSync:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val CalendarId:String = null with get,set
        member val IsExceptionDeleted:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BookingLogEventType() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BookingLog() = 
        inherit BaseModel()
        [<References(typeof<BookingLogEventType>)>]
        member val EventTypeId:Int32 = new Int32() with get,set

        member val EventType:BookingLogEventType = null with get,set
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val BookingId:Int32 = new Int32() with get,set

        member val Id:Int32 = new Int32() with get,set
        member val Comments:String = null with get,set
        member val UserId:String = null with get,set
        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type PaymentDetails() = 
        inherit BaseModel()
        [<Ignore>]
        member val QvicklyCheckoutSerialized:QvicklyCheckoutResponse = null with get,set

        [<Ignore>]
        member val Payson2CheckoutSerialized:Payson2CheckoutResponse = null with get,set

        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val InternalReferenceId:String = null with get,set

        [<Required>]
        member val ArticleTypeId:Int32 = new Int32() with get,set

        [<Required>]
        member val ExternalResponseData:String = null with get,set

        [<Required>]
        member val ExternalResponseReference:String = null with get,set

        [<Required>]
        member val PaymentProviderId:Int32 = new Int32() with get,set

        [<Required>]
        member val CreatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val UpdatedDate:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type BookingPrice() = 
        inherit BaseModel()
        [<References(typeof<Currency>)>]
        member val CurrencyId:String = null with get,set

        member val PriceId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val CurrencyInfo:Currency = null with get,set
        [<Ignore>]
        member val PriceText:String = null with get,set

        [<Ignore>]
        member val AppliedCodes:ResizeArray<AppliedRebateCodes> = new ResizeArray<AppliedRebateCodes>() with get,set

        [<Ignore>]
        member val IsRebate:Boolean = new Boolean() with get,set

        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val BookingId:Int32 = new Int32() with get,set

        [<Required>]
        member val Quantity:Int32 = new Int32() with get,set

        member val Price:Nullable<Double> = new Nullable<Double>() with get,set
        member val VAT:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Category:String = null with get,set
        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        [<Required>]
        member val Invoiced:Boolean = new Boolean() with get,set

        [<Required>]
        member val OccupiesSpot:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BookingStatus() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Color:String = null with get,set

        [<Required>]
        member val Icon:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BookedResource() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Color:String = null with get,set
        member val ImageUrl:Uri = null with get,set
        member val Email:String = null with get,set
        member val MobilePhone:String = null with get,set
        member val AccessGroup:String = null with get,set
        member val EmailNotification:Boolean = new Boolean() with get,set
        member val SMSNotification:Boolean = new Boolean() with get,set
        member val EmailReminder:Boolean = new Boolean() with get,set
        member val SMSReminder:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type BookedResourceType() = 
        ///<summary>
        ///The resource type id
        ///</summary>
        [<ApiMember(Description="The resource type id")>]
        member val Id:Int32 = new Int32() with get,set

        ///<summary>
        ///The resource type name
        ///</summary>
        [<ApiMember(Description="The resource type name")>]
        member val Name:String = null with get,set

        ///<summary>
        ///The resources inside resource type
        ///</summary>
        [<ApiMember(Description="The resources inside resource type")>]
        member val Resources:ResizeArray<BookedResource> = new ResizeArray<BookedResource>() with get,set

    [<AllowNullLiteral>]
    type Booking() = 
        inherit PayableEntity()
        [<Ignore>]
        member val Service:Service = null with get,set

        [<Ignore>]
        member val CalendarExport:CalendarExport = null with get,set

        [<Ignore>]
        member val Log:ResizeArray<BookingLog> = new ResizeArray<BookingLog>() with get,set

        [<Ignore>]
        member val CheckoutLogs:ResizeArray<PaymentDetails> = new ResizeArray<PaymentDetails>() with get,set

        [<Ignore>]
        member val Prices:ResizeArray<BookingPrice> = new ResizeArray<BookingPrice>() with get,set

        [<Ignore>]
        member val Status:BookingStatusEnum = new BookingStatusEnum() with get,set

        [<Ignore>]
        member val IsReserved:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val StatusName:String = null with get,set

        member val CurrencyInfo:Currency = null with get,set
        member val BookingStatus:BookingStatus = null with get,set
        [<Ignore>]
        member val TotalPrice:Nullable<Double> = new Nullable<Double>() with get,set

        [<Ignore>]
        member val TotalSpots:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<Ignore>]
        member val Resources:IList<Resource> = null with get,set

        [<Ignore>]
        member val ExternalReferences:IList<ExternalReference> = null with get,set

        [<Ignore>]
        member val BookedResources:IList<BookedResourceType> = null with get,set

        [<Ignore>]
        member val CustomFieldsConfig:IList<CustomFieldConfig> = null with get,set

        [<Ignore>]
        member val CustomFieldsData:IList<CustomFieldDataResponse> = null with get,set

        [<Ignore>]
        member val DeterministicId:Guid = new Guid() with get,set

        [<Ignore>]
        member val Active:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val LastTimeToUnBook:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<Ignore>]
        member val PriceMappings:ResizeArray<PriceMapping> = new ResizeArray<PriceMapping>() with get,set

        [<Ignore>]
        member val InternalReferenceId:String = null with get,set

        [<Required>]
        member val UpdatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val CreatedDate:DateTime = new DateTime() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val CustomerId:Guid = new Guid() with get,set

        [<Required>]
        member val ServiceId:Int32 = new Int32() with get,set

        [<Required>]
        member val StatusId:Int32 = new Int32() with get,set

        member val UnbookedOn:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val UnbookedComments:String = null with get,set
        member val BookedComments:String = null with get,set
        [<Required>]
        member val BookedBy:String = null with get,set

        member val UnBookedBy:String = null with get,set
        [<Required>]
        member val SendSmsReminder:Boolean = new Boolean() with get,set

        [<Required>]
        member val SendEmailReminder:Boolean = new Boolean() with get,set

        [<Required>]
        member val SendSmsConfirmation:Boolean = new Boolean() with get,set

        member val RebateCode:String = null with get,set
        member val Comments:String = null with get,set
        member val IpAddress:String = null with get,set
        [<Required>]
        member val NumberOfBookedSpots:Int32 = new Int32() with get,set

        member val CommentsToCustomer:String = null with get,set
        member val PaymentExpiration:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        [<Required>]
        member val SendEmailConfirmation:Boolean = new Boolean() with get,set

        member val CancellationCode:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val RatingCode:String = null with get,set
        member val TextField1:String = null with get,set
        member val TextField2:String = null with get,set
        member val TextField3:String = null with get,set
        member val TextField4:String = null with get,set
        member val TextField5:String = null with get,set
        member val TextField6:String = null with get,set
        member val TextField7:String = null with get,set
        member val TextField8:String = null with get,set
        member val TextField9:String = null with get,set
        member val TextField10:String = null with get,set
        member val TextField11:String = null with get,set
        member val TextField12:String = null with get,set
        member val TextField13:String = null with get,set
        member val TextField14:String = null with get,set
        member val TextField15:String = null with get,set
        member val TextField16:String = null with get,set
        member val TextField17:String = null with get,set
        member val TextField18:String = null with get,set
        member val TextField19:String = null with get,set
        member val TextField20:String = null with get,set
        [<Required>]
        member val From:DateTime = new DateTime() with get,set

        [<Required>]
        member val To:DateTime = new DateTime() with get,set

    [<AllowNullLiteral>]
    type RebateCodeTransaction() = 
        inherit BaseModel()
        [<Ignore>]
        member val Booking:Booking = null with get,set

        [<Ignore>]
        member val RebateCode:RebateCode = null with get,set

        [<Ignore>]
        member val Customer:Customer = null with get,set

        member val Id:Int32 = new Int32() with get,set
        member val CompanyId:Guid = new Guid() with get,set
        member val Note:String = null with get,set
        [<Required>]
        member val RebateCodeId:Int32 = new Int32() with get,set

        [<Required>]
        member val Amount:Double = new Double() with get,set

        [<Required>]
        member val Usage:Int32 = new Int32() with get,set

        member val BookingId:Nullable<Int32> = new Nullable<Int32>() with get,set
        [<Required>]
        member val UpdatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val CreatedDate:DateTime = new DateTime() with get,set

    [<AllowNullLiteral>]
    type RebateCode() = 
        inherit PayableEntity()
        [<References(typeof<RebateCodeType>)>]
        member val RebateCodeTypeId:Int32 = new Int32() with get,set

        member val RebateCodeTypeInfo:RebateCodeType = null with get,set
        [<References(typeof<RebateCodeStatus>)>]
        member val RebateCodeStatusId:Int32 = new Int32() with get,set

        member val RebateCodeStatusInfo:RebateCodeStatus = null with get,set
        [<Ignore>]
        member val Article:Article = null with get,set

        [<Ignore>]
        member val Services:ResizeArray<Service> = new ResizeArray<Service>() with get,set

        member val RebateCodeDayOfWeekRelation:ResizeArray<RebateCodeDayOfWeekRelation> = new ResizeArray<RebateCodeDayOfWeekRelation>() with get,set
        member val RebateCodeServiceRelation:ResizeArray<RebateCodeServiceRelation> = new ResizeArray<RebateCodeServiceRelation>() with get,set
        member val RebateCodeBookingPriceRelation:ResizeArray<RebateCodeBookingPriceRelation> = new ResizeArray<RebateCodeBookingPriceRelation>() with get,set
        member val RebateCodeCustomerRelation:ResizeArray<RebateCodeCustomerRelation> = new ResizeArray<RebateCodeCustomerRelation>() with get,set
        [<Ignore>]
        member val ServicesNames:String = null with get,set

        [<Ignore>]
        member val DaysOfWeek:ResizeArray<DaysOfWeek> = new ResizeArray<DaysOfWeek>() with get,set

        [<Ignore>]
        member val RebateCodeStatus:RebateCodeStatus = null with get,set

        [<Ignore>]
        member val RebateCodeType:RebateCodeType = null with get,set

        [<Ignore>]
        member val Transactions:ResizeArray<RebateCodeTransaction> = new ResizeArray<RebateCodeTransaction>() with get,set

        [<Ignore>]
        member val RemainingAmount:Nullable<Double> = new Nullable<Double>() with get,set

        [<Ignore>]
        member val RemainingUsage:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<Ignore>]
        member val CurrentNumberOfUsesPerCustomer:Int32 = new Int32() with get,set

        [<Ignore>]
        member val IsSpecificByDayOfWeek:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val Active:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val ActiveByStatus:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val RebateCodeCurrencySign:String = null with get,set

        member val CurrencyInfo:Currency = null with get,set
        [<Ignore>]
        member val PaymentReceived:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val InternalReferenceId:String = null with get,set

        [<Required>]
        member val ValidFrom:DateTime = new DateTime() with get,set

        [<Required>]
        member val ValidTo:DateTime = new DateTime() with get,set

        [<Required>]
        member val RebateCodeSign:String = null with get,set

        [<Required>]
        member val RebateCodeValue:Int32 = new Int32() with get,set

        [<Required>]
        member val MaxNumberOfUses:Int32 = new Int32() with get,set

        [<Required>]
        member val MaxNumberOfUsesPerCustomer:Int32 = new Int32() with get,set

        [<Required>]
        member val NumberOfUsesUsed:Int32 = new Int32() with get,set

        member val PersonalNote:String = null with get,set
        [<Required>]
        member val CreatedBy:String = null with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        [<Required>]
        member val UpdatedBy:String = null with get,set

        [<Required>]
        member val UpdatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val FromTime:TimeSpan = new TimeSpan() with get,set

        [<Required>]
        member val ToTime:TimeSpan = new TimeSpan() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set
        member val ArticleId:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type ServicePrice() = 
        inherit BaseModel()
        [<References(typeof<Currency>)>]
        member val CurrencyId:String = null with get,set

        member val CurrencyInfo:Currency = null with get,set
        [<Ignore>]
        member val Service:Service = null with get,set

        [<Ignore>]
        member val PriceMappings:ResizeArray<PriceMapping> = new ResizeArray<PriceMapping>() with get,set

        [<Ignore>]
        member val isTimeSpecific:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val isDaysOfWeekSpecific:Boolean = new Boolean() with get,set

        member val DayOfWeeks:ResizeArray<ServicePriceDayOfWeekRelation> = new ResizeArray<ServicePriceDayOfWeekRelation>() with get,set
        [<Ignore>]
        member val PriceBeforeRebate:Nullable<Double> = new Nullable<Double>() with get,set

        [<Ignore>]
        member val RebateCodesApplied:ResizeArray<RebateCode> = new ResizeArray<RebateCode>() with get,set

        [<Ignore>]
        member val PriceText:String = null with get,set

        [<Ignore>]
        member val OverlappingPrices:ResizeArray<ServicePrice> = new ResizeArray<ServicePrice>() with get,set

        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val ServiceId:Int32 = new Int32() with get,set

        member val Price:Nullable<Double> = new Nullable<Double>() with get,set
        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        [<Required>]
        member val FromTime:TimeSpan = new TimeSpan() with get,set

        [<Required>]
        member val ToTime:TimeSpan = new TimeSpan() with get,set

        [<Required>]
        member val VAT:Decimal = new Decimal() with get,set

        member val Category:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val From:DateTime = new DateTime() with get,set

        [<Required>]
        member val To:DateTime = new DateTime() with get,set

        [<Required>]
        member val CalculationTypeId:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BookingStatusOptions() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type ScheduleView() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type WeekNumberSetting() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BookingTemplate() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val UsedByApplication:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CalendarType() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type FreeSpotTexts() = 
        inherit BaseModel()
        [<Required>]
        member val TextSingular:String = null with get,set

        [<Required>]
        member val TextPlural:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type BookingSettings() = 
        inherit BaseModel()
        [<References(typeof<FreeSpotTexts>)>]
        member val FreeSpotTextsId:Int32 = new Int32() with get,set

        [<Ignore>]
        member val SendEmailConfirmation:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val ScheduleViewOptions:ResizeArray<ScheduleView> = new ResizeArray<ScheduleView>() with get,set

        [<Ignore>]
        member val WeekNumberSettingOptions:ResizeArray<WeekNumberSetting> = new ResizeArray<WeekNumberSetting>() with get,set

        [<Ignore>]
        member val BookingTemplateOptions:ResizeArray<BookingTemplate> = new ResizeArray<BookingTemplate>() with get,set

        [<Ignore>]
        member val CalendarTypeOptions:ResizeArray<CalendarType> = new ResizeArray<CalendarType>() with get,set

        [<Ignore>]
        member val FreeSpotTextOptions:ResizeArray<FreeSpotTexts> = new ResizeArray<FreeSpotTexts>() with get,set

        [<Ignore>]
        member val BookingStatusOptions:ResizeArray<BookingStatusOptions> = new ResizeArray<BookingStatusOptions>() with get,set

        member val FreeSpotTextsInfo:FreeSpotTexts = null with get,set
        [<Ignore>]
        member val FreeSpotsTextSingular:String = null with get,set

        [<Ignore>]
        member val FreeSpotsTextPlural:String = null with get,set

        [<Required>]
        member val BookingStatusId:Int32 = new Int32() with get,set

        [<Required>]
        member val ScheduleViewId:Int32 = new Int32() with get,set

        [<Required>]
        member val BookingTemplateId:Int32 = new Int32() with get,set

        [<Required>]
        member val CalendarTypeId:Int32 = new Int32() with get,set

        [<Required>]
        member val AllowBookingOnUnbookedTimes:Boolean = new Boolean() with get,set

        [<Required>]
        member val SendEmailReminder:Boolean = new Boolean() with get,set

        [<Required>]
        member val SendSmsReminder:Boolean = new Boolean() with get,set

        [<Required>]
        member val SendSmsConfirmation:Boolean = new Boolean() with get,set

        [<Required>]
        member val EmailReminderTime:Int32 = new Int32() with get,set

        [<Required>]
        member val SmsReminderTime:Int32 = new Int32() with get,set

        [<Required>]
        member val MaxActiveBookings:Int32 = new Int32() with get,set

        [<Required>]
        member val SendNotifications:Boolean = new Boolean() with get,set

        member val SendNotificationsEmail:String = null with get,set
        [<Required>]
        member val EnableMobileApp:Boolean = new Boolean() with get,set

        member val ScheduleStartTime:Nullable<TimeSpan> = new Nullable<TimeSpan>() with get,set
        member val ScheduleEndTime:Nullable<TimeSpan> = new Nullable<TimeSpan>() with get,set
        member val ReceiptTemplate:String = null with get,set
        [<Required>]
        member val ScheduleTimeSlotMinutes:Int32 = new Int32() with get,set

        [<Required>]
        member val ShowFreeTimesLeft:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableICalGroupBookings:Boolean = new Boolean() with get,set

        member val AgreementTemplate:String = null with get,set
        [<Required>]
        member val ScheduleShowTimeExeptions:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableBookingsOnSameTime:Boolean = new Boolean() with get,set

        [<Required>]
        member val ShowWeekNumberSettingId:Int32 = new Int32() with get,set

        [<Required>]
        member val EnableShowBookedTimes:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableSendFollowUpMessage:Boolean = new Boolean() with get,set

        [<Required>]
        member val FollowUpMessageTime:Int32 = new Int32() with get,set

        member val MessageText:String = null with get,set
        [<Required>]
        member val ScheduleGroupResources:Boolean = new Boolean() with get,set

        [<Required>]
        member val BookSpotUserResponseMinutes:Int32 = new Int32() with get,set

        [<Required>]
        member val IsBookSpotDirectly:Boolean = new Boolean() with get,set

        [<Required>]
        member val BookSpotDirectlyTimeLeftMinutes:Int32 = new Int32() with get,set

        [<Required>]
        member val SendEmailNotificationQueue:Boolean = new Boolean() with get,set

        [<Required>]
        member val SendSMSNotificationQueue:Boolean = new Boolean() with get,set

        [<Required>]
        member val SchedulerDisableHorizontalScrolling:Boolean = new Boolean() with get,set

        [<Required>]
        member val BookOnlyOnExistingCustomers:Boolean = new Boolean() with get,set

        [<Required>]
        member val AutoGenerateUniquePinCode:Boolean = new Boolean() with get,set

        [<Required>]
        member val WeightedPrices:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val AutoCreateUserProfile:Boolean = new Boolean() with get,set

        member val ShowMultipleResourcesAsOne:Boolean = new Boolean() with get,set
        member val ShowMultiDayAsTime:Boolean = new Boolean() with get,set
        [<Required>]
        member val Id:Guid = new Guid() with get,set

    [<AllowNullLiteral>]
    type AdminPaymentOptions() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type PaymentProviders() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Category:String = null with get,set

        member val Url:String = null with get,set
        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type PaymentSetting() = 
        inherit BaseModel()
        member val AdminPaymentOption:AdminPaymentOptions = null with get,set
        [<Ignore>]
        member val AdminPaymentOptions:ResizeArray<AdminPaymentOptions> = new ResizeArray<AdminPaymentOptions>() with get,set

        [<Ignore>]
        member val PaymentProviderOptions:ResizeArray<PaymentProviders> = new ResizeArray<PaymentProviders>() with get,set

        [<Required>]
        member val Enabled:Boolean = new Boolean() with get,set

        [<Required>]
        member val InvoiceFee:Int32 = new Int32() with get,set

        [<Required>]
        member val AllowCreditCardPayment:Boolean = new Boolean() with get,set

        [<Required>]
        member val AllowInvoicePayment:Boolean = new Boolean() with get,set

        [<Required>]
        member val AllowBankPayment:Boolean = new Boolean() with get,set

        [<Required>]
        member val GuaranteeOffered:Boolean = new Boolean() with get,set

        [<Required>]
        member val RefundOnCancelBooking:Boolean = new Boolean() with get,set

        member val DefaultPaymentOptionId:Nullable<Int32> = new Nullable<Int32>() with get,set
        [<Required>]
        member val PaymentProviderId:Int32 = new Int32() with get,set

        [<Required>]
        member val SendPaymentRequestDirectly:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Guid = new Guid() with get,set

    [<AllowNullLiteral>]
    type AverageRatingScore() = 
        member val AverageScore:Double = new Double() with get,set
        member val Score1Count:Int32 = new Int32() with get,set
        member val Score2Count:Int32 = new Int32() with get,set
        member val Score3Count:Int32 = new Int32() with get,set
        member val Score4Count:Int32 = new Int32() with get,set
        member val Score5Count:Int32 = new Int32() with get,set
        member val Count:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type Review() = 
        inherit BaseModel()
        member val ReviewId:Guid = new Guid() with get,set
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val Title:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Author:String = null with get,set

        [<Required>]
        member val Status:Int32 = new Int32() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val ReviewAnswer:String = null with get,set

    [<AllowNullLiteral>]
    type Rating() = 
        inherit BaseModel()
        member val ReviewId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val Review:Review = null with get,set
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        [<Required>]
        member val BookingId:Int32 = new Int32() with get,set

        [<Required>]
        member val RatingScore:Int32 = new Int32() with get,set

        [<Required>]
        member val Status:Int32 = new Int32() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type Service() = 
        inherit BaseModel()
        [<Ignore>]
        member val ResourceTypes:ResizeArray<ResourceType> = new ResizeArray<ResourceType>() with get,set

        [<Ignore>]
        member val Resources:IEnumerable<Resource> = null with get,set

        [<Ignore>]
        member val TotalPrice:TotalPriceInformation = null with get,set

        [<Ignore>]
        member val Prices:ResizeArray<ServicePrice> = new ResizeArray<ServicePrice>() with get,set

        [<Ignore>]
        member val BookingStatusOptions:ResizeArray<BookingStatusOptions> = new ResizeArray<BookingStatusOptions>() with get,set

        [<Ignore>]
        member val IsGroupBooking:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val IsMultipleResource:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val Settings:BookingSettings = null with get,set

        [<Ignore>]
        member val PaymentSetting:PaymentSetting = null with get,set

        [<Ignore>]
        member val BookingCustomFieldsConfig:IList<CustomFieldConfig> = null with get,set

        [<Ignore>]
        member val CustomerCustomFieldsConfig:IList<CustomFieldConfig> = null with get,set

        [<Ignore>]
        member val CustomFieldsConfig:IList<CustomFieldConfig> = null with get,set

        [<Ignore>]
        member val CustomFieldsData:IList<CustomFieldDataResponse> = null with get,set

        [<Ignore>]
        member val Schedules:IList<ISchedule> = null with get,set

        [<Ignore>]
        member val CustomerActiveBookings:IList<Booking> = null with get,set

        [<Ignore>]
        member val ScheduleType:ScheduleType = new ScheduleType() with get,set

        [<Ignore>]
        member val LastTimeToUnbookThreshold:TimeSpan = new TimeSpan() with get,set

        [<Ignore>]
        member val LastTimeToBookThreshold:TimeSpan = new TimeSpan() with get,set

        [<Ignore>]
        member val RatingScore:AverageRatingScore = null with get,set

        [<Ignore>]
        member val Ratings:ResizeArray<Rating> = new ResizeArray<Rating>() with get,set

        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        member val Group:String = null with get,set
        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        [<Required>]
        member val SortOrder:Int32 = new Int32() with get,set

        [<Required>]
        member val PauseAfterBooking:Int32 = new Int32() with get,set

        [<Required>]
        member val UnbookBeforeDays:Int32 = new Int32() with get,set

        [<Required>]
        member val UnbookBeforeHours:Int32 = new Int32() with get,set

        [<Required>]
        member val UnbookBeforeMinutes:Int32 = new Int32() with get,set

        [<Required>]
        member val BookBeforeDays:Int32 = new Int32() with get,set

        [<Required>]
        member val BookBeforeHours:Int32 = new Int32() with get,set

        [<Required>]
        member val BookBeforeMinutes:Int32 = new Int32() with get,set

        member val Duration:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val DurationTypeId:Int32 = new Int32() with get,set
        member val MinDuration:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val MaxDuration:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val DurationInterval:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val TotalSpots:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ImageUrl:String = null with get,set
        [<Required>]
        member val ScheduleTypeId:Int32 = new Int32() with get,set

        [<Required>]
        member val UpdatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val CreatedDate:DateTime = new DateTime() with get,set

        [<Required>]
        member val OnlyVisibleByAdmin:Boolean = new Boolean() with get,set

        [<Required>]
        member val MinNumberOfSpotsPerBooking:Int32 = new Int32() with get,set

        [<Required>]
        member val MaxNumberOfSpotsPerBooking:Int32 = new Int32() with get,set

        [<Required>]
        member val MinNumberOfResourcesToBook:Int32 = new Int32() with get,set

        [<Required>]
        member val MaxNumberOfResourcesToBook:Int32 = new Int32() with get,set

        [<Required>]
        member val IsPaymentEnabled:Boolean = new Boolean() with get,set

        [<Required>]
        member val MaxPaymentTime:Int32 = new Int32() with get,set

        [<Required>]
        member val LockSpotsToBooking:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableBookingQueue:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val BookingStatusId:Int32 = new Int32() with get,set

        [<Required>]
        member val EnableCodeLockSync:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableCustomerManualPayment:Boolean = new Boolean() with get,set

        member val PriceViewTypeId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val TextField1:String = null with get,set
        member val TextField2:String = null with get,set
        member val TextField3:String = null with get,set
        member val TextField4:String = null with get,set
        member val TextField5:String = null with get,set
        member val TextField6:String = null with get,set
        member val TextField7:String = null with get,set
        member val TextField8:String = null with get,set
        member val TextField9:String = null with get,set
        member val TextField10:String = null with get,set
        member val TextField11:String = null with get,set
        member val TextField12:String = null with get,set
        member val TextField13:String = null with get,set
        member val TextField14:String = null with get,set
        member val TextField15:String = null with get,set
        member val TextField16:String = null with get,set
        member val TextField17:String = null with get,set
        member val TextField18:String = null with get,set
        member val TextField19:String = null with get,set
        member val TextField20:String = null with get,set

    [<AllowNullLiteral>]
    type CustomFieldServiceRelation() = 
        inherit BaseModel()
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val CustomFieldConfigId:Int32 = new Int32() with get,set

        [<Required>]
        member val ServiceId:Int32 = new Int32() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type CustomFieldConfig() = 
        inherit BaseModel()
        [<Ignore>]
        member val Values:ResizeArray<CustomFieldValue> = new ResizeArray<CustomFieldValue>() with get,set

        member val CustomField:CustomField = null with get,set
        [<Ignore>]
        member val RegEx:RegEx = null with get,set

        [<Ignore>]
        member val Services:ResizeArray<Service> = new ResizeArray<Service>() with get,set

        member val CustomFieldServiceRelation:ResizeArray<CustomFieldServiceRelation> = new ResizeArray<CustomFieldServiceRelation>() with get,set
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        member val GroupId:Nullable<Int32> = new Nullable<Int32>() with get,set
        [<Required>]
        member val FieldId:Int32 = new Int32() with get,set

        [<Required>]
        member val IconId:Int32 = new Int32() with get,set

        member val RegExId:Nullable<Int32> = new Nullable<Int32>() with get,set
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Datatype:String = null with get,set

        [<Required>]
        member val MaxLength:Int32 = new Int32() with get,set

        [<Required>]
        member val IsPublic:Boolean = new Boolean() with get,set

        [<Required>]
        member val IsHidden:Boolean = new Boolean() with get,set

        [<Required>]
        member val IsMandatory:Boolean = new Boolean() with get,set

        member val DefaultValue:String = null with get,set
        member val RegExErrorMessage:String = null with get,set
        member val MandatoryErrorMessage:String = null with get,set
        member val Width:Nullable<Int32> = new Nullable<Int32>() with get,set
        [<Required>]
        member val MultipleLineText:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type CompanyType() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CodeLockSystem() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Supplier:String = null with get,set

        member val LogoType:String = null with get,set
        [<Required>]
        member val Description:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CodeLockSetting() = 
        inherit BaseModel()
        [<Ignore>]
        member val CodeLockSystemOptions:ResizeArray<CodeLockSystem> = new ResizeArray<CodeLockSystem>() with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        [<Required>]
        member val CodeLockSystemsId:Int32 = new Int32() with get,set

        [<Required>]
        member val ValidBeforeMinutes:Int32 = new Int32() with get,set

        [<Required>]
        member val ValidAfterMinutes:Int32 = new Int32() with get,set

        [<Required>]
        member val DeleteOldBySchedule:Boolean = new Boolean() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val SendEmailNotification:Boolean = new Boolean() with get,set

        [<Required>]
        member val SendSMSNotification:Boolean = new Boolean() with get,set

        [<Required>]
        member val EmailNotificationTime:Int16 = new Int16() with get,set

        [<Required>]
        member val SMSNotificationTime:Int16 = new Int16() with get,set

        [<Required>]
        member val Id:Guid = new Guid() with get,set

    [<AllowNullLiteral>]
    type LanguageResponse() = 
        member val Id:String = null with get,set
        member val Name:String = null with get,set

    [<AllowNullLiteral>]
    type CompanySetting() = 
        inherit BaseModel()
        [<Ignore>]
        member val Languages:ResizeArray<LanguageResponse> = new ResizeArray<LanguageResponse>() with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val InactiveMessage:String = null with get,set
        [<Required>]
        member val Searchable:Boolean = new Boolean() with get,set

        member val GATrackingId:String = null with get,set
        member val FacebookPixelId:String = null with get,set
        [<Required>]
        member val MultiLanguage:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableAPITranslation:Boolean = new Boolean() with get,set

        [<Required>]
        member val DefaultLanguage:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val GTMTrackingId:String = null with get,set
        [<Required>]
        member val ShowOnMarketPlace:Boolean = new Boolean() with get,set

        member val GoogleAdsConversionId:String = null with get,set
        member val LinkedinTagId:String = null with get,set
        member val GoogleAdsConversionLabel:String = null with get,set
        member val SendCustomerInformationToExternalProviders:Boolean = new Boolean() with get,set
        [<Required>]
        member val Id:Guid = new Guid() with get,set

    [<AllowNullLiteral>]
    type WidgetServiceLayouts() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Code:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type WidgetTimeLayouts() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Code:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type WidgetBookingLayouts() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Code:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type WidgetBookingMethods() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val Code:String = null with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type HomepageWidgetSetting() = 
        inherit BaseModel()
        [<Ignore>]
        member val WidgetServiceLayoutOptions:ResizeArray<WidgetServiceLayouts> = new ResizeArray<WidgetServiceLayouts>() with get,set

        [<Ignore>]
        member val WidgetTimeLayoutOptions:ResizeArray<WidgetTimeLayouts> = new ResizeArray<WidgetTimeLayouts>() with get,set

        [<Ignore>]
        member val WidgetBookingLayoutOptions:ResizeArray<WidgetBookingLayouts> = new ResizeArray<WidgetBookingLayouts>() with get,set

        [<Ignore>]
        member val WidgetBookingMethodOptions:ResizeArray<WidgetBookingMethods> = new ResizeArray<WidgetBookingMethods>() with get,set

        [<Required>]
        member val ServiceLayoutId:Int32 = new Int32() with get,set

        [<Required>]
        member val TimeLayoutId:Int32 = new Int32() with get,set

        [<Required>]
        member val BookingLayoutId:Int32 = new Int32() with get,set

        [<Required>]
        member val PrimaryColor:String = null with get,set

        [<Required>]
        member val ShowServiceImage:Boolean = new Boolean() with get,set

        [<Required>]
        member val ShowNextAvailableTime:Boolean = new Boolean() with get,set

        [<Required>]
        member val ShowEndTime:Boolean = new Boolean() with get,set

        member val BookedTimeSlotText:String = null with get,set
        [<Required>]
        member val DarkTheme:Boolean = new Boolean() with get,set

        [<Required>]
        member val ShowRebateCodeField:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val EnableCreateAccount:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableLogin:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableDirectBooking:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableFacebookLogin:Boolean = new Boolean() with get,set

        [<Required>]
        member val ShowSubscribeToNewsletter:Boolean = new Boolean() with get,set

        [<Required>]
        member val Id:Guid = new Guid() with get,set

    [<AllowNullLiteral>]
    type HomepageTemplate() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        member val ImageUrl:Uri = null with get,set
        [<Required>]
        member val Premium:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type HeroSectionStyle() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        member val Description:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type HomepageSetting() = 
        inherit BaseModel()
        [<Ignore>]
        member val HomepageTemplateOptions:ResizeArray<HomepageTemplate> = new ResizeArray<HomepageTemplate>() with get,set

        [<Ignore>]
        member val HomepageHeroSectionStyleOptions:ResizeArray<HeroSectionStyle> = new ResizeArray<HeroSectionStyle>() with get,set

        [<Ignore>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        member val WelcomePageHeading:String = null with get,set
        member val WelcomePageBody:String = null with get,set
        member val AboutUsPageHeading:String = null with get,set
        member val AboutUsPageBody:String = null with get,set
        [<Required>]
        member val HomePageTemplateId:Int32 = new Int32() with get,set

        member val ImageUrl:String = null with get,set
        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        member val HomepageHeading:String = null with get,set
        [<Required>]
        member val HeroSectionStyleId:Int32 = new Int32() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val ShowRating:Boolean = new Boolean() with get,set

        [<Required>]
        member val EnableHomepage:Boolean = new Boolean() with get,set

        [<Required>]
        member val Id:Guid = new Guid() with get,set

    [<AllowNullLiteral>]
    type LicenseTypeItem() = 
        inherit BaseModel()
        [<Ignore>]
        member val Name:String = null with get,set

        [<Ignore>]
        member val LicenseType:LicenseType = null with get,set

        [<Required>]
        member val LicenseTypesId:Int32 = new Int32() with get,set

        [<Required>]
        member val LicenseItemsId:Int32 = new Int32() with get,set

        [<Required>]
        member val NumberOfItems:Int32 = new Int32() with get,set

        member val Id:Int32 = new Int32() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type Country() = 
        inherit BaseModel()
        [<References(typeof<Currency>)>]
        member val CurrencyId:String = null with get,set

        member val CurrencyInfo:Currency = null with get,set
        [<Required>]
        member val Name:String = null with get,set

        member val Culture:String = null with get,set
        member val TimeZone:String = null with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:String = null with get,set

    [<AllowNullLiteral>]
    type LicensePrice() = 
        inherit BaseModel()
        [<Ignore>]
        member val Country:Country = null with get,set

        [<Ignore>]
        member val MonthlyPayment:Boolean = new Boolean() with get,set

        [<Required>]
        member val LicenseTypeId:Int32 = new Int32() with get,set

        [<Required>]
        member val CountryId:String = null with get,set

        [<Required>]
        member val Price:Int32 = new Int32() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set

    [<AllowNullLiteral>]
    type LicenseType() = 
        inherit BaseModel()
        [<Ignore>]
        member val LicenseItems:IList<LicenseTypeItem> = null with get,set

        [<Ignore>]
        member val Prices:IList<LicensePrice> = null with get,set

        [<Ignore>]
        member val PeriodOfNoticeDays:Int32 = new Int32() with get,set

        [<Ignore>]
        member val NextLicenseOption:LicenseType = null with get,set

        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        [<Required>]
        member val ExtraLicenseOption:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Active:Boolean = new Boolean() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type License() = 
        inherit BaseModel()
        member val Type:LicenseType = null with get,set
        [<Required>]
        member val CompanyId:Guid = new Guid() with get,set

        member val Id:Int32 = new Int32() with get,set
        [<Required>]
        member val TypeId:Int32 = new Int32() with get,set

        [<Required>]
        member val ValidFrom:DateTime = new DateTime() with get,set

        [<Required>]
        member val ValidTo:DateTime = new DateTime() with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val MetaData:String = null with get,set

    [<AllowNullLiteral>]
    type CompanyCategory() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val Header:String = null with get,set

        [<Required>]
        member val Description:String = null with get,set

        member val ImageUrl:Uri = null with get,set
        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val SortOrder:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val Id:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type Company() = 
        inherit BaseModel()
        [<Ignore>]
        member val Status:CompanyStatus = new CompanyStatus() with get,set

        [<Ignore>]
        member val Active:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val CustomerCustomFieldsConfig:IList<CustomFieldConfig> = null with get,set

        [<Ignore>]
        member val BookingAgreements:String = null with get,set

        [<Ignore>]
        member val BookingSettings:BookingSettings = null with get,set

        [<Ignore>]
        member val CompanyType:CompanyType = null with get,set

        [<Ignore>]
        member val CodeLockSettings:CodeLockSetting = null with get,set

        [<Ignore>]
        member val PaymentSettings:PaymentSetting = null with get,set

        [<Ignore>]
        member val Settings:CompanySetting = null with get,set

        [<Ignore>]
        member val WidgetSettings:HomepageWidgetSetting = null with get,set

        [<Ignore>]
        member val HomepageSettings:HomepageSetting = null with get,set

        [<Ignore>]
        member val RatingScore:AverageRatingScore = null with get,set

        [<Ignore>]
        member val Ratings:ResizeArray<Rating> = new ResizeArray<Rating>() with get,set

        [<Ignore>]
        member val Distance:Nullable<Double> = new Nullable<Double>() with get,set

        [<Ignore>]
        member val Licenses:ResizeArray<License> = new ResizeArray<License>() with get,set

        [<Ignore>]
        member val ActiveLicenses:ResizeArray<License> = new ResizeArray<License>() with get,set

        [<Ignore>]
        member val CurrentLicense:License = null with get,set

        [<Ignore>]
        member val IsFreeAccount:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val DefaultLanguage:CultureInfo = null with get,set

        member val Category:CompanyCategory = null with get,set
        [<Ignore>]
        member val Lat:Double = new Double() with get,set

        [<Ignore>]
        member val Lon:Double = new Double() with get,set

        [<Ignore>]
        member val IsFavorite:Boolean = new Boolean() with get,set

        [<Ignore>]
        member val ExternalReferences:IList<ExternalReference> = null with get,set

        [<Required>]
        member val OrganisationNumber:String = null with get,set

        [<Required>]
        member val StatusId:Int32 = new Int32() with get,set

        [<Required>]
        member val CategoryId:Int32 = new Int32() with get,set

        [<Required>]
        member val SitePath:String = null with get,set

        [<Required>]
        member val Name:String = null with get,set

        member val Street1:String = null with get,set
        member val Street2:String = null with get,set
        member val ZipCode:String = null with get,set
        member val City:String = null with get,set
        member val OpeningHours:String = null with get,set
        member val FaxNumber:String = null with get,set
        [<Required>]
        member val Email:String = null with get,set

        member val Phone:String = null with get,set
        member val Details:String = null with get,set
        member val LogoType:String = null with get,set
        [<Required>]
        member val ApprovedByAdmin:Boolean = new Boolean() with get,set

        [<Required>]
        member val Updated:DateTime = new DateTime() with get,set

        [<Required>]
        member val Created:DateTime = new DateTime() with get,set

        member val IpAddress:String = null with get,set
        member val Homepage:String = null with get,set
        member val DomainName:String = null with get,set
        [<Required>]
        member val CountryId:String = null with get,set

        [<Required>]
        member val CompanyOwnerId:Int32 = new Int32() with get,set

        member val TypeId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:Guid = new Guid() with get,set

    [<AllowNullLiteral>]
    type SuperAdminCompanyQuery() = 
        inherit QueryDb<Company, CompanyQueryResponse>()
        ///<summary>
        ///Id for a specific company you want to retrieve.
        ///</summary>
        [<ApiMember(Description="Id for a specific company you want to retrieve.", ParameterType="query")>]
        member val Id:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///Include companies in these categories.
        ///</summary>
        [<ApiMember(Description="Include companies in these categories.", ParameterType="query")>]
        member val Categories:Int32[] = null with get,set

        ///<summary>
        ///The site path url for the company homepage
        ///</summary>
        [<ApiMember(Description="The site path url for the company homepage", ParameterType="query")>]
        member val SitePath:String = null with get,set

        ///<summary>
        ///Search active companies. You're only allowed to search active companies.
        ///</summary>
        [<ApiMember(Description="Search active companies. You're only allowed to search active companies.", ParameterType="query")>]
        member val Active:Boolean = new Boolean() with get,set

        ///<summary>
        ///Maxium distance from the coordinates to be included in the result.
        ///</summary>
        [<ApiMember(Description="Maxium distance from the coordinates to be included in the result.", ParameterType="query")>]
        member val Distance:Nullable<Double> = new Nullable<Double>() with get,set

        ///<summary>
        ///Will search by any company name or city that contains the search string provided.
        ///</summary>
        [<ApiMember(Description="Will search by any company name or city that contains the search string provided.", ParameterType="query")>]
        member val Search:String = null with get,set

        ///<summary>
        ///Will search by any company owner id. Default is 1 = BokaMera.
        ///</summary>
        [<ApiMember(Description="Will search by any company owner id. Default is 1 = BokaMera.", ParameterType="query")>]
        member val CompanyOwnerId:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///If you want to get the booking agreements loaded into the field BookingAgreements
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to get the booking agreements loaded into the field BookingAgreements", ParameterType="query")>]
        member val IncludeBookingAgreements:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to get the booking settings loaded into the field BookingSettings
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to get the booking settings loaded into the field BookingSettings", ParameterType="query")>]
        member val IncludeBookingSettings:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to get the system settings loaded into the field SystemSettings
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to get the system settings loaded into the field SystemSettings", ParameterType="query")>]
        member val IncludeSystemSettings:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to get the widget settings loaded into the field WidgetSettings
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to get the widget settings loaded into the field WidgetSettings", ParameterType="query")>]
        member val IncludeWidgetSettings:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to get the homepage settings loaded into the field HomepageSettings
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to get the homepage settings loaded into the field HomepageSettings", ParameterType="query")>]
        member val IncludeHomepageSettings:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include the connected custom fields for the customers
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the connected custom fields for the customers", ParameterType="query")>]
        member val IncludeCustomerCustomFields:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include the connected custom fields
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the connected custom fields", ParameterType="query")>]
        member val IncludeCustomFields:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include the rating reviews
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the rating reviews", ParameterType="query")>]
        member val IncludeRatingReviews:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include the rating summary
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the rating summary", ParameterType="query")>]
        member val IncludeRatingSummary:Boolean = new Boolean() with get,set

        ///<summary>
        ///Company user email
        ///</summary>
        [<ApiMember(Description="Company user email", ParameterType="query")>]
        member val CompanyUserEmail:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type QueryBase() = 
        ///<summary>
        ///Skip over a given number of elements in a sequence and then return the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?skip=10&orderBy=Id</code>
        ///</summary>
        [<DataMember(Order=1)>]
        member val Skip:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Return a given number of elements in a sequence and then skip over the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?take=20</code>
        ///</summary>
        [<DataMember(Order=2)>]
        member val Take:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Comma separated list of fields to order by. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderBy=Id,-Age,FirstName</code>
        ///</summary>
        [<DataMember(Order=3)>]
        member val OrderBy:String = null with get,set

        ///<summary>
        ///Comma separated list of fields to order by in descending order. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderByDesc=Id,-Age,FirstName</code>
        ///</summary>
        [<DataMember(Order=4)>]
        member val OrderByDesc:String = null with get,set

        ///<summary>
        ///Include any of the aggregates <code>AVG, COUNT, FIRST, LAST, MAX, MIN, SUM</code> in your result set. The results will be returned in the meta field.<br/><br/><strong>Example:</strong><br/><code>?include=COUNT(*) as Total</code><br/><br/>or multiple fields with<br/><code>?include=Count(*) Total, Min(Age), AVG(Age) AverageAge</code><br/></br>or unique with<br/><code>?include=COUNT(DISTINCT LivingStatus) as UniqueStatus</code>
        ///</summary>
        [<DataMember(Order=5)>]
        member val Include:String = null with get,set

        [<DataMember(Order=6)>]
        member val Fields:String = null with get,set

        [<DataMember(Order=7)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<AllowNullLiteral>]
    type QueryDb<From, Into>() = 
        inherit QueryBase()

    [<AllowNullLiteral>]
    type Currency() = 
        inherit BaseModel()
        [<Required>]
        member val Name:String = null with get,set

        [<Required>]
        member val CurrencySign:String = null with get,set

        [<Required>]
        member val Active:Boolean = new Boolean() with get,set

        member val ModifiedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        [<Required>]
        member val Id:String = null with get,set

    [<AllowNullLiteral>]
    type IBokameraPaymentManager<TCreatedCheckoutResponse, TCheckoutResponse, TPaymentResponse> = 
        interface end

    [<AllowNullLiteral>]
    type QvicklyArticle() = 
        member val artnr:String = null with get,set
        member val title:String = null with get,set
        member val quantity:Int32 = new Int32() with get,set
        member val aprice:Int32 = new Int32() with get,set
        member val tax:Int32 = new Int32() with get,set
        member val discount:Int32 = new Int32() with get,set
        member val withouttax:Int32 = new Int32() with get,set
        member val taxrate:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type Customer() = 
        member val City:String = null with get,set
        member val CountryCode:String = null with get,set
        member val IdentityNumber:String = null with get,set
        member val Email:String = null with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val Phone:String = null with get,set
        member val PostalCode:String = null with get,set
        member val Street:String = null with get,set
        member val Reference:String = null with get,set
        member val Type:CustomerType = new CustomerType() with get,set

    [<AllowNullLiteral>]
    type ILogger<TCategoryName> = 
        interface end

    [<AllowNullLiteral>]
    type AccessKeyTypeResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val KeyType:String = null with get,set
        member val Description:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type QueryResponse<AccessKeyTypeResponse>() = 
        [<DataMember(Order=1)>]
        member val Offset:Int32 = new Int32() with get,set

        [<DataMember(Order=2)>]
        member val Total:Int32 = new Int32() with get,set

        [<DataMember(Order=3)>]
        member val Results:ResizeArray<AccessKeyTypeResponse> = new ResizeArray<AccessKeyTypeResponse>() with get,set

        [<DataMember(Order=4)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

        [<DataMember(Order=5)>]
        member val ResponseStatus:ResponseStatus = null with get,set

F# SuperAdminCompanyQuery DTOs

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

HTTP + XML

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

GET /superadmin/companies HTTP/1.1 
Host: api.bokamera.se 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<QueryResponseOfCompanyQueryResponseWg5EthtI xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Offset>0</Offset>
  <Total>0</Total>
  <Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
    <d2p1:CompanyQueryResponse>
      <d2p1:Active>false</d2p1:Active>
      <d2p1:BookingAgreements>String</d2p1:BookingAgreements>
      <d2p1:BookingSettings>
        <d2p1:BookOnlyOnExistingCustomers>false</d2p1:BookOnlyOnExistingCustomers>
        <d2p1:BookingAgreement>String</d2p1:BookingAgreement>
        <d2p1:BookingReceiptMessage>String</d2p1:BookingReceiptMessage>
        <d2p1:EnableMobileApp>false</d2p1:EnableMobileApp>
        <d2p1:EnableShowBookedTimes>false</d2p1:EnableShowBookedTimes>
        <d2p1:PaymentEnabled>false</d2p1:PaymentEnabled>
        <d2p1:PaymentProviderId>0</d2p1:PaymentProviderId>
        <d2p1:ShowBookedTimes>false</d2p1:ShowBookedTimes>
        <d2p1:ShowFreeTimesLeft>false</d2p1:ShowFreeTimesLeft>
        <d2p1:WeekNumberSetting>0</d2p1:WeekNumberSetting>
      </d2p1:BookingSettings>
      <d2p1:Category>String</d2p1:Category>
      <d2p1:CategoryId>0</d2p1:CategoryId>
      <d2p1:City>String</d2p1:City>
      <d2p1:CodeLockSystem>Sample</d2p1:CodeLockSystem>
      <d2p1:CountryId>String</d2p1:CountryId>
      <d2p1:CoverImage i:nil="true" />
      <d2p1:Created>0001-01-01T00:00:00</d2p1:Created>
      <d2p1:CustomerCustomFields>
        <d2p1:CustomFieldConfigData>
          <d2p1:DataType>String</d2p1:DataType>
          <d2p1:DefaultValue>String</d2p1:DefaultValue>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:IsMandatory>false</d2p1:IsMandatory>
          <d2p1:MandatoryErrorMessage>String</d2p1:MandatoryErrorMessage>
          <d2p1:MaxLength>0</d2p1:MaxLength>
          <d2p1:MultipleLineText>false</d2p1:MultipleLineText>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:RegEx>String</d2p1:RegEx>
          <d2p1:RegExErrorMessage>String</d2p1:RegExErrorMessage>
          <d2p1:Values>
            <d2p1:CustomFieldValueResponse>
              <d2p1:Value>String</d2p1:Value>
            </d2p1:CustomFieldValueResponse>
          </d2p1:Values>
          <d2p1:Width>0</d2p1:Width>
        </d2p1:CustomFieldConfigData>
      </d2p1:CustomerCustomFields>
      <d2p1:Details>String</d2p1:Details>
      <d2p1:Distance>0</d2p1:Distance>
      <d2p1:Email>String</d2p1:Email>
      <d2p1:Homepage>String</d2p1:Homepage>
      <d2p1:HomepageSettings>
        <d2p1:AboutUsPageBody>String</d2p1:AboutUsPageBody>
        <d2p1:AboutUsPageHeading>String</d2p1:AboutUsPageHeading>
        <d2p1:CoverImage i:nil="true" />
        <d2p1:EnableHomepage>false</d2p1:EnableHomepage>
        <d2p1:HeroSectionStyleId>0</d2p1:HeroSectionStyleId>
        <d2p1:HomePageTemplateId>0</d2p1:HomePageTemplateId>
        <d2p1:HomepageHeading>String</d2p1:HomepageHeading>
        <d2p1:ImageUrl i:nil="true" />
        <d2p1:ShowRating>false</d2p1:ShowRating>
        <d2p1:WelcomePageBody>String</d2p1:WelcomePageBody>
        <d2p1:WelcomePageHeading>String</d2p1:WelcomePageHeading>
      </d2p1:HomepageSettings>
      <d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
      <d2p1:IsFavorite>false</d2p1:IsFavorite>
      <d2p1:IsFreeAccount>false</d2p1:IsFreeAccount>
      <d2p1:Latitude>String</d2p1:Latitude>
      <d2p1:LogoType i:nil="true" />
      <d2p1:Longitude>String</d2p1:Longitude>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:OrganisationNumber>String</d2p1:OrganisationNumber>
      <d2p1:Phone>String</d2p1:Phone>
      <d2p1:RatingSummary>
        <d2p1:AverageScore>0</d2p1:AverageScore>
        <d2p1:Count>0</d2p1:Count>
        <d2p1:RaingScore4Count>0</d2p1:RaingScore4Count>
        <d2p1:RatingScore1Count>0</d2p1:RatingScore1Count>
        <d2p1:RatingScore2Count>0</d2p1:RatingScore2Count>
        <d2p1:RatingScore3Count>0</d2p1:RatingScore3Count>
        <d2p1:RatingScore5Count>0</d2p1:RatingScore5Count>
      </d2p1:RatingSummary>
      <d2p1:ResponseStatus>
        <ErrorCode>String</ErrorCode>
        <Message>String</Message>
        <StackTrace>String</StackTrace>
        <Errors>
          <ResponseError>
            <ErrorCode>String</ErrorCode>
            <FieldName>String</FieldName>
            <Message>String</Message>
            <Meta xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:KeyValueOfstringstring>
                <d7p1:Key>String</d7p1:Key>
                <d7p1:Value>String</d7p1:Value>
              </d7p1:KeyValueOfstringstring>
            </Meta>
          </ResponseError>
        </Errors>
        <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </Meta>
      </d2p1:ResponseStatus>
      <d2p1:Reviews>
        <d2p1:RatingReviewResponse>
          <d2p1:Author>String</d2p1:Author>
          <d2p1:Created>0001-01-01T00:00:00</d2p1:Created>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:RatingScore>0</d2p1:RatingScore>
          <d2p1:ReviewAnswer>String</d2p1:ReviewAnswer>
          <d2p1:Title>String</d2p1:Title>
        </d2p1:RatingReviewResponse>
      </d2p1:Reviews>
      <d2p1:SitePath>String</d2p1:SitePath>
      <d2p1:StatusId>0</d2p1:StatusId>
      <d2p1:Street1>String</d2p1:Street1>
      <d2p1:Street2>String</d2p1:Street2>
      <d2p1:SystemSettings>
        <d2p1:Active>false</d2p1:Active>
        <d2p1:DefaultLanguage>String</d2p1:DefaultLanguage>
        <d2p1:EnableAPITranslation>false</d2p1:EnableAPITranslation>
        <d2p1:FacebookPixelId>String</d2p1:FacebookPixelId>
        <d2p1:GATrackingId>String</d2p1:GATrackingId>
        <d2p1:GTMTrackingId>String</d2p1:GTMTrackingId>
        <d2p1:GoogleAdsConversionId>String</d2p1:GoogleAdsConversionId>
        <d2p1:GoogleAdsConversionLabel>String</d2p1:GoogleAdsConversionLabel>
        <d2p1:InactiveMessage>String</d2p1:InactiveMessage>
        <d2p1:LinkedinTagId>String</d2p1:LinkedinTagId>
        <d2p1:MultiLanguage>false</d2p1:MultiLanguage>
        <d2p1:Searchable>false</d2p1:Searchable>
        <d2p1:SendCustomerInformationToExternalProviders>false</d2p1:SendCustomerInformationToExternalProviders>
        <d2p1:ShowOnMarketplace>false</d2p1:ShowOnMarketplace>
      </d2p1:SystemSettings>
      <d2p1:TypeId>0</d2p1:TypeId>
      <d2p1:Updated>0001-01-01T00:00:00</d2p1:Updated>
      <d2p1:WidgetSettings>
        <d2p1:BookedTimeSlotText>String</d2p1:BookedTimeSlotText>
        <d2p1:BookingLayoutId>0</d2p1:BookingLayoutId>
        <d2p1:DarkTheme>false</d2p1:DarkTheme>
        <d2p1:PrimaryColor>String</d2p1:PrimaryColor>
        <d2p1:ServiceLayoutId>0</d2p1:ServiceLayoutId>
        <d2p1:ShowEndTime>false</d2p1:ShowEndTime>
        <d2p1:ShowNextAvailableTime>false</d2p1:ShowNextAvailableTime>
        <d2p1:ShowRebateCodeField>false</d2p1:ShowRebateCodeField>
        <d2p1:ShowServiceImage>false</d2p1:ShowServiceImage>
        <d2p1:ShowSubscribeToNewsletter>false</d2p1:ShowSubscribeToNewsletter>
        <d2p1:TimeLayoutId>0</d2p1:TimeLayoutId>
      </d2p1:WidgetSettings>
      <d2p1:ZipCode>String</d2p1:ZipCode>
    </d2p1:CompanyQueryResponse>
  </Results>
  <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Meta>
  <ResponseStatus>
    <ErrorCode>String</ErrorCode>
    <Message>String</Message>
    <StackTrace>String</StackTrace>
    <Errors>
      <ResponseError>
        <ErrorCode>String</ErrorCode>
        <FieldName>String</FieldName>
        <Message>String</Message>
        <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </Meta>
      </ResponseError>
    </Errors>
    <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </Meta>
  </ResponseStatus>
</QueryResponseOfCompanyQueryResponseWg5EthtI>