BokaMera.API.Host

<back to all web services

AddResourceTypeToService

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/services/{Id}/addresourcetypeAdd ResourceType(s) to serviceAdd ResourceType(s) to service for the currently logged in user. Note: you will need to add all ResourceType(s) you want to have connected, only administrators are allowed to add ResourceType(s) to services.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BokaMera.API.ServiceModel.Dtos;
using BokaMera.API.ServiceModel.Enums;
using BokaMera.API.ServiceModel.Interfaces;
using BokaMera.API.ServiceModel.Db;
using ServiceStack.Data;
using BokaMera.API.ServiceModel.Helpers.Payment;
using QvicklyIntegration.Models.Checkout;
using QvicklyIntegration.Models.Common;
using QvicklyIntegration.Models.Payment;
using PaysonIntegrationCO2.Models;
using PaysonIntegrationCO2.Models.Enums;
using BokaMera.API.ServiceModel.Helpers.Payson1Payment;
using Microsoft.Extensions.Logging;

namespace BokaMera.API.ServiceModel.Db
{
    public partial class AdminPaymentOptions
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class Article
        : BaseModel, IBaseModelCreated, IBaseModelUpdated
    {
        public Article()
        {
            ArticleServiceRelations = new List<ArticleServiceRelation>{};
            ServiceIds = new List<int>{};
        }

        public virtual Company Company { get; set; }
        public virtual Currency CurrencyInfo { get; set; }
        public virtual List<ArticleServiceRelation> ArticleServiceRelations { get; set; }
        [Ignore]
        public virtual List<int> ServiceIds { get; set; }

        [Ignore]
        public virtual ArticleTypeEnum ArticleType { get; set; }

        [Ignore]
        public virtual string ArticleTypeName { get; set; }

        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual int ArticleTypeId { get; set; }

        public virtual string Description { get; set; }
        public virtual string ImageUrl { get; set; }
        [Required]
        public virtual bool Active { get; set; }

        [Required]
        public virtual int Amount { get; set; }

        [Required]
        public virtual double Price { get; set; }

        [Required]
        [StringLength(50)]
        public virtual string CurrencyId { get; set; }

        [Required]
        public virtual DateTime UpdatedDate { get; set; }

        [Required]
        public virtual DateTime CreatedDate { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class ArticleServiceRelation
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual int ServiceId { get; set; }

        [Required]
        public virtual int ArticleId { get; set; }
    }

    public partial class AverageRatingScore
    {
        public virtual double AverageScore { get; set; }
        public virtual int Score1Count { get; set; }
        public virtual int Score2Count { get; set; }
        public virtual int Score3Count { get; set; }
        public virtual int Score4Count { get; set; }
        public virtual int Score5Count { get; set; }
        public virtual int Count { get; set; }
    }

    public partial class BaseModel
    {
    }

    public partial class Booking
        : PayableEntity, IInterval, ICustomFieldTable, IBaseModelUpdated, IBaseModelCreated
    {
        public Booking()
        {
            Log = new List<BookingLog>{};
            CheckoutLogs = new List<PaymentDetails>{};
            Prices = new List<BookingPrice>{};
            PriceMappings = new List<PriceMapping>{};
        }

        [Ignore]
        public virtual Service Service { get; set; }

        [Ignore]
        public virtual CalendarExport CalendarExport { get; set; }

        [Ignore]
        public virtual List<BookingLog> Log { get; set; }

        [Ignore]
        public virtual List<PaymentDetails> CheckoutLogs { get; set; }

        [Ignore]
        public virtual List<BookingPrice> Prices { get; set; }

        [Ignore]
        public virtual BookingStatusEnum Status { get; set; }

        [Ignore]
        public virtual bool IsReserved { get; set; }

        [Ignore]
        public virtual string StatusName { get; set; }

        public virtual Currency CurrencyInfo { get; set; }
        public virtual BookingStatus BookingStatus { get; set; }
        [Ignore]
        public virtual double? TotalPrice { get; set; }

        [Ignore]
        public virtual int? TotalSpots { get; set; }

        [Ignore]
        public virtual IList<Resource> Resources { get; set; }

        [Ignore]
        public virtual IList<ExternalReference> ExternalReferences { get; set; }

        [Ignore]
        public virtual IList<BookedResourceType> BookedResources { get; set; }

        [Ignore]
        public virtual IList<CustomFieldConfig> CustomFieldsConfig { get; set; }

        [Ignore]
        public virtual IList<CustomFieldDataResponse> CustomFieldsData { get; set; }

        [Ignore]
        public virtual Guid DeterministicId { get; set; }

        [Ignore]
        public virtual bool Active { get; set; }

        [Ignore]
        public virtual DateTime? LastTimeToUnBook { get; set; }

        [Ignore]
        public virtual List<PriceMapping> PriceMappings { get; set; }

        [Ignore]
        public virtual string InternalReferenceId { get; set; }

        [Required]
        public virtual DateTime UpdatedDate { get; set; }

        [Required]
        public virtual DateTime CreatedDate { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual Guid CustomerId { get; set; }

        [Required]
        public virtual int ServiceId { get; set; }

        [Required]
        public virtual int StatusId { get; set; }

        public virtual DateTime? UnbookedOn { get; set; }
        public virtual string UnbookedComments { get; set; }
        public virtual string BookedComments { get; set; }
        [Required]
        public virtual string BookedBy { get; set; }

        public virtual string UnBookedBy { get; set; }
        [Required]
        public virtual bool SendSmsReminder { get; set; }

        [Required]
        public virtual bool SendEmailReminder { get; set; }

        [Required]
        public virtual bool SendSmsConfirmation { get; set; }

        public virtual string RebateCode { get; set; }
        public virtual string Comments { get; set; }
        public virtual string IpAddress { get; set; }
        [Required]
        public virtual int NumberOfBookedSpots { get; set; }

        public virtual string CommentsToCustomer { get; set; }
        public virtual DateTime? PaymentExpiration { get; set; }
        [Required]
        public virtual bool SendEmailConfirmation { get; set; }

        public virtual string CancellationCode { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual string RatingCode { get; set; }
        public virtual string TextField1 { get; set; }
        public virtual string TextField2 { get; set; }
        public virtual string TextField3 { get; set; }
        public virtual string TextField4 { get; set; }
        public virtual string TextField5 { get; set; }
        public virtual string TextField6 { get; set; }
        public virtual string TextField7 { get; set; }
        public virtual string TextField8 { get; set; }
        public virtual string TextField9 { get; set; }
        public virtual string TextField10 { get; set; }
        public virtual string TextField11 { get; set; }
        public virtual string TextField12 { get; set; }
        public virtual string TextField13 { get; set; }
        public virtual string TextField14 { get; set; }
        public virtual string TextField15 { get; set; }
        public virtual string TextField16 { get; set; }
        public virtual string TextField17 { get; set; }
        public virtual string TextField18 { get; set; }
        public virtual string TextField19 { get; set; }
        public virtual string TextField20 { get; set; }
        [Required]
        public virtual DateTime From { get; set; }

        [Required]
        public virtual DateTime To { get; set; }
    }

    public partial class BookingLog
        : BaseModel
    {
        [References(typeof(BokaMera.API.ServiceModel.Db.BookingLogEventType))]
        public virtual int EventTypeId { get; set; }

        public virtual BookingLogEventType EventType { get; set; }
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual int BookingId { get; set; }

        public virtual int Id { get; set; }
        public virtual string Comments { get; set; }
        public virtual string UserId { get; set; }
        [Required]
        public virtual DateTime Created { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class BookingLogEventType
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class BookingPrice
        : BaseModel
    {
        public BookingPrice()
        {
            AppliedCodes = new List<AppliedRebateCodes>{};
        }

        [References(typeof(BokaMera.API.ServiceModel.Db.Currency))]
        public virtual string CurrencyId { get; set; }

        public virtual int? PriceId { get; set; }
        public virtual Currency CurrencyInfo { get; set; }
        [Ignore]
        public virtual string PriceText { get; set; }

        [Ignore]
        public virtual List<AppliedRebateCodes> AppliedCodes { get; set; }

        [Ignore]
        public virtual bool IsRebate { get; set; }

        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual int BookingId { get; set; }

        [Required]
        public virtual int Quantity { get; set; }

        public virtual double? Price { get; set; }
        public virtual decimal? VAT { get; set; }
        public virtual string Category { get; set; }
        [Required]
        public virtual DateTime Updated { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        [Required]
        public virtual bool Invoiced { get; set; }

        [Required]
        public virtual bool OccupiesSpot { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class BookingSettings
        : BaseModel
    {
        public BookingSettings()
        {
            ScheduleViewOptions = new List<ScheduleView>{};
            WeekNumberSettingOptions = new List<WeekNumberSetting>{};
            BookingTemplateOptions = new List<BookingTemplate>{};
            CalendarTypeOptions = new List<CalendarType>{};
            FreeSpotTextOptions = new List<FreeSpotTexts>{};
            BookingStatusOptions = new List<BookingStatusOptions>{};
        }

        [References(typeof(BokaMera.API.ServiceModel.Db.FreeSpotTexts))]
        public virtual int FreeSpotTextsId { get; set; }

        [Ignore]
        public virtual bool SendEmailConfirmation { get; set; }

        [Ignore]
        public virtual List<ScheduleView> ScheduleViewOptions { get; set; }

        [Ignore]
        public virtual List<WeekNumberSetting> WeekNumberSettingOptions { get; set; }

        [Ignore]
        public virtual List<BookingTemplate> BookingTemplateOptions { get; set; }

        [Ignore]
        public virtual List<CalendarType> CalendarTypeOptions { get; set; }

        [Ignore]
        public virtual List<FreeSpotTexts> FreeSpotTextOptions { get; set; }

        [Ignore]
        public virtual List<BookingStatusOptions> BookingStatusOptions { get; set; }

        public virtual FreeSpotTexts FreeSpotTextsInfo { get; set; }
        [Ignore]
        public virtual string FreeSpotsTextSingular { get; set; }

        [Ignore]
        public virtual string FreeSpotsTextPlural { get; set; }

        [Required]
        public virtual int BookingStatusId { get; set; }

        [Required]
        public virtual int ScheduleViewId { get; set; }

        [Required]
        public virtual int BookingTemplateId { get; set; }

        [Required]
        public virtual int CalendarTypeId { get; set; }

        [Required]
        public virtual bool AllowBookingOnUnbookedTimes { get; set; }

        [Required]
        public virtual bool SendEmailReminder { get; set; }

        [Required]
        public virtual bool SendSmsReminder { get; set; }

        [Required]
        public virtual bool SendSmsConfirmation { get; set; }

        [Required]
        public virtual int EmailReminderTime { get; set; }

        [Required]
        public virtual int SmsReminderTime { get; set; }

        [Required]
        public virtual int MaxActiveBookings { get; set; }

        [Required]
        public virtual bool SendNotifications { get; set; }

        public virtual string SendNotificationsEmail { get; set; }
        [Required]
        public virtual bool EnableMobileApp { get; set; }

        public virtual TimeSpan? ScheduleStartTime { get; set; }
        public virtual TimeSpan? ScheduleEndTime { get; set; }
        public virtual string ReceiptTemplate { get; set; }
        [Required]
        public virtual int ScheduleTimeSlotMinutes { get; set; }

        [Required]
        public virtual bool ShowFreeTimesLeft { get; set; }

        [Required]
        public virtual bool EnableICalGroupBookings { get; set; }

        public virtual string AgreementTemplate { get; set; }
        [Required]
        public virtual bool ScheduleShowTimeExeptions { get; set; }

        [Required]
        public virtual bool EnableBookingsOnSameTime { get; set; }

        [Required]
        public virtual int ShowWeekNumberSettingId { get; set; }

        [Required]
        public virtual bool EnableShowBookedTimes { get; set; }

        [Required]
        public virtual bool EnableSendFollowUpMessage { get; set; }

        [Required]
        public virtual int FollowUpMessageTime { get; set; }

        public virtual string MessageText { get; set; }
        [Required]
        public virtual bool ScheduleGroupResources { get; set; }

        [Required]
        public virtual int BookSpotUserResponseMinutes { get; set; }

        [Required]
        public virtual bool IsBookSpotDirectly { get; set; }

        [Required]
        public virtual int BookSpotDirectlyTimeLeftMinutes { get; set; }

        [Required]
        public virtual bool SendEmailNotificationQueue { get; set; }

        [Required]
        public virtual bool SendSMSNotificationQueue { get; set; }

        [Required]
        public virtual bool SchedulerDisableHorizontalScrolling { get; set; }

        [Required]
        public virtual bool BookOnlyOnExistingCustomers { get; set; }

        [Required]
        public virtual bool AutoGenerateUniquePinCode { get; set; }

        [Required]
        public virtual bool WeightedPrices { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual bool AutoCreateUserProfile { get; set; }

        public virtual bool ShowMultipleResourcesAsOne { get; set; }
        public virtual bool ShowMultiDayAsTime { get; set; }
        [Required]
        public virtual Guid Id { get; set; }
    }

    public partial class BookingStatus
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string Color { get; set; }

        [Required]
        public virtual string Icon { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class BookingStatusOptions
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
    }

    public partial class BookingTemplate
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string UsedByApplication { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class CalendarExport
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual int BookingId { get; set; }

        [Required]
        public virtual int ExceptionId { get; set; }

        public virtual bool? CalendarSync { get; set; }
        public virtual string CalendarId { get; set; }
        public virtual bool? IsExceptionDeleted { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class CalendarType
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual bool Active { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class CodeLockSetting
        : BaseModel
    {
        public CodeLockSetting()
        {
            CodeLockSystemOptions = new List<CodeLockSystem>{};
        }

        [Ignore]
        public virtual List<CodeLockSystem> CodeLockSystemOptions { get; set; }

        [Required]
        public virtual bool Active { get; set; }

        [Required]
        public virtual int CodeLockSystemsId { get; set; }

        [Required]
        public virtual int ValidBeforeMinutes { get; set; }

        [Required]
        public virtual int ValidAfterMinutes { get; set; }

        [Required]
        public virtual bool DeleteOldBySchedule { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        [Required]
        public virtual DateTime Updated { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual bool SendEmailNotification { get; set; }

        [Required]
        public virtual bool SendSMSNotification { get; set; }

        [Required]
        public virtual short EmailNotificationTime { get; set; }

        [Required]
        public virtual short SMSNotificationTime { get; set; }

        [Required]
        public virtual Guid Id { get; set; }
    }

    public partial class CodeLockSystem
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Supplier { get; set; }

        public virtual string LogoType { get; set; }
        [Required]
        public virtual string Description { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class Company
        : BaseModel
    {
        public Company()
        {
            Ratings = new List<Rating>{};
            Licenses = new List<License>{};
            ActiveLicenses = new List<License>{};
        }

        [Ignore]
        public virtual CompanyStatus Status { get; set; }

        [Ignore]
        public virtual bool Active { get; set; }

        [Ignore]
        public virtual IList<CustomFieldConfig> CustomerCustomFieldsConfig { get; set; }

        [Ignore]
        public virtual string BookingAgreements { get; set; }

        [Ignore]
        public virtual BookingSettings BookingSettings { get; set; }

        [Ignore]
        public virtual CompanyType CompanyType { get; set; }

        [Ignore]
        public virtual CodeLockSetting CodeLockSettings { get; set; }

        [Ignore]
        public virtual PaymentSetting PaymentSettings { get; set; }

        [Ignore]
        public virtual CompanySetting Settings { get; set; }

        [Ignore]
        public virtual HomepageWidgetSetting WidgetSettings { get; set; }

        [Ignore]
        public virtual HomepageSetting HomepageSettings { get; set; }

        [Ignore]
        public virtual AverageRatingScore RatingScore { get; set; }

        [Ignore]
        public virtual List<Rating> Ratings { get; set; }

        [Ignore]
        public virtual double? Distance { get; set; }

        [Ignore]
        public virtual List<License> Licenses { get; set; }

        [Ignore]
        public virtual List<License> ActiveLicenses { get; set; }

        [Ignore]
        public virtual License CurrentLicense { get; set; }

        [Ignore]
        public virtual bool IsFreeAccount { get; set; }

        [Ignore]
        public virtual CultureInfo DefaultLanguage { get; set; }

        public virtual CompanyCategory Category { get; set; }
        [Ignore]
        public virtual double Lat { get; set; }

        [Ignore]
        public virtual double Lon { get; set; }

        [Ignore]
        public virtual bool IsFavorite { get; set; }

        [Ignore]
        public virtual IList<ExternalReference> ExternalReferences { get; set; }

        [Required]
        public virtual string OrganisationNumber { get; set; }

        [Required]
        public virtual int StatusId { get; set; }

        [Required]
        public virtual int CategoryId { get; set; }

        [Required]
        public virtual string SitePath { get; set; }

        [Required]
        public virtual string Name { get; set; }

        public virtual string Street1 { get; set; }
        public virtual string Street2 { get; set; }
        public virtual string ZipCode { get; set; }
        public virtual string City { get; set; }
        public virtual string OpeningHours { get; set; }
        public virtual string FaxNumber { get; set; }
        [Required]
        public virtual string Email { get; set; }

        public virtual string Phone { get; set; }
        public virtual string Details { get; set; }
        public virtual string LogoType { get; set; }
        [Required]
        public virtual bool ApprovedByAdmin { get; set; }

        [Required]
        public virtual DateTime Updated { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        public virtual string IpAddress { get; set; }
        public virtual string Homepage { get; set; }
        public virtual string DomainName { get; set; }
        [Required]
        public virtual string CountryId { get; set; }

        [Required]
        public virtual int CompanyOwnerId { get; set; }

        public virtual int? TypeId { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual Guid Id { get; set; }
    }

    public partial class CompanyCategory
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Header { get; set; }

        [Required]
        public virtual string Description { get; set; }

        public virtual Uri ImageUrl { get; set; }
        [Required]
        public virtual bool Active { get; set; }

        public virtual int? SortOrder { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class CompanySetting
        : BaseModel
    {
        public CompanySetting()
        {
            Languages = new List<LanguageResponse>{};
        }

        [Ignore]
        public virtual List<LanguageResponse> Languages { get; set; }

        [Required]
        public virtual bool Active { get; set; }

        public virtual string InactiveMessage { get; set; }
        [Required]
        public virtual bool Searchable { get; set; }

        public virtual string GATrackingId { get; set; }
        public virtual string FacebookPixelId { get; set; }
        [Required]
        public virtual bool MultiLanguage { get; set; }

        [Required]
        public virtual bool EnableAPITranslation { get; set; }

        [Required]
        public virtual string DefaultLanguage { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual string GTMTrackingId { get; set; }
        [Required]
        public virtual bool ShowOnMarketPlace { get; set; }

        public virtual string GoogleAdsConversionId { get; set; }
        public virtual string LinkedinTagId { get; set; }
        public virtual string GoogleAdsConversionLabel { get; set; }
        public virtual bool SendCustomerInformationToExternalProviders { get; set; }
        [Required]
        public virtual Guid Id { get; set; }
    }

    public partial class CompanyType
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class Country
        : BaseModel
    {
        [References(typeof(BokaMera.API.ServiceModel.Db.Currency))]
        public virtual string CurrencyId { get; set; }

        public virtual Currency CurrencyInfo { get; set; }
        [Required]
        public virtual string Name { get; set; }

        public virtual string Culture { get; set; }
        public virtual string TimeZone { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual string Id { get; set; }
    }

    public partial class Currency
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string CurrencySign { get; set; }

        [Required]
        public virtual bool Active { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual string Id { get; set; }
    }

    public partial class Customer
        : BaseModel, IUser, ICustomFieldTable
    {
        public virtual int IdentityId { get; set; }
        public virtual Guid Id { get; set; }
        [Ignore]
        public virtual Guid CustomerId { get; set; }

        [Ignore]
        public virtual IList<UserAccessKeys> AccessKeys { get; set; }

        public virtual string Email { get; set; }
        [Ignore]
        public virtual IList<ExternalReference> ExternalReferences { get; set; }

        [Ignore]
        public virtual Company Company { get; set; }

        [Ignore]
        public virtual IList<CustomFieldConfig> CustomFieldsConfig { get; set; }

        [Ignore]
        public virtual IList<CustomFieldDataResponse> CustomFieldsData { get; set; }

        [Ignore]
        public virtual IList<CustomerComment> Comments { get; set; }

        [Ignore]
        public virtual IList<RebateCode> RebateCodes { get; set; }

        public virtual string Firstname { get; set; }
        [Ignore]
        public virtual string ImageUrl { get; set; }

        [Required]
        public virtual bool Active { get; set; }

        public virtual string FacebookUsername { get; set; }
        [Required]
        public virtual DateTime Updated { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        public virtual string IpAddress { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual string TextField1 { get; set; }
        public virtual string TextField2 { get; set; }
        public virtual string TextField3 { get; set; }
        public virtual string TextField4 { get; set; }
        public virtual string TextField5 { get; set; }
        public virtual string TextField6 { get; set; }
        public virtual string TextField7 { get; set; }
        public virtual string TextField8 { get; set; }
        public virtual string TextField9 { get; set; }
        public virtual string TextField10 { get; set; }
        public virtual string TextField11 { get; set; }
        public virtual string TextField12 { get; set; }
        public virtual string TextField13 { get; set; }
        public virtual string TextField14 { get; set; }
        public virtual string TextField15 { get; set; }
        public virtual string TextField16 { get; set; }
        public virtual string TextField17 { get; set; }
        public virtual string TextField18 { get; set; }
        public virtual string TextField19 { get; set; }
        public virtual string TextField20 { get; set; }
        public virtual Guid UserId { get; set; }
        public virtual string Lastname { get; set; }
        public virtual string Phone { get; set; }
        public virtual string CorporateIdentityNumber { get; set; }
        public virtual string InvoiceAddress1 { get; set; }
        public virtual string InvoiceAddress2 { get; set; }
        public virtual string InvoiceCity { get; set; }
        public virtual string InvoicePostalCode { get; set; }
        public virtual string InvoiceCountryCode { get; set; }
        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual bool SubscribedToNewsletter { get; set; }
    }

    public partial class CustomerComment
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual Guid CustomerId { get; set; }

        [Required]
        public virtual string Comments { get; set; }

        [Required]
        public virtual DateTime Updated { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        public virtual string ImageUrl { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class CustomField
        : BaseModel
    {
        [Required]
        public virtual string Table { get; set; }

        [Required]
        public virtual string Column { get; set; }

        [Required]
        public virtual string DataType { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual bool Active { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class CustomFieldConfig
        : BaseModel
    {
        public CustomFieldConfig()
        {
            Values = new List<CustomFieldValue>{};
            Services = new List<Service>{};
            CustomFieldServiceRelation = new List<CustomFieldServiceRelation>{};
        }

        [Ignore]
        public virtual List<CustomFieldValue> Values { get; set; }

        public virtual CustomField CustomField { get; set; }
        [Ignore]
        public virtual RegEx RegEx { get; set; }

        [Ignore]
        public virtual List<Service> Services { get; set; }

        public virtual List<CustomFieldServiceRelation> CustomFieldServiceRelation { get; set; }
        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        public virtual int? GroupId { get; set; }
        [Required]
        public virtual int FieldId { get; set; }

        [Required]
        public virtual int IconId { get; set; }

        public virtual int? RegExId { get; set; }
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string Datatype { get; set; }

        [Required]
        public virtual int MaxLength { get; set; }

        [Required]
        public virtual bool IsPublic { get; set; }

        [Required]
        public virtual bool IsHidden { get; set; }

        [Required]
        public virtual bool IsMandatory { get; set; }

        public virtual string DefaultValue { get; set; }
        public virtual string RegExErrorMessage { get; set; }
        public virtual string MandatoryErrorMessage { get; set; }
        public virtual int? Width { get; set; }
        [Required]
        public virtual bool MultipleLineText { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class CustomFieldServiceRelation
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual int CustomFieldConfigId { get; set; }

        [Required]
        public virtual int ServiceId { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class CustomFieldValue
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual string Value { get; set; }

        [Required]
        public virtual bool Active { get; set; }

        public virtual short? SortOrder { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class DaysOfWeek
        : BaseModel
    {
        [Required]
        public virtual string DayOfWeek { get; set; }

        [Required]
        public virtual string DayOfWeekTranslation { get; set; }

        public virtual bool? DayOfWeekActive { get; set; }
        public virtual short? DayOfWeekSortOrder { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class ExternalReference
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual Guid Id { get; set; }

        [Required]
        public virtual Guid OwnerId { get; set; }

        [Required]
        public virtual string ReferenceType { get; set; }

        public virtual string ExternalData { get; set; }
        public virtual string CreatedBy { get; set; }
        [Required]
        public virtual DateTime Updated { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class FreeSpotTexts
        : BaseModel
    {
        [Required]
        public virtual string TextSingular { get; set; }

        [Required]
        public virtual string TextPlural { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class HeroSectionStyle
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        public virtual string Description { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class HomepageSetting
        : BaseModel, ICompany
    {
        public HomepageSetting()
        {
            HomepageTemplateOptions = new List<HomepageTemplate>{};
            HomepageHeroSectionStyleOptions = new List<HeroSectionStyle>{};
        }

        [Ignore]
        public virtual List<HomepageTemplate> HomepageTemplateOptions { get; set; }

        [Ignore]
        public virtual List<HeroSectionStyle> HomepageHeroSectionStyleOptions { get; set; }

        [Ignore]
        public virtual Guid? CompanyId { get; set; }

        public virtual string WelcomePageHeading { get; set; }
        public virtual string WelcomePageBody { get; set; }
        public virtual string AboutUsPageHeading { get; set; }
        public virtual string AboutUsPageBody { get; set; }
        [Required]
        public virtual int HomePageTemplateId { get; set; }

        public virtual string ImageUrl { get; set; }
        [Required]
        public virtual DateTime Updated { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        public virtual string HomepageHeading { get; set; }
        [Required]
        public virtual int HeroSectionStyleId { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual bool ShowRating { get; set; }

        [Required]
        public virtual bool EnableHomepage { get; set; }

        [Required]
        public virtual Guid Id { get; set; }
    }

    public partial class HomepageTemplate
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        public virtual Uri ImageUrl { get; set; }
        [Required]
        public virtual bool Premium { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class HomepageWidgetSetting
        : BaseModel
    {
        public HomepageWidgetSetting()
        {
            WidgetServiceLayoutOptions = new List<WidgetServiceLayouts>{};
            WidgetTimeLayoutOptions = new List<WidgetTimeLayouts>{};
            WidgetBookingLayoutOptions = new List<WidgetBookingLayouts>{};
            WidgetBookingMethodOptions = new List<WidgetBookingMethods>{};
        }

        [Ignore]
        public virtual List<WidgetServiceLayouts> WidgetServiceLayoutOptions { get; set; }

        [Ignore]
        public virtual List<WidgetTimeLayouts> WidgetTimeLayoutOptions { get; set; }

        [Ignore]
        public virtual List<WidgetBookingLayouts> WidgetBookingLayoutOptions { get; set; }

        [Ignore]
        public virtual List<WidgetBookingMethods> WidgetBookingMethodOptions { get; set; }

        [Required]
        public virtual int ServiceLayoutId { get; set; }

        [Required]
        public virtual int TimeLayoutId { get; set; }

        [Required]
        public virtual int BookingLayoutId { get; set; }

        [Required]
        public virtual string PrimaryColor { get; set; }

        [Required]
        public virtual bool ShowServiceImage { get; set; }

        [Required]
        public virtual bool ShowNextAvailableTime { get; set; }

        [Required]
        public virtual bool ShowEndTime { get; set; }

        public virtual string BookedTimeSlotText { get; set; }
        [Required]
        public virtual bool DarkTheme { get; set; }

        [Required]
        public virtual bool ShowRebateCodeField { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual bool EnableCreateAccount { get; set; }

        [Required]
        public virtual bool EnableLogin { get; set; }

        [Required]
        public virtual bool EnableDirectBooking { get; set; }

        [Required]
        public virtual bool EnableFacebookLogin { get; set; }

        [Required]
        public virtual bool ShowSubscribeToNewsletter { get; set; }

        [Required]
        public virtual Guid Id { get; set; }
    }

    public partial class License
        : BaseModel
    {
        public virtual LicenseType Type { get; set; }
        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual int TypeId { get; set; }

        [Required]
        public virtual DateTime ValidFrom { get; set; }

        [Required]
        public virtual DateTime ValidTo { get; set; }

        [Required]
        public virtual bool Active { get; set; }

        [Required]
        public virtual DateTime Updated { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual string MetaData { get; set; }
    }

    public partial class LicensePrice
        : BaseModel
    {
        [Ignore]
        public virtual Country Country { get; set; }

        [Ignore]
        public virtual bool MonthlyPayment { get; set; }

        [Required]
        public virtual int LicenseTypeId { get; set; }

        [Required]
        public virtual string CountryId { get; set; }

        [Required]
        public virtual int Price { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class LicenseType
        : BaseModel
    {
        [Ignore]
        public virtual IList<LicenseTypeItem> LicenseItems { get; set; }

        [Ignore]
        public virtual IList<LicensePrice> Prices { get; set; }

        [Ignore]
        public virtual int PeriodOfNoticeDays { get; set; }

        [Ignore]
        public virtual LicenseType NextLicenseOption { get; set; }

        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual bool ExtraLicenseOption { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual bool Active { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class LicenseTypeItem
        : BaseModel
    {
        [Ignore]
        public virtual string Name { get; set; }

        [Ignore]
        public virtual LicenseType LicenseType { get; set; }

        [Required]
        public virtual int LicenseTypesId { get; set; }

        [Required]
        public virtual int LicenseItemsId { get; set; }

        [Required]
        public virtual int NumberOfItems { get; set; }

        public virtual int Id { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class PayableEntity
        : BaseModel, IPayableEntity
    {
        public PayableEntity()
        {
            PaymentLog = new List<PaymentLog>{};
            Customers = new List<Customer>{};
        }

        [Ignore]
        public virtual IDbConnectionFactory DbFactory { get; set; }

        [Ignore]
        public virtual IBokameraPaymentManager<InitCheckoutRequestBody, QvicklyCheckoutResponse, QvicklyPaymentResponse> QvicklyPaymentManager { get; set; }

        [Ignore]
        public virtual IBokameraPaymentManager<Payson2CheckoutResponse, Payson2CheckoutResponse, Payson2CheckoutResponse> Payson2PaymentManager { get; set; }

        [Ignore]
        public virtual IPaysonPaymentCheckout1 PaysonPaymentCheckout1 { get; set; }

        [Ignore]
        public virtual ILogger<PayableEntity> Logger { get; set; }

        [Ignore]
        public virtual string InternalReferenceId { get; set; }

        [Ignore]
        public virtual List<PaymentLog> PaymentLog { get; set; }

        public virtual Guid CompanyId { get; set; }
        public virtual decimal? PriceVat { get; set; }
        [References(typeof(BokaMera.API.ServiceModel.Db.Currency))]
        public virtual string CurrencyId { get; set; }

        [Ignore]
        public virtual Customer Customer { get; set; }

        [Ignore]
        public virtual List<Customer> Customers { get; set; }

        [Ignore]
        public virtual Company Company { get; set; }
    }

    public partial class PaymentDetails
        : BaseModel, IBaseModelCreated, IBaseModelUpdated
    {
        [Ignore]
        public virtual QvicklyCheckoutResponse QvicklyCheckoutSerialized { get; set; }

        [Ignore]
        public virtual Payson2CheckoutResponse Payson2CheckoutSerialized { get; set; }

        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual string InternalReferenceId { get; set; }

        [Required]
        public virtual int ArticleTypeId { get; set; }

        [Required]
        public virtual string ExternalResponseData { get; set; }

        [Required]
        public virtual string ExternalResponseReference { get; set; }

        [Required]
        public virtual int PaymentProviderId { get; set; }

        [Required]
        public virtual DateTime CreatedDate { get; set; }

        [Required]
        public virtual DateTime UpdatedDate { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class PaymentLog
        : BaseModel
    {
        [References(typeof(BokaMera.API.ServiceModel.Db.Currency))]
        public virtual string CurrencyId { get; set; }

        public virtual Currency CurrencyInfo { get; set; }
        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual string InternalReferenceId { get; set; }

        [Required]
        public virtual int ArticleTypeId { get; set; }

        public virtual string PaymentReferenceId { get; set; }
        public virtual int? PaymentProviderId { get; set; }
        public virtual string OrderItemReferenceId { get; set; }
        public virtual double? Amount { get; set; }
        public virtual decimal? VAT { get; set; }
        public virtual double? AmountCredited { get; set; }
        public virtual string Comments { get; set; }
        [Required]
        public virtual DateTime Created { get; set; }

        [Required]
        public virtual DateTime Updated { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class PaymentProviders
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string Category { get; set; }

        public virtual string Url { get; set; }
        [Required]
        public virtual bool Active { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class PaymentSetting
        : BaseModel
    {
        public PaymentSetting()
        {
            AdminPaymentOptions = new List<AdminPaymentOptions>{};
            PaymentProviderOptions = new List<PaymentProviders>{};
        }

        public virtual AdminPaymentOptions AdminPaymentOption { get; set; }
        [Ignore]
        public virtual List<AdminPaymentOptions> AdminPaymentOptions { get; set; }

        [Ignore]
        public virtual List<PaymentProviders> PaymentProviderOptions { get; set; }

        [Required]
        public virtual bool Enabled { get; set; }

        [Required]
        public virtual int InvoiceFee { get; set; }

        [Required]
        public virtual bool AllowCreditCardPayment { get; set; }

        [Required]
        public virtual bool AllowInvoicePayment { get; set; }

        [Required]
        public virtual bool AllowBankPayment { get; set; }

        [Required]
        public virtual bool GuaranteeOffered { get; set; }

        [Required]
        public virtual bool RefundOnCancelBooking { get; set; }

        public virtual int? DefaultPaymentOptionId { get; set; }
        [Required]
        public virtual int PaymentProviderId { get; set; }

        [Required]
        public virtual bool SendPaymentRequestDirectly { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual Guid Id { get; set; }
    }

    public partial class PriceMapping
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual Guid Id { get; set; }

        [Required]
        public virtual int PriceId { get; set; }

        public virtual string ReferenceType { get; set; }
        public virtual string ExternalReference { get; set; }
        [Required]
        public virtual DateTime UpdatedDate { get; set; }

        [Required]
        public virtual DateTime CreatedDate { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class Rating
        : BaseModel
    {
        public virtual Guid? ReviewId { get; set; }
        public virtual Review Review { get; set; }
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual int BookingId { get; set; }

        [Required]
        public virtual int RatingScore { get; set; }

        [Required]
        public virtual int Status { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        [Required]
        public virtual DateTime Updated { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class RebateCode
        : PayableEntity
    {
        public RebateCode()
        {
            Services = new List<Service>{};
            RebateCodeDayOfWeekRelation = new List<RebateCodeDayOfWeekRelation>{};
            RebateCodeServiceRelation = new List<RebateCodeServiceRelation>{};
            RebateCodeBookingPriceRelation = new List<RebateCodeBookingPriceRelation>{};
            RebateCodeCustomerRelation = new List<RebateCodeCustomerRelation>{};
            DaysOfWeek = new List<DaysOfWeek>{};
            Transactions = new List<RebateCodeTransaction>{};
        }

        [References(typeof(BokaMera.API.ServiceModel.Db.RebateCodeType))]
        public virtual int RebateCodeTypeId { get; set; }

        public virtual RebateCodeType RebateCodeTypeInfo { get; set; }
        [References(typeof(BokaMera.API.ServiceModel.Db.RebateCodeStatus))]
        public virtual int RebateCodeStatusId { get; set; }

        public virtual RebateCodeStatus RebateCodeStatusInfo { get; set; }
        [Ignore]
        public virtual Article Article { get; set; }

        [Ignore]
        public virtual List<Service> Services { get; set; }

        public virtual List<RebateCodeDayOfWeekRelation> RebateCodeDayOfWeekRelation { get; set; }
        public virtual List<RebateCodeServiceRelation> RebateCodeServiceRelation { get; set; }
        public virtual List<RebateCodeBookingPriceRelation> RebateCodeBookingPriceRelation { get; set; }
        public virtual List<RebateCodeCustomerRelation> RebateCodeCustomerRelation { get; set; }
        [Ignore]
        public virtual string ServicesNames { get; set; }

        [Ignore]
        public virtual List<DaysOfWeek> DaysOfWeek { get; set; }

        [Ignore]
        public virtual RebateCodeStatus RebateCodeStatus { get; set; }

        [Ignore]
        public virtual RebateCodeType RebateCodeType { get; set; }

        [Ignore]
        public virtual List<RebateCodeTransaction> Transactions { get; set; }

        [Ignore]
        public virtual double? RemainingAmount { get; set; }

        [Ignore]
        public virtual int? RemainingUsage { get; set; }

        [Ignore]
        public virtual int CurrentNumberOfUsesPerCustomer { get; set; }

        [Ignore]
        public virtual bool IsSpecificByDayOfWeek { get; set; }

        [Ignore]
        public virtual bool Active { get; set; }

        [Ignore]
        public virtual bool ActiveByStatus { get; set; }

        [Ignore]
        public virtual string RebateCodeCurrencySign { get; set; }

        public virtual Currency CurrencyInfo { get; set; }
        [Ignore]
        public virtual bool PaymentReceived { get; set; }

        [Ignore]
        public virtual string InternalReferenceId { get; set; }

        [Required]
        public virtual DateTime ValidFrom { get; set; }

        [Required]
        public virtual DateTime ValidTo { get; set; }

        [Required]
        public virtual string RebateCodeSign { get; set; }

        [Required]
        public virtual int RebateCodeValue { get; set; }

        [Required]
        public virtual int MaxNumberOfUses { get; set; }

        [Required]
        public virtual int MaxNumberOfUsesPerCustomer { get; set; }

        [Required]
        public virtual int NumberOfUsesUsed { get; set; }

        public virtual string PersonalNote { get; set; }
        [Required]
        public virtual string CreatedBy { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        [Required]
        public virtual string UpdatedBy { get; set; }

        [Required]
        public virtual DateTime UpdatedDate { get; set; }

        [Required]
        public virtual TimeSpan FromTime { get; set; }

        [Required]
        public virtual TimeSpan ToTime { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
        public virtual int? ArticleId { get; set; }
    }

    public partial class RebateCodeBookingPriceRelation
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual int PriceId { get; set; }

        [Required]
        public virtual int RebateCodeId { get; set; }

        public virtual int Id { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class RebateCodeCustomerRelation
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual Guid CustomerId { get; set; }

        [Required]
        public virtual int RebateCodeId { get; set; }

        public virtual int Id { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual bool RebateCodeEmailSentToCustomer { get; set; }
        public virtual string MessageToReceiver { get; set; }
        public virtual bool Buyer { get; set; }
    }

    public partial class RebateCodeDayOfWeekRelation
        : BaseModel
    {
        [Ignore]
        public virtual BokaMeraDayOfWeek DayOfWeek { get; set; }

        [Required]
        public virtual int DayOfWeekId { get; set; }

        [Required]
        public virtual int RebateCodeId { get; set; }

        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class RebateCodeServiceRelation
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual int ServiceId { get; set; }

        [Required]
        public virtual int RebateCodeId { get; set; }

        public virtual int Id { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class RebateCodeStatus
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        public virtual string Description { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class RebateCodeTransaction
        : BaseModel, IBaseModelCreated, IBaseModelUpdated
    {
        [Ignore]
        public virtual Booking Booking { get; set; }

        [Ignore]
        public virtual RebateCode RebateCode { get; set; }

        [Ignore]
        public virtual Customer Customer { get; set; }

        public virtual int Id { get; set; }
        public virtual Guid CompanyId { get; set; }
        public virtual string Note { get; set; }
        [Required]
        public virtual int RebateCodeId { get; set; }

        [Required]
        public virtual double Amount { get; set; }

        [Required]
        public virtual int Usage { get; set; }

        public virtual int? BookingId { get; set; }
        [Required]
        public virtual DateTime UpdatedDate { get; set; }

        [Required]
        public virtual DateTime CreatedDate { get; set; }
    }

    public partial class RebateCodeType
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        public virtual string Description { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class RegEx
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string RegExCode { get; set; }

        public virtual string ErrorMessage { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class Resource
        : BaseModel, ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated
    {
        [Ignore]
        public virtual int Priority { get; set; }

        [Ignore]
        public virtual IList<ISchedule> Schedules { get; set; }

        [Ignore]
        public virtual IList<ITimeException> Exceptions { get; set; }

        [Ignore]
        public virtual IList<IBookedTime> Bookings { get; set; }

        [Ignore]
        public virtual IList<CustomFieldConfig> CustomFieldsConfig { get; set; }

        [Ignore]
        public virtual IList<CustomFieldDataResponse> CustomFieldsData { get; set; }

        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual bool Active { get; set; }

        public virtual string Description { get; set; }
        public virtual string ImageUrl { get; set; }
        [Required]
        public virtual DateTime UpdatedDate { get; set; }

        [Required]
        public virtual DateTime CreatedDate { get; set; }

        [Required]
        public virtual string Color { get; set; }

        public virtual string Email { get; set; }
        public virtual string MobilePhone { get; set; }
        public virtual bool? EmailNotification { get; set; }
        public virtual bool? SMSNotification { get; set; }
        [Required]
        public virtual bool SendSMSReminder { get; set; }

        [Required]
        public virtual bool SendEmailReminder { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual string AccessGroup { get; set; }
        public virtual string TextField1 { get; set; }
        public virtual string TextField2 { get; set; }
        public virtual string TextField3 { get; set; }
        public virtual string TextField4 { get; set; }
        public virtual string TextField5 { get; set; }
        public virtual string TextField6 { get; set; }
        public virtual string TextField7 { get; set; }
        public virtual string TextField8 { get; set; }
        public virtual string TextField9 { get; set; }
        public virtual string TextField10 { get; set; }
        public virtual string TextField11 { get; set; }
        public virtual string TextField12 { get; set; }
        public virtual string TextField13 { get; set; }
        public virtual string TextField14 { get; set; }
        public virtual string TextField15 { get; set; }
        public virtual string TextField16 { get; set; }
        public virtual string TextField17 { get; set; }
        public virtual string TextField18 { get; set; }
        public virtual string TextField19 { get; set; }
        public virtual string TextField20 { get; set; }
    }

    public partial class ResourceType
        : BaseModel, IBaseModelCreated, IBaseModelUpdated
    {
        public ResourceType()
        {
            Resources = new List<Resource>{};
        }

        [Ignore]
        public virtual bool SelectableByUser { get; set; }

        [Ignore]
        public virtual List<Resource> Resources { get; set; }

        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual string Name { get; set; }

        public virtual string Description { get; set; }
        [Required]
        public virtual bool Active { get; set; }

        [Required]
        public virtual DateTime UpdatedDate { get; set; }

        [Required]
        public virtual DateTime CreatedDate { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
    }

    public partial class Review
        : BaseModel
    {
        public virtual Guid ReviewId { get; set; }
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual string Title { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string Author { get; set; }

        [Required]
        public virtual int Status { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        [Required]
        public virtual DateTime Updated { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual string ReviewAnswer { get; set; }
    }

    public partial class ScheduleView
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class Service
        : BaseModel, ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated
    {
        public Service()
        {
            ResourceTypes = new List<ResourceType>{};
            Prices = new List<ServicePrice>{};
            BookingStatusOptions = new List<BookingStatusOptions>{};
            Ratings = new List<Rating>{};
        }

        [Ignore]
        public virtual List<ResourceType> ResourceTypes { get; set; }

        [Ignore]
        public virtual IEnumerable<Resource> Resources { get; set; }

        [Ignore]
        public virtual TotalPriceInformation TotalPrice { get; set; }

        [Ignore]
        public virtual List<ServicePrice> Prices { get; set; }

        [Ignore]
        public virtual List<BookingStatusOptions> BookingStatusOptions { get; set; }

        [Ignore]
        public virtual bool IsGroupBooking { get; set; }

        [Ignore]
        public virtual bool IsMultipleResource { get; set; }

        [Ignore]
        public virtual BookingSettings Settings { get; set; }

        [Ignore]
        public virtual PaymentSetting PaymentSetting { get; set; }

        [Ignore]
        public virtual IList<CustomFieldConfig> BookingCustomFieldsConfig { get; set; }

        [Ignore]
        public virtual IList<CustomFieldConfig> CustomerCustomFieldsConfig { get; set; }

        [Ignore]
        public virtual IList<CustomFieldConfig> CustomFieldsConfig { get; set; }

        [Ignore]
        public virtual IList<CustomFieldDataResponse> CustomFieldsData { get; set; }

        [Ignore]
        public virtual IList<ISchedule> Schedules { get; set; }

        [Ignore]
        public virtual IList<Booking> CustomerActiveBookings { get; set; }

        [Ignore]
        public virtual ScheduleType ScheduleType { get; set; }

        [Ignore]
        public virtual TimeSpan LastTimeToUnbookThreshold { get; set; }

        [Ignore]
        public virtual TimeSpan LastTimeToBookThreshold { get; set; }

        [Ignore]
        public virtual AverageRatingScore RatingScore { get; set; }

        [Ignore]
        public virtual List<Rating> Ratings { get; set; }

        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        public virtual string Group { get; set; }
        [Required]
        public virtual bool Active { get; set; }

        [Required]
        public virtual int SortOrder { get; set; }

        [Required]
        public virtual int PauseAfterBooking { get; set; }

        [Required]
        public virtual int UnbookBeforeDays { get; set; }

        [Required]
        public virtual int UnbookBeforeHours { get; set; }

        [Required]
        public virtual int UnbookBeforeMinutes { get; set; }

        [Required]
        public virtual int BookBeforeDays { get; set; }

        [Required]
        public virtual int BookBeforeHours { get; set; }

        [Required]
        public virtual int BookBeforeMinutes { get; set; }

        public virtual int? Duration { get; set; }
        public virtual int DurationTypeId { get; set; }
        public virtual int? MinDuration { get; set; }
        public virtual int? MaxDuration { get; set; }
        public virtual int? DurationInterval { get; set; }
        public virtual int? TotalSpots { get; set; }
        public virtual string ImageUrl { get; set; }
        [Required]
        public virtual int ScheduleTypeId { get; set; }

        [Required]
        public virtual DateTime UpdatedDate { get; set; }

        [Required]
        public virtual DateTime CreatedDate { get; set; }

        [Required]
        public virtual bool OnlyVisibleByAdmin { get; set; }

        [Required]
        public virtual int MinNumberOfSpotsPerBooking { get; set; }

        [Required]
        public virtual int MaxNumberOfSpotsPerBooking { get; set; }

        [Required]
        public virtual int MinNumberOfResourcesToBook { get; set; }

        [Required]
        public virtual int MaxNumberOfResourcesToBook { get; set; }

        [Required]
        public virtual bool IsPaymentEnabled { get; set; }

        [Required]
        public virtual int MaxPaymentTime { get; set; }

        [Required]
        public virtual bool LockSpotsToBooking { get; set; }

        [Required]
        public virtual bool EnableBookingQueue { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int BookingStatusId { get; set; }

        [Required]
        public virtual bool EnableCodeLockSync { get; set; }

        [Required]
        public virtual bool EnableCustomerManualPayment { get; set; }

        public virtual int? PriceViewTypeId { get; set; }
        public virtual string TextField1 { get; set; }
        public virtual string TextField2 { get; set; }
        public virtual string TextField3 { get; set; }
        public virtual string TextField4 { get; set; }
        public virtual string TextField5 { get; set; }
        public virtual string TextField6 { get; set; }
        public virtual string TextField7 { get; set; }
        public virtual string TextField8 { get; set; }
        public virtual string TextField9 { get; set; }
        public virtual string TextField10 { get; set; }
        public virtual string TextField11 { get; set; }
        public virtual string TextField12 { get; set; }
        public virtual string TextField13 { get; set; }
        public virtual string TextField14 { get; set; }
        public virtual string TextField15 { get; set; }
        public virtual string TextField16 { get; set; }
        public virtual string TextField17 { get; set; }
        public virtual string TextField18 { get; set; }
        public virtual string TextField19 { get; set; }
        public virtual string TextField20 { get; set; }
        public partial class TotalPriceInformation
        {
            public TotalPriceInformation()
            {
                AppliedCodes = new List<AppliedRebateCodes>{};
            }

            public virtual double TotalPrice { get; set; }
            public virtual double TotalVATAmount { get; set; }
            public virtual double TotalRebate { get; set; }
            public virtual double TotalPriceBeforeRebate { get; set; }
            public virtual List<AppliedRebateCodes> AppliedCodes { get; set; }
            public virtual string PriceSign { get; set; }
            public virtual string CurrencyId { get; set; }
            public virtual decimal VAT { get; set; }
        }

        public partial class AppliedRebateCodes
        {
            public virtual int RebateCodeId { get; set; }
            public virtual string RebateCodeSign { get; set; }
            public virtual int RebateCodeValue { get; set; }
            public virtual double RebateAmount { get; set; }
            public virtual RebateCodeType RebateCodeType { get; set; }
        }

    }

    public partial class ServicePrice
        : BaseModel, IInterval
    {
        public ServicePrice()
        {
            PriceMappings = new List<PriceMapping>{};
            DayOfWeeks = new List<ServicePriceDayOfWeekRelation>{};
            RebateCodesApplied = new List<RebateCode>{};
            OverlappingPrices = new List<ServicePrice>{};
        }

        [References(typeof(BokaMera.API.ServiceModel.Db.Currency))]
        public virtual string CurrencyId { get; set; }

        public virtual Currency CurrencyInfo { get; set; }
        [Ignore]
        public virtual Service Service { get; set; }

        [Ignore]
        public virtual List<PriceMapping> PriceMappings { get; set; }

        [Ignore]
        public virtual bool isTimeSpecific { get; set; }

        [Ignore]
        public virtual bool isDaysOfWeekSpecific { get; set; }

        public virtual List<ServicePriceDayOfWeekRelation> DayOfWeeks { get; set; }
        [Ignore]
        public virtual double? PriceBeforeRebate { get; set; }

        [Ignore]
        public virtual List<RebateCode> RebateCodesApplied { get; set; }

        [Ignore]
        public virtual string PriceText { get; set; }

        [Ignore]
        public virtual List<ServicePrice> OverlappingPrices { get; set; }

        [Required]
        public virtual Guid CompanyId { get; set; }

        public virtual int Id { get; set; }
        [Required]
        public virtual int ServiceId { get; set; }

        public virtual double? Price { get; set; }
        [Required]
        public virtual DateTime Updated { get; set; }

        [Required]
        public virtual DateTime Created { get; set; }

        [Required]
        public virtual TimeSpan FromTime { get; set; }

        [Required]
        public virtual TimeSpan ToTime { get; set; }

        [Required]
        public virtual decimal VAT { get; set; }

        public virtual string Category { get; set; }
        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual DateTime From { get; set; }

        [Required]
        public virtual DateTime To { get; set; }

        [Required]
        public virtual int CalculationTypeId { get; set; }
    }

    public partial class ServicePriceDayOfWeekRelation
        : BaseModel
    {
        [Ignore]
        public virtual BokaMeraDayOfWeek DayOfWeek { get; set; }

        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual int ServicePriceId { get; set; }

        [Required]
        public virtual int DayOfWeekId { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        public virtual int Id { get; set; }
    }

    public partial class UserAccessKeys
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual int AccessKeyTypeId { get; set; }

        [Required]
        public virtual string Value { get; set; }

        [Required]
        public virtual Guid CustomerId { get; set; }

        public virtual string Description { get; set; }
        [Required]
        public virtual Guid Id { get; set; }
    }

    public partial class WeekNumberSetting
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class WidgetBookingLayouts
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string Code { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class WidgetBookingMethods
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string Code { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class WidgetServiceLayouts
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string Code { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

    public partial class WidgetTimeLayouts
        : BaseModel
    {
        [Required]
        public virtual string Name { get; set; }

        [Required]
        public virtual string Description { get; set; }

        [Required]
        public virtual string Code { get; set; }

        public virtual DateTimeOffset? ModifiedDate { get; set; }
        [Required]
        public virtual int Id { get; set; }
    }

}

namespace BokaMera.API.ServiceModel.Dtos
{
    public partial class AddResourceTypeService
        : ICompany
    {
        ///<summary>
        ///The company id, if empty will use the company id for the user you are logged in with.
        ///</summary>
        [ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")]
        public virtual Guid? CompanyId { get; set; }

        ///<summary>
        ///The resourcetype id
        ///</summary>
        [ApiMember(Description="The resourcetype id")]
        public virtual int Id { get; set; }

        ///<summary>
        ///If the resources within the resourcetype should be selectable by customer when creating a booking
        ///</summary>
        [ApiMember(Description="If the resources within the resourcetype should be selectable by customer when creating a booking")]
        public virtual bool SelectableByUser { get; set; }
    }

    [ValidateRequest("IsAuthenticated")]
    public partial class AddResourceTypeToService
    {
        public AddResourceTypeToService()
        {
            ResourceTypes = new List<AddResourceTypeService>{};
        }

        ///<summary>
        ///The company id
        ///</summary>
        [ApiMember(Description="The company id", IsRequired=true)]
        public virtual Guid CompanyId { get; set; }

        ///<summary>
        ///The service id
        ///</summary>
        [ApiMember(Description="The service id", IsRequired=true, ParameterType="path")]
        public virtual int Id { get; set; }

        ///<summary>
        ///The ResourceType(s) to be added
        ///</summary>
        [ApiMember(Description="The ResourceType(s) to be added")]
        public virtual List<AddResourceTypeService> ResourceTypes { get; set; }
    }

    public partial class BookedCustomer
    {
        public virtual Guid Id { get; set; }
        public virtual string Firstname { get; set; }
        public virtual string Lastname { get; set; }
        public virtual string Email { get; set; }
        public virtual string Phone { get; set; }
        public virtual string FacebookUserName { get; set; }
        public virtual string ImageUrl { get; set; }
        public virtual string CorporateIdentityNumber { get; set; }
        public virtual string InvoiceAddress1 { get; set; }
        public virtual string InvoiceAddress2 { get; set; }
        public virtual string InvoiceCity { get; set; }
        public virtual string InvoicePostalCode { get; set; }
        public virtual string InvoiceCountryCode { get; set; }
    }

    public partial class BookedResource
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Color { get; set; }
        public virtual Uri ImageUrl { get; set; }
        public virtual string Email { get; set; }
        public virtual string MobilePhone { get; set; }
        public virtual string AccessGroup { get; set; }
        public virtual bool EmailNotification { get; set; }
        public virtual bool SMSNotification { get; set; }
        public virtual bool EmailReminder { get; set; }
        public virtual bool SMSReminder { get; set; }
    }

    public partial class BookedResourceType
    {
        public BookedResourceType()
        {
            Resources = new List<BookedResource>{};
        }

        ///<summary>
        ///The resource type id
        ///</summary>
        [ApiMember(Description="The resource type id")]
        public virtual int Id { get; set; }

        ///<summary>
        ///The resource type name
        ///</summary>
        [ApiMember(Description="The resource type name")]
        public virtual string Name { get; set; }

        ///<summary>
        ///The resources inside resource type
        ///</summary>
        [ApiMember(Description="The resources inside resource type")]
        public virtual List<BookedResource> Resources { get; set; }
    }

    public partial class BookingStatusOptionsResponse
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
    }

    public partial class CompanyRatingSummary
    {
        ///<summary>
        ///The average rating score
        ///</summary>
        [ApiMember(Description="The average rating score")]
        public virtual double AverageScore { get; set; }

        ///<summary>
        ///The number of ratings of score 1
        ///</summary>
        [ApiMember(Description="The number of ratings of score 1")]
        public virtual int RatingScore1Count { get; set; }

        ///<summary>
        ///The number of ratings of score 2
        ///</summary>
        [ApiMember(Description="The number of ratings of score 2")]
        public virtual int RatingScore2Count { get; set; }

        ///<summary>
        ///The number of ratings of score 3
        ///</summary>
        [ApiMember(Description="The number of ratings of score 3")]
        public virtual int RatingScore3Count { get; set; }

        ///<summary>
        ///The number of ratings of score 4
        ///</summary>
        [ApiMember(Description="The number of ratings of score 4")]
        public virtual int RaingScore4Count { get; set; }

        ///<summary>
        ///The number of ratings of score 5
        ///</summary>
        [ApiMember(Description="The number of ratings of score 5")]
        public virtual int RatingScore5Count { get; set; }

        ///<summary>
        ///The number of ratings
        ///</summary>
        [ApiMember(Description="The number of ratings")]
        public virtual int Count { get; set; }
    }

    public partial class CustomFieldConfigData
    {
        public CustomFieldConfigData()
        {
            Values = new List<CustomFieldValueResponse>{};
        }

        ///<summary>
        ///Custom field id
        ///</summary>
        [ApiMember(Description="Custom field id")]
        public virtual int Id { get; set; }

        ///<summary>
        ///Configuration name. Example: 'Number of persons'.
        ///</summary>
        [ApiMember(Description="Configuration name. Example: 'Number of persons'.")]
        public virtual string Name { 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?'")]
        public virtual string Description { get; set; }

        ///<summary>
        ///Field width. Example: 20 for 20px
        ///</summary>
        [ApiMember(Description="Field width. Example: 20 for 20px")]
        public virtual int? Width { 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'")]
        public virtual string DataType { get; set; }

        ///<summary>
        ///Default value of the field. Example: '3'
        ///</summary>
        [ApiMember(Description="Default value of the field. Example: '3'")]
        public virtual string DefaultValue { 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")]
        public virtual bool IsMandatory { 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")]
        public virtual string MandatoryErrorMessage { get; set; }

        ///<summary>
        ///Max lenght of the field
        ///</summary>
        [ApiMember(Description="Max lenght of the field")]
        public virtual int MaxLength { get; set; }

        ///<summary>
        ///If the field should have multiple lines
        ///</summary>
        [ApiMember(Description="If the field should have multiple lines")]
        public virtual bool MultipleLineText { get; set; }

        ///<summary>
        ///Regular expression used for validation of the field
        ///</summary>
        [ApiMember(Description="Regular expression used for validation of the field")]
        public virtual string RegEx { get; set; }

        ///<summary>
        ///Error message shown if the regular expression validation failed
        ///</summary>
        [ApiMember(Description="Error message shown if the regular expression validation failed")]
        public virtual string RegExErrorMessage { 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")]
        public virtual List<CustomFieldValueResponse> Values { get; set; }
    }

    public partial class CustomFieldDataResponse
    {
        public virtual int Id { get; set; }
        public virtual string Column { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual string Value { 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'")]
        public virtual string DataType { get; set; }
    }

    public partial class CustomFieldValueResponse
    {
        public virtual string Value { get; set; }
    }

    public partial class DayOfWeekDto
    {
        public virtual int DayOfWeekId { get; set; }
        public virtual int DotNetDayOfWeekId { get; set; }
        public virtual string DayOfWeek { get; set; }
    }

    public partial class GroupBookingSettings
    {
        public virtual bool Active { get; set; }
        public virtual int Min { get; set; }
        public virtual int Max { get; set; }
    }

    public partial class LanguageResponse
    {
        public virtual string Id { get; set; }
        public virtual string Name { get; set; }
    }

    public partial class MultipleResourceSettings
    {
        public virtual bool Active { get; set; }
        public virtual int Min { get; set; }
        public virtual int Max { get; set; }
    }

    public partial class RatingReviewResponse
    {
        ///<summary>
        ///The title for the review
        ///</summary>
        [ApiMember(Description="The title for the review")]
        public virtual string Title { get; set; }

        ///<summary>
        ///The description for the review
        ///</summary>
        [ApiMember(Description="The description for the review")]
        public virtual string Description { get; set; }

        ///<summary>
        ///The rating score
        ///</summary>
        [ApiMember(Description="The rating score")]
        public virtual int RatingScore { get; set; }

        ///<summary>
        ///The review author
        ///</summary>
        [ApiMember(Description="The review author")]
        public virtual string Author { get; set; }

        ///<summary>
        ///The created date
        ///</summary>
        [ApiMember(Description="The created date")]
        public virtual DateTime Created { get; set; }

        ///<summary>
        ///The review answer from the company
        ///</summary>
        [ApiMember(Description="The review answer from the company")]
        public virtual string ReviewAnswer { get; set; }
    }

    public partial class ServiceInfoResponse
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual Uri ImageUrl { get; set; }
        public virtual int? LengthInMinutes { get; set; }
        public virtual int MaxNumberOfSpotsPerBooking { get; set; }
        public virtual int MinNumberOfSpotsPerBooking { get; set; }
        public virtual GroupBookingSettings GroupBooking { get; set; }
        public virtual MultipleResourceSettings MultipleResource { get; set; }
        public virtual bool IsGroupBooking { get; set; }
        public virtual bool IsPaymentEnabled { get; set; }
    }

    public partial class ServicePriceResponse
    {
        public ServicePriceResponse()
        {
            DaysOfWeek = new List<DayOfWeekDto>{};
        }

        ///<summary>
        ///The company id
        ///</summary>
        [ApiMember(Description="The company id")]
        public virtual Guid CompanyId { get; set; }

        ///<summary>
        ///The price id
        ///</summary>
        [ApiMember(Description="The price id")]
        public virtual int Id { get; set; }

        ///<summary>
        ///The service id
        ///</summary>
        [ApiMember(Description="The service id")]
        public virtual int ServiceId { get; set; }

        ///<summary>
        ///The price
        ///</summary>
        [ApiMember(Description="The price")]
        public virtual double Price { get; set; }

        ///<summary>
        ///The price calculation type id, 1 = Normal, price is for the service total duration, 2 = Price is per minute, 3 = Price is per hour, 4= Price is per day
        ///</summary>
        [ApiMember(Description="The price calculation type id, 1 = Normal, price is for the service total duration, 2 = Price is per minute, 3 = Price is per hour, 4= Price is per day")]
        public virtual int CalculationTypeId { get; set; }

        ///<summary>
        ///The price currency
        ///</summary>
        [ApiMember(Description="The price currency")]
        public virtual string CurrencyId { get; set; }

        ///<summary>
        ///The price sign
        ///</summary>
        [ApiMember(Description="The price sign")]
        public virtual string PriceSign { get; set; }

        ///<summary>
        ///The price VAT in percent
        ///</summary>
        [ApiMember(Description="The price VAT in percent")]
        public virtual decimal VAT { get; set; }

        ///<summary>
        ///The price category if price has a category
        ///</summary>
        [ApiMember(Description="The price category if price has a category")]
        public virtual string Category { get; set; }

        ///<summary>
        ///The price text to display
        ///</summary>
        [ApiMember(Description="The price text to display")]
        public virtual string PriceText { get; set; }

        ///<summary>
        ///The valid from date for the price.
        ///</summary>
        [ApiMember(Description="The valid from date for the price.")]
        public virtual DateTime From { get; set; }

        ///<summary>
        ///The valid to date for the price.
        ///</summary>
        [ApiMember(Description="The valid to date for the price.")]
        public virtual DateTime To { get; set; }

        ///<summary>
        ///If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.
        ///</summary>
        [ApiMember(Description="If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.")]
        public virtual List<DayOfWeekDto> DaysOfWeek { get; set; }

        ///<summary>
        ///If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.
        ///</summary>
        [ApiMember(Description="If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.")]
        public virtual TimeSpan? FromTime { get; set; }

        ///<summary>
        ///If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.
        ///</summary>
        [ApiMember(Description="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.")]
        public virtual TimeSpan? ToTime { get; set; }

        public virtual ServiceInfoResponse Service { get; set; }
        ///<summary>
        ///If the price is only valid for a specific time span
        ///</summary>
        [ApiMember(Description="If the price is only valid for a specific time span")]
        public virtual bool IsTimeSpecific { get; set; }

        ///<summary>
        ///If the price is only valid for specific days of week
        ///</summary>
        [ApiMember(Description="If the price is only valid for specific days of week")]
        public virtual bool IsDaysOfWeekSpecific { get; set; }
    }

    public partial class ServiceQueryResponse
    {
        public ServiceQueryResponse()
        {
            CustomFields = new List<CustomFieldConfigData>{};
            CustomFieldValues = new List<CustomFieldDataResponse>{};
            BookingCustomFields = new List<CustomFieldConfigData>{};
            CustomerCustomFields = new List<CustomFieldConfigData>{};
            BookingStatusOptions = new List<BookingStatusOptionsResponse>{};
            Prices = new List<ServicePriceResponse>{};
            Reviews = new List<RatingReviewResponse>{};
            ResourceTypes = new List<ServiceResourceTypeResponse>{};
        }

        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual Uri ImageUrl { get; set; }
        public virtual int TotalSpots { get; set; }
        ///<summary>
        ///If this setting is turned on the remaining spots (if Totalspots > 1) is locked from be booked by another customer.
        ///</summary>
        [ApiMember(Description="If this setting is turned on the remaining spots (if Totalspots > 1) is locked from be booked by another customer.")]
        public virtual bool? LockSpotsToBooking { get; set; }

        public virtual int MinNumberOfSpotsPerBooking { get; set; }
        public virtual int MaxNumberOfSpotsPerBooking { get; set; }
        public virtual int MinNumberOfResourcesToBook { get; set; }
        public virtual int MaxNumberOfResourcesToBook { get; set; }
        public virtual int UnbookBeforeDays { get; set; }
        public virtual int UnbookBeforeHours { get; set; }
        public virtual int UnbookBeforeMinutes { get; set; }
        ///<summary>
        ///What type of schedule is connected to the service.  RecurringSchedule = 1, DateSchedule = 2
        ///</summary>
        [ApiMember(Description="What type of schedule is connected to the service.  RecurringSchedule = 1, DateSchedule = 2")]
        public virtual ScheduleType ScheduleType { get; set; }

        ///<summary>
        ///What type of schedule is connected to the service.  RecurringSchedule = 1, DateSchedule = 2
        ///</summary>
        [ApiMember(Description="What type of schedule is connected to the service.  RecurringSchedule = 1, DateSchedule = 2")]
        public virtual int ScheduleTypeId { get; set; }

        public virtual int BookBeforeDays { get; set; }
        public virtual int BookBeforeHours { get; set; }
        public virtual int BookBeforeMinutes { get; set; }
        public virtual string Group { get; set; }
        public virtual bool EnableBookingQueue { get; set; }
        public virtual bool EnableCodeLockSync { get; set; }
        public virtual bool EnableCustomerManualPayment { get; set; }
        public virtual int SortOrder { get; set; }
        public virtual bool Active { get; set; }
        public virtual bool IsGroupBooking { get; set; }
        public virtual GroupBookingSettings GroupBooking { get; set; }
        public virtual MultipleResourceSettings MultipleResource { get; set; }
        public virtual bool IsPaymentEnabled { get; set; }
        ///<summary>
        ///Maximum numbers of minutes the booking payment must be completed before automatically unbooked
        ///</summary>
        [ApiMember(Description="Maximum numbers of minutes the booking payment must be completed before automatically unbooked")]
        public virtual int MaxPaymentTime { get; set; }

        ///<summary>
        ///If the booking should be either 1 = Booked) or 3 = Reserved. Default is 1 = Booked.
        ///</summary>
        [ApiMember(Description="If the booking should be either 1 = Booked) or 3 = Reserved. Default is 1 = Booked.")]
        public virtual int BookingStatusId { get; set; }

        public virtual bool OnlyVisibleByAdmin { get; set; }
        public virtual int? LengthInMinutes { get; set; }
        public virtual int DurationTypeId { get; set; }
        public virtual int? Duration { get; set; }
        public virtual int? MinDuration { get; set; }
        public virtual int? MaxDuration { get; set; }
        public virtual int? DurationInterval { get; set; }
        public virtual int PauseAfterBooking { get; set; }
        public virtual List<CustomFieldConfigData> CustomFields { get; set; }
        public virtual List<CustomFieldDataResponse> CustomFieldValues { get; set; }
        public virtual List<CustomFieldConfigData> BookingCustomFields { get; set; }
        public virtual List<CustomFieldConfigData> CustomerCustomFields { get; set; }
        ///<summary>
        ///The booking status options to choose from
        ///</summary>
        [ApiMember(Description="The booking status options to choose from")]
        public virtual List<BookingStatusOptionsResponse> BookingStatusOptions { get; set; }

        public virtual List<ServicePriceResponse> Prices { get; set; }
        public virtual ServiceSchedules Schedules { get; set; }
        public virtual CompanyRatingSummary RatingSummary { get; set; }
        public virtual List<RatingReviewResponse> Reviews { get; set; }
        public virtual List<ServiceResourceTypeResponse> ResourceTypes { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
        public virtual int? PriceViewTypeId { get; set; }
    }

    public partial class ServiceResourceTypeResource
    {
        ///<summary>
        ///The resource id
        ///</summary>
        [ApiMember(Description="The resource id")]
        public virtual int Id { get; set; }

        ///<summary>
        ///The resource name
        ///</summary>
        [ApiMember(Description="The resource name")]
        public virtual string Name { get; set; }

        ///<summary>
        ///The resource description
        ///</summary>
        [ApiMember(Description="The resource description")]
        public virtual string Description { get; set; }

        ///<summary>
        ///The resource email
        ///</summary>
        [ApiMember(Description="The resource email")]
        public virtual string Email { get; set; }

        ///<summary>
        ///The resource phone
        ///</summary>
        [ApiMember(Description="The resource phone")]
        public virtual string Phone { get; set; }

        ///<summary>
        ///The resource color
        ///</summary>
        [ApiMember(Description="The resource color")]
        public virtual string Color { get; set; }

        ///<summary>
        ///The resource image
        ///</summary>
        [ApiMember(Description="The resource image")]
        public virtual Uri ImageUrl { get; set; }

        ///<summary>
        ///The priority of the resource
        ///</summary>
        [ApiMember(Description="The priority of the resource")]
        public virtual int Priority { get; set; }

        ///<summary>
        ///If the resource want to receive email notifications
        ///</summary>
        [ApiMember(Description="If the resource want to receive email notifications")]
        public virtual bool EmailNotification { get; set; }

        ///<summary>
        ///If the resource want to receive sms notifications
        ///</summary>
        [ApiMember(Description="If the resource want to receive sms notifications")]
        public virtual bool SMSNotification { get; set; }

        ///<summary>
        ///If the resource want to receive email reminders
        ///</summary>
        [ApiMember(Description="If the resource want to receive email reminders")]
        public virtual bool EmailReminder { get; set; }

        ///<summary>
        ///If the resource want to receive sms reminders
        ///</summary>
        [ApiMember(Description="If the resource want to receive sms reminders")]
        public virtual bool SMSReminder { get; set; }
    }

    public partial class ServiceResourceTypeResponse
    {
        public ServiceResourceTypeResponse()
        {
            Resources = new List<ServiceResourceTypeResource>{};
        }

        ///<summary>
        ///The resourcetype id
        ///</summary>
        [ApiMember(Description="The resourcetype id")]
        public virtual int Id { get; set; }

        ///<summary>
        ///The resourcetype is selectable by customer
        ///</summary>
        [ApiMember(Description="The resourcetype is selectable by customer")]
        public virtual bool SelectableByUser { get; set; }

        ///<summary>
        ///The resourcetype name
        ///</summary>
        [ApiMember(Description="The resourcetype name")]
        public virtual string Name { get; set; }

        ///<summary>
        ///The resourcetype description
        ///</summary>
        [ApiMember(Description="The resourcetype description")]
        public virtual string Description { get; set; }

        ///<summary>
        ///The resources in the resourcetype. Only shows active resources if not admin.
        ///</summary>
        [ApiMember(Description="The resources in the resourcetype. Only shows active resources if not admin.")]
        public virtual List<ServiceResourceTypeResource> Resources { get; set; }
    }

    public partial class ServiceSchedules
    {
        public ServiceSchedules()
        {
            RecurringSchedules = new List<ISchedule>{};
            DateSchedules = new List<ISchedule>{};
        }

        public virtual ScheduleType ScheduleType { get; set; }
        public virtual List<ISchedule> RecurringSchedules { get; set; }
        public virtual List<ISchedule> DateSchedules { get; set; }
    }

}

namespace BokaMera.API.ServiceModel.Enums
{
    public enum ArticleTypeEnum
    {
        ServiceArticle = 1,
        StandAloneArticle = 2,
        RebateCodePunchTicketArticle = 3,
        RebateCodeGiftCardArticle = 4,
        RebateCodeValueCardArticle = 5,
    }

    public enum BokaMeraDayOfWeek
    {
        Monday = 1,
        Tuesday = 2,
        Wednesday = 3,
        Thursday = 4,
        Friday = 5,
        Saturday = 6,
        Sunday = 7,
    }

    public enum BookingStatusEnum
    {
        Booked = 1,
        Unbooked = 2,
        Reserved = 3,
        Canceled = 4,
        AwaitingPayment = 5,
        AwaitingPaymentNoTimeLimit = 6,
        Payed = 7,
        AwaitingPaymentRequestFromAdmin = 8,
        AwaitingPaymentFromProvider = 9,
        Invoiced = 10,
    }

    public enum CompanyStatus
    {
        Registered = 1,
        AwaitingApproval = 2,
        Approved = 3,
        Inactive = 4,
        ClosedDown = 5,
        NotApproved = 6,
    }

    public enum ScheduleType
    {
        NotDefined,
        RecurringSchedule,
        DateSchedule,
    }

}

namespace BokaMera.API.ServiceModel.Helpers.Payment
{
    public partial interface IBokameraPaymentManager<TCreatedCheckoutResponse, TCheckoutResponse, TPaymentResponse>
    {
    }

}

namespace BokaMera.API.ServiceModel.Helpers.Payson1Payment
{
    public partial interface IPaysonPaymentCheckout1
    {
    }

}

namespace BokaMera.API.ServiceModel.Interfaces
{
    public partial interface IBookedTime
        : IInterval
    {
        int Id { get; set; }
        int ServiceId { get; set; }
        int BookedSpots { get; set; }
        int TotalSpots { get; set; }
        int PauseAfterInMinutes { get; set; }
        BookingStatusEnum Status { get; set; }
        int StatusId { get; set; }
        BookedCustomer Customer { get; set; }
    }

    public partial interface ISchedule
    {
        IList<Resource> Resources { get; set; }
        ScheduleType Type { get; set; }
        bool Active { get; set; }
        bool IsResourceSpecific { get; set; }
    }

    public partial interface ITimeException
        : IInterval
    {
        int Id { get; set; }
        string ReasonText { get; set; }
        bool IsBlock { get; set; }
        string ReasonTextPublic { get; set; }
        bool IsRecurring { get; set; }
        int[] ResourceIds { get; set; }
    }

}

namespace Microsoft.Extensions.Logging
{
    public partial interface ILogger<TCategoryName>
        : ILogger
    {
    }

}

namespace PaysonIntegrationCO2.Models
{
    public partial class Customer
    {
        public virtual string City { get; set; }
        public virtual string CountryCode { get; set; }
        public virtual string IdentityNumber { get; set; }
        public virtual string Email { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string Phone { get; set; }
        public virtual string PostalCode { get; set; }
        public virtual string Street { get; set; }
        public virtual string Reference { get; set; }
        public virtual CustomerType Type { get; set; }
    }

    public partial class Gui
    {
        public virtual ColorScheme ColorScheme { get; set; }
        public virtual string Locale { get; set; }
        public virtual bool RequestPhone { get; set; }
        public virtual bool PhoneOptional { get; set; }
    }

    public partial class History
    {
        public virtual DateTime? Created { get; set; }
        public virtual DateTime? ReadyToPay { get; set; }
        public virtual DateTime? ReadyToShip { get; set; }
        public virtual DateTime? Shipped { get; set; }
        public virtual DateTime? PaidToAccount { get; set; }
        public virtual DateTime? Canceled { get; set; }
        public virtual DateTime? Expired { get; set; }
        public virtual DateTime? Denied { get; set; }
    }

    public partial class Item
    {
        public virtual Guid ItemId { get; set; }
        public virtual decimal DiscountRate { get; set; }
        public virtual string Ean { get; set; }
        public virtual Uri ImageUri { get; set; }
        public virtual string Name { get; set; }
        public virtual decimal Quantity { get; set; }
        public virtual string Reference { get; set; }
        public virtual decimal TaxRate { get; set; }
        public virtual decimal TotalPriceExcludingTax { get; set; }
        public virtual decimal TotalPriceIncludingTax { get; set; }
        public virtual decimal TotalTaxAmount { get; set; }
        public virtual decimal CreditedAmount { get; set; }
        public virtual ItemType Type { get; set; }
        public virtual decimal UnitPrice { get; set; }
        public virtual Uri Uri { get; set; }
    }

    public partial class Merchant
    {
        public virtual Uri CheckoutUri { get; set; }
        public virtual Uri ConfirmationUri { get; set; }
        public virtual Uri NotificationUri { get; set; }
        public virtual Uri ValidationUri { get; set; }
        public virtual Uri TermsUri { get; set; }
        public virtual string Reference { get; set; }
        public virtual string PartnerId { get; set; }
    }

    public partial class Order
    {
        public virtual Currency Currency { get; set; }
        public virtual decimal TotalFeeExcludingTax { get; set; }
        public virtual decimal TotalFeeIncludingTax { get; set; }
        public virtual decimal TotalPriceExcludingTax { get; set; }
        public virtual decimal TotalPriceIncludingTax { get; set; }
        public virtual decimal TotalTaxAmount { get; set; }
        public virtual decimal TotalCreditedAmount { get; set; }
        public virtual IList<Item> Items { get; set; }
    }

    public partial class Payson2CheckoutResponse
    {
        public virtual Guid Id { get; set; }
        public virtual DateTime? ExpirationTime { get; set; }
        public virtual string Snippet { get; set; }
        public virtual Payson2CheckoutStatus Status { get; set; }
        public virtual Customer Customer { get; set; }
        public virtual Order Order { get; set; }
        public virtual Merchant Merchant { get; set; }
        public virtual Gui Gui { get; set; }
        public virtual History History { get; set; }
        public virtual int? PurchaseId { get; set; }
    }

}

namespace PaysonIntegrationCO2.Models.Enums
{
    public enum ColorScheme
    {
        White,
        Blue,
        Gray,
        GrayTextLogos,
        BlueTextLogos,
        WhiteTextLogos,
        WhiteNoFooter,
        GrayNoFooter,
        BlueNoFooter,
    }

    public enum Currency
    {
        SEK = 1,
        EUR = 2,
    }

    public enum CustomerType
    {
        Person,
        Business,
    }

    public enum ItemType
    {
        Physical,
        Service,
        Fee,
        Discount,
    }

    public enum Payson2CheckoutStatus
    {
        None,
        Created,
        FormsFilled,
        ReadyToPay,
        ProcessingPayment,
        ReadyToShip,
        Shipped,
        PaidToAccount,
        Canceled,
        Credited,
        Expired,
        Denied,
    }

}

namespace QvicklyIntegration.Models.Checkout
{
    public partial class Cart
    {
        public virtual CartHandling Handling { get; set; }
        public virtual CartTotal Total { get; set; }
        public virtual Shipping Shipping { get; set; }
    }

    public partial class CartHandling
    {
        public virtual string withouttax { get; set; }
        public virtual string taxrate { get; set; }
    }

    public partial class CartTotal
    {
        public virtual string rounding { get; set; }
        public virtual string withouttax { get; set; }
        public virtual string tax { get; set; }
        public virtual string withtax { get; set; }
    }

    public partial class CheckoutData
    {
        public virtual Uri terms { get; set; }
        public virtual Uri privacyPolicy { get; set; }
        public virtual string redirectOnSuccess { get; set; }
    }

    public partial class CheckoutPaymentData
    {
        public virtual string currency { get; set; }
        public virtual string language { get; set; }
        public virtual string country { get; set; }
        public virtual string autoactivate { get; set; }
        public virtual string orderid { get; set; }
        public virtual string returnmethod { get; set; }
        public virtual Uri accepturl { get; set; }
        public virtual Uri cancelurl { get; set; }
        public virtual Uri callbackurl { get; set; }
    }

    public partial class InitCheckoutData
    {
        public InitCheckoutData()
        {
            Articles = new QvicklyArticle[]{};
        }

        public virtual CheckoutData CheckoutData { get; set; }
        public virtual CheckoutPaymentData PaymentData { get; set; }
        public virtual PaymentInfo PaymentInfo { get; set; }
        public virtual QvicklyArticle[] Articles { get; set; }
        public virtual Cart Cart { get; set; }
        public virtual QvicklyCustomer QvicklyCustomer { get; set; }
    }

    public partial class InitCheckoutRequestBody
    {
        public virtual Credentials credentials { get; set; }
        public virtual InitCheckoutData data { get; set; }
        public virtual string function { get; set; }
    }

    public partial class QvicklyCheckoutResponse
    {
        public virtual int Number { get; set; }
        public virtual string Status { get; set; }
        public virtual string OrderId { get; set; }
        public virtual string Url { get; set; }
    }

    public partial class Shipping
    {
        public virtual string firstname { get; set; }
        public virtual string lastname { get; set; }
        public virtual string company { get; set; }
        public virtual string street { get; set; }
        public virtual string street2 { get; set; }
        public virtual string zip { get; set; }
        public virtual string city { get; set; }
        public virtual string country { get; set; }
        public virtual string phone { get; set; }
        public virtual string withouttax { get; set; }
        public virtual string taxrate { get; set; }
    }

}

namespace QvicklyIntegration.Models.Common
{
    public partial class Credentials
    {
        public virtual string hash { get; set; }
        public virtual string id { get; set; }
        public virtual string version { get; set; }
        public virtual string client { get; set; }
        public virtual ServerData serverdata { get; set; }
        public virtual string time { get; set; }
        public virtual string test { get; set; }
        public virtual string language { get; set; }
    }

    public partial class QvicklyArticle
    {
        public virtual string artnr { get; set; }
        public virtual string title { get; set; }
        public virtual int quantity { get; set; }
        public virtual int aprice { get; set; }
        public virtual int tax { get; set; }
        public virtual int discount { get; set; }
        public virtual int withouttax { get; set; }
        public virtual int taxrate { get; set; }
    }

    public partial class ServerData
    {
        public virtual string HTTP_HOST { get; set; }
        public virtual string HTTP_CONNECTION { get; set; }
        public virtual string HTTP_CACHE_CONTROL { get; set; }
        public virtual string HTTP_ACCEPT { get; set; }
        public virtual string HTTP_USER_AGENT { get; set; }
        public virtual string HTTP_ACCEPT_ENCODING { get; set; }
        public virtual string HTTP_ACCEPT_LANGUAGE { get; set; }
        public virtual string PATH { get; set; }
        public virtual string SERVER_SOFTWARE { get; set; }
        public virtual string SERVER_NAME { get; set; }
        public virtual string SERVER_ADDR { get; set; }
        public virtual string SERVER_PORT { get; set; }
        public virtual string REMOTE_ADDR { get; set; }
        public virtual string REMOTE_PORT { get; set; }
        public virtual string GATEWAY_INTERFACE { get; set; }
        public virtual string SERVER_PROTOCOL { get; set; }
        public virtual string REQUEST_METHOD { get; set; }
        public virtual string QUERY_STRING { get; set; }
        public virtual string REQUEST_TIME { get; set; }
    }

}

namespace QvicklyIntegration.Models.Payment
{
    public partial class Card
    {
        public virtual string promptname { get; set; }
        public virtual string recurring { get; set; }
        public virtual string recurringnr { get; set; }
        public virtual string accepturl { get; set; }
        public virtual string cancelurl { get; set; }
        public virtual string callbackurl { get; set; }
        public virtual string returnmethod { get; set; }
    }

    public partial class CustomerBilling
    {
        public virtual string firstname { get; set; }
        public virtual string lastname { get; set; }
        public virtual string company { get; set; }
        public virtual string street { get; set; }
        public virtual string street2 { get; set; }
        public virtual string zip { get; set; }
        public virtual string city { get; set; }
        public virtual string country { get; set; }
        public virtual string phone { get; set; }
        public virtual string email { get; set; }
    }

    public partial class PaymentInfo
    {
        public virtual string paymentdate { get; set; }
        public virtual string paymentterms { get; set; }
        public virtual string yourreference { get; set; }
        public virtual string ourreference { get; set; }
        public virtual string projectname { get; set; }
        public virtual string deliverymethod { get; set; }
        public virtual string deliveryterms { get; set; }
    }

    public partial class QvicklyCustomer
    {
        public virtual string nr { get; set; }
        public virtual string pno { get; set; }
        public virtual CustomerBilling Billing { get; set; }
    }

    public partial class QvicklyPaymentResponse
    {
        public QvicklyPaymentResponse()
        {
            Articles = new QvicklyArticle[]{};
        }

        public virtual QvikclyPaymentData PaymentData { get; set; }
        public virtual PaymentInfo PaymentInfo { get; set; }
        public virtual Card Card { get; set; }
        public virtual Settlement Settlement { get; set; }
        public virtual QvicklyCustomer QvicklyCustomer { get; set; }
        public virtual QvicklyArticle[] Articles { get; set; }
        public virtual Cart Cart { get; set; }
    }

    public partial class QvikclyPaymentData
    {
        public virtual string method { get; set; }
        public virtual string paymentplanid { get; set; }
        public virtual string currency { get; set; }
        public virtual string country { get; set; }
        public virtual string language { get; set; }
        public virtual string autoactivate { get; set; }
        public virtual string orderid { get; set; }
        public virtual string status { get; set; }
        public virtual string paymentid_related { get; set; }
        public virtual string url { get; set; }
    }

    public partial class Settlement
    {
        public virtual string number { get; set; }
        public virtual string date { get; set; }
    }

}

namespace ServiceStack.Data
{
    public partial interface IDbConnectionFactory
    {
    }

}

C# AddResourceTypeToService 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.

POST /services/{Id}/addresourcetype HTTP/1.1 
Host: api.bokamera.se 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<AddResourceTypeToService xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
  <Id>0</Id>
  <ResourceTypes>
    <AddResourceTypeService>
      <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
      <Id>0</Id>
      <SelectableByUser>false</SelectableByUser>
    </AddResourceTypeService>
  </ResourceTypes>
</AddResourceTypeToService>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ServiceQueryResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <Active>false</Active>
  <BookBeforeDays>0</BookBeforeDays>
  <BookBeforeHours>0</BookBeforeHours>
  <BookBeforeMinutes>0</BookBeforeMinutes>
  <BookingCustomFields>
    <CustomFieldConfigData>
      <DataType>String</DataType>
      <DefaultValue>String</DefaultValue>
      <Description>String</Description>
      <Id>0</Id>
      <IsMandatory>false</IsMandatory>
      <MandatoryErrorMessage>String</MandatoryErrorMessage>
      <MaxLength>0</MaxLength>
      <MultipleLineText>false</MultipleLineText>
      <Name>String</Name>
      <RegEx>String</RegEx>
      <RegExErrorMessage>String</RegExErrorMessage>
      <Values>
        <CustomFieldValueResponse>
          <Value>String</Value>
        </CustomFieldValueResponse>
      </Values>
      <Width>0</Width>
    </CustomFieldConfigData>
  </BookingCustomFields>
  <BookingStatusId>0</BookingStatusId>
  <BookingStatusOptions>
    <BookingStatusOptionsResponse>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
    </BookingStatusOptionsResponse>
  </BookingStatusOptions>
  <CustomFieldValues>
    <CustomFieldDataResponse>
      <Column>String</Column>
      <DataType>String</DataType>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
      <Value>String</Value>
    </CustomFieldDataResponse>
  </CustomFieldValues>
  <CustomFields>
    <CustomFieldConfigData>
      <DataType>String</DataType>
      <DefaultValue>String</DefaultValue>
      <Description>String</Description>
      <Id>0</Id>
      <IsMandatory>false</IsMandatory>
      <MandatoryErrorMessage>String</MandatoryErrorMessage>
      <MaxLength>0</MaxLength>
      <MultipleLineText>false</MultipleLineText>
      <Name>String</Name>
      <RegEx>String</RegEx>
      <RegExErrorMessage>String</RegExErrorMessage>
      <Values>
        <CustomFieldValueResponse>
          <Value>String</Value>
        </CustomFieldValueResponse>
      </Values>
      <Width>0</Width>
    </CustomFieldConfigData>
  </CustomFields>
  <CustomerCustomFields>
    <CustomFieldConfigData>
      <DataType>String</DataType>
      <DefaultValue>String</DefaultValue>
      <Description>String</Description>
      <Id>0</Id>
      <IsMandatory>false</IsMandatory>
      <MandatoryErrorMessage>String</MandatoryErrorMessage>
      <MaxLength>0</MaxLength>
      <MultipleLineText>false</MultipleLineText>
      <Name>String</Name>
      <RegEx>String</RegEx>
      <RegExErrorMessage>String</RegExErrorMessage>
      <Values>
        <CustomFieldValueResponse>
          <Value>String</Value>
        </CustomFieldValueResponse>
      </Values>
      <Width>0</Width>
    </CustomFieldConfigData>
  </CustomerCustomFields>
  <Description>String</Description>
  <Duration>0</Duration>
  <DurationInterval>0</DurationInterval>
  <DurationTypeId>0</DurationTypeId>
  <EnableBookingQueue>false</EnableBookingQueue>
  <EnableCodeLockSync>false</EnableCodeLockSync>
  <EnableCustomerManualPayment>false</EnableCustomerManualPayment>
  <Group>String</Group>
  <GroupBooking>
    <Active>false</Active>
    <Max>0</Max>
    <Min>0</Min>
  </GroupBooking>
  <Id>0</Id>
  <ImageUrl i:nil="true" />
  <IsGroupBooking>false</IsGroupBooking>
  <IsPaymentEnabled>false</IsPaymentEnabled>
  <LengthInMinutes>0</LengthInMinutes>
  <LockSpotsToBooking>false</LockSpotsToBooking>
  <MaxDuration>0</MaxDuration>
  <MaxNumberOfResourcesToBook>0</MaxNumberOfResourcesToBook>
  <MaxNumberOfSpotsPerBooking>0</MaxNumberOfSpotsPerBooking>
  <MaxPaymentTime>0</MaxPaymentTime>
  <MinDuration>0</MinDuration>
  <MinNumberOfResourcesToBook>0</MinNumberOfResourcesToBook>
  <MinNumberOfSpotsPerBooking>0</MinNumberOfSpotsPerBooking>
  <MultipleResource>
    <Active>false</Active>
    <Max>0</Max>
    <Min>0</Min>
  </MultipleResource>
  <Name>String</Name>
  <OnlyVisibleByAdmin>false</OnlyVisibleByAdmin>
  <PauseAfterBooking>0</PauseAfterBooking>
  <PriceViewTypeId>0</PriceViewTypeId>
  <Prices>
    <ServicePriceResponse>
      <CalculationTypeId>0</CalculationTypeId>
      <Category>String</Category>
      <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
      <CurrencyId>String</CurrencyId>
      <DaysOfWeek>
        <DayOfWeekDto>
          <DayOfWeek>String</DayOfWeek>
          <DayOfWeekId>0</DayOfWeekId>
          <DotNetDayOfWeekId>0</DotNetDayOfWeekId>
        </DayOfWeekDto>
      </DaysOfWeek>
      <From>0001-01-01T00:00:00</From>
      <FromTime>PT0S</FromTime>
      <Id>0</Id>
      <IsDaysOfWeekSpecific>false</IsDaysOfWeekSpecific>
      <IsTimeSpecific>false</IsTimeSpecific>
      <Price>0</Price>
      <PriceSign>String</PriceSign>
      <PriceText>String</PriceText>
      <Service>
        <Description>String</Description>
        <GroupBooking>
          <Active>false</Active>
          <Max>0</Max>
          <Min>0</Min>
        </GroupBooking>
        <Id>0</Id>
        <ImageUrl i:nil="true" />
        <IsGroupBooking>false</IsGroupBooking>
        <IsPaymentEnabled>false</IsPaymentEnabled>
        <LengthInMinutes>0</LengthInMinutes>
        <MaxNumberOfSpotsPerBooking>0</MaxNumberOfSpotsPerBooking>
        <MinNumberOfSpotsPerBooking>0</MinNumberOfSpotsPerBooking>
        <MultipleResource>
          <Active>false</Active>
          <Max>0</Max>
          <Min>0</Min>
        </MultipleResource>
        <Name>String</Name>
      </Service>
      <ServiceId>0</ServiceId>
      <To>0001-01-01T00:00:00</To>
      <ToTime>PT0S</ToTime>
      <VAT>0</VAT>
    </ServicePriceResponse>
  </Prices>
  <RatingSummary>
    <AverageScore>0</AverageScore>
    <Count>0</Count>
    <RaingScore4Count>0</RaingScore4Count>
    <RatingScore1Count>0</RatingScore1Count>
    <RatingScore2Count>0</RatingScore2Count>
    <RatingScore3Count>0</RatingScore3Count>
    <RatingScore5Count>0</RatingScore5Count>
  </RatingSummary>
  <ResourceTypes>
    <ServiceResourceTypeResponse>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
      <Resources>
        <ServiceResourceTypeResource>
          <Color>String</Color>
          <Description>String</Description>
          <Email>String</Email>
          <EmailNotification>false</EmailNotification>
          <EmailReminder>false</EmailReminder>
          <Id>0</Id>
          <ImageUrl i:nil="true" />
          <Name>String</Name>
          <Phone>String</Phone>
          <Priority>0</Priority>
          <SMSNotification>false</SMSNotification>
          <SMSReminder>false</SMSReminder>
        </ServiceResourceTypeResource>
      </Resources>
      <SelectableByUser>false</SelectableByUser>
    </ServiceResourceTypeResponse>
  </ResourceTypes>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1: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>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1: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>
    </d2p1:Meta>
  </ResponseStatus>
  <Reviews>
    <RatingReviewResponse>
      <Author>String</Author>
      <Created>0001-01-01T00:00:00</Created>
      <Description>String</Description>
      <RatingScore>0</RatingScore>
      <ReviewAnswer>String</ReviewAnswer>
      <Title>String</Title>
    </RatingReviewResponse>
  </Reviews>
  <ScheduleType>NotDefined</ScheduleType>
  <ScheduleTypeId>0</ScheduleTypeId>
  <Schedules>
    <DateSchedules xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:anyType i:nil="true" />
    </DateSchedules>
    <RecurringSchedules xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:anyType i:nil="true" />
    </RecurringSchedules>
    <ScheduleType>NotDefined</ScheduleType>
  </Schedules>
  <SortOrder>0</SortOrder>
  <TotalSpots>0</TotalSpots>
  <UnbookBeforeDays>0</UnbookBeforeDays>
  <UnbookBeforeHours>0</UnbookBeforeHours>
  <UnbookBeforeMinutes>0</UnbookBeforeMinutes>
</ServiceQueryResponse>