BokaMera.API.Host

<back to all web services

GroupedBookingQuery

Requires Authentication
The following routes are available for this service:
GET/bookings/groupedFind booked events for currently logged in user grouped by booking from dateThis service is used to get bookings for the current user, the result will grouped by the bookings fromm date and paged if the query returns a to large set of values.
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.Db;
using BokaMera.API.ServiceModel.Interfaces;
using BokaMera.API.ServiceModel.Enums;
using QvicklyIntegration.Models.Checkout;
using PaysonIntegrationCO2.Models;
using PaysonIntegrationCO2.Models.Enums;

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 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
        : BaseModel, IInterval, ICustomFieldTable, IBaseModelUpdated, IBaseModelCreated
    {
        public Booking()
        {
            Log = new List<BookingLog>{};
            PaymentLog = new List<PaymentLog>{};
            CheckoutLogs = new List<PaymentDetails>{};
            Prices = new List<BookingPrice>{};
            PriceMappings = new List<PriceMapping>{};
        }

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

        [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<PaymentLog> PaymentLog { 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; }

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

        [References(typeof(BokaMera.API.ServiceModel.Db.Currency))]
        public virtual string CurrencyId { 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 bool Active { get; set; }

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

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

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

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

        [Required]
        public virtual Guid CompanyId { 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; }
        public virtual decimal? PriceVat { 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; }
        [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 IList<CustomFieldConfig> CustomFieldsConfig { get; set; }

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

        [Ignore]
        public virtual IList<CustomerComment> Comments { 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 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 int Id { get; set; }
    }

    public partial class LicenseTypeItem
        : BaseModel
    {
        [Ignore]
        public virtual string Name { 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 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 int BookingId { 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 bool IsPayment { 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 int BookingId { 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
        : BaseModel
    {
        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>{};
            Customers = new List<Customer>{};
        }

        [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 RebateCodeType RebateCodeStatusInfo { 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 List<DaysOfWeek> DaysOfWeek { get; set; }

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

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

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

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

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

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

        public virtual Guid CompanyId { 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 Updated { 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 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 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 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 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 bool IsWeighted { 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 AccessKeyTypeResponse
    {
        public virtual int Id { get; set; }
        public virtual string KeyType { get; set; }
        public virtual string Description { get; set; }
    }

    public partial class BookedCompany
    {
        public virtual Guid Id { get; set; }
        public virtual string Name { get; set; }
        public virtual Uri LogoType { get; set; }
        public virtual string Category { 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 CountryId { get; set; }
        public virtual string Longitude { get; set; }
        public virtual string Latitude { get; set; }
        public virtual string Phone { get; set; }
        public virtual string Email { get; set; }
        public virtual string HomePage { get; set; }
        public virtual string SitePath { get; set; }
        public virtual bool IsFavorite { get; set; }
        public virtual int? PaymentProviderId { 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 BookedQuantity
    {
        ///<summary>
        ///The quantity Id
        ///</summary>
        [ApiMember(Description="The quantity Id")]
        public virtual int Id { get; set; }

        ///<summary>
        ///The quantity for booked on this price category
        ///</summary>
        [ApiMember(Description="The quantity for booked on this price category")]
        public virtual int Quantity { get; set; }

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

        ///<summary>
        ///The price bofore rebate codes
        ///</summary>
        [ApiMember(Description="The price bofore rebate codes")]
        public virtual double? PriceBeforeRebate { 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 category
        ///</summary>
        [ApiMember(Description="The price category")]
        public virtual string Category { 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 text to display
        ///</summary>
        [ApiMember(Description="The price text to display")]
        public virtual string PriceText { get; set; }

        ///<summary>
        ///If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.
        ///</summary>
        [ApiMember(Description="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.")]
        public virtual bool OccupiesSpot { 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 BookingCalendarExportStatus
    {
        public virtual string CalendarId { get; set; }
        public virtual int BookingId { get; set; }
        public virtual bool? Synced { get; set; }
    }

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

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

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

        ///<summary>
        ///The payment checkout expiration datetime
        ///</summary>
        [ApiMember(Description="The payment checkout expiration datetime")]
        public virtual DateTime? ExpirationTime { get; set; }

        ///<summary>
        ///The payment snippet code
        ///</summary>
        [ApiMember(Description="The payment snippet code")]
        public virtual string Snippet { get; set; }

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

        ///<summary>
        ///Log message
        ///</summary>
        [ApiMember(Description="Log message")]
        public virtual string Message { get; set; }

        ///<summary>
        ///When the checkout log item was created
        ///</summary>
        [ApiMember(Description="When the checkout log item was created")]
        public virtual DateTime Created { get; set; }

        ///<summary>
        ///When the checkout log item was updated
        ///</summary>
        [ApiMember(Description="When the checkout log item was updated")]
        public virtual DateTime Updated { get; set; }
    }

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

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

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

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

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

        ///<summary>
        ///The type of event
        ///</summary>
        [ApiMember(Description="The type of event")]
        public virtual int EventTypeId { get; set; }

        ///<summary>
        ///The type of event
        ///</summary>
        [ApiMember(Description="The type of event")]
        public virtual BookingLogEventTypeResponse EventType { get; set; }

        ///<summary>
        ///Comments that could be added to the event log item
        ///</summary>
        [ApiMember(Description="Comments that could be added to the event log item")]
        public virtual string Comments { get; set; }

        ///<summary>
        ///The user created the event
        ///</summary>
        [ApiMember(Description="The user created the event")]
        public virtual string UserName { get; set; }

        ///<summary>
        ///Then date when the event occured
        ///</summary>
        [ApiMember(Description="Then date when the event occured")]
        public virtual DateTime Created { get; set; }
    }

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

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

        ///<summary>
        ///The payment reference id
        ///</summary>
        [ApiMember(Description="The payment reference id")]
        public virtual string PaymentReferenceId { get; set; }

        ///<summary>
        ///The payment order item reference id
        ///</summary>
        [ApiMember(Description="The payment order item reference id")]
        public virtual string OrderItemReferenceId { get; set; }

        ///<summary>
        ///The payment reference id
        ///</summary>
        [ApiMember(Description="The payment reference id")]
        public virtual int? PaymentProviderId { get; set; }

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

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

        ///<summary>
        ///The payment amount that is credited
        ///</summary>
        [ApiMember(Description="The payment amount that is credited")]
        public virtual double AmountCredited { get; set; }

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

        ///<summary>
        ///The payment currency info
        ///</summary>
        [ApiMember(Description="The payment currency info")]
        public virtual CurrencyInfoResponse CurrencyInfo { get; set; }

        ///<summary>
        ///Comments that could be added to the event log item
        ///</summary>
        [ApiMember(Description="Comments that could be added to the event log item")]
        public virtual string Comments { get; set; }

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

        ///<summary>
        ///The date when the payment items was update
        ///</summary>
        [ApiMember(Description="The date when the payment items was update")]
        public virtual DateTime Updated { get; set; }
    }

    public partial class BookingQueryResponse
    {
        public BookingQueryResponse()
        {
            CustomFields = new List<CustomFieldConfigData>{};
            CustomFieldValues = new List<CustomFieldDataResponse>{};
            BookedResourceTypes = new List<BookedResourceType>{};
            Quantities = new List<BookedQuantity>{};
            Log = new List<BookingLogQueryResponse>{};
            PaymentLog = new List<BookingPaymentLogQueryResponse>{};
            CheckoutLog = new List<BookingCheckoutQueryResponse>{};
            ExternalReference = new List<ExternalReferenceResponse>{};
        }

        public virtual int Id { get; set; }
        public virtual Guid CompanyId { get; set; }
        public virtual DateTime From { get; set; }
        public virtual DateTime To { get; set; }
        public virtual BookingStatusEnum Status { get; set; }
        public virtual int StatusId { get; set; }
        public virtual string StatusName { get; set; }
        public virtual BookingStatusQueryResponse StatusInfo { get; set; }
        public virtual bool SendEmailReminder { get; set; }
        public virtual bool SendSmsReminder { get; set; }
        public virtual bool SendSmsConfirmation { get; set; }
        public virtual bool SendEmailConfirmation { get; set; }
        public virtual DateTime? LastTimeToUnBook { get; set; }
        public virtual List<CustomFieldConfigData> CustomFields { get; set; }
        public virtual List<CustomFieldDataResponse> CustomFieldValues { get; set; }
        public virtual List<BookedResourceType> BookedResourceTypes { get; set; }
        public virtual BookedCompany Company { get; set; }
        public virtual BookedCustomer Customer { get; set; }
        public virtual List<BookedQuantity> Quantities { get; set; }
        public virtual ServiceInfoResponse Service { get; set; }
        public virtual DateTime? PaymentExpiration { get; set; }
        public virtual List<BookingLogQueryResponse> Log { get; set; }
        public virtual List<BookingPaymentLogQueryResponse> PaymentLog { get; set; }
        public virtual List<BookingCheckoutQueryResponse> CheckoutLog { get; set; }
        public virtual List<ExternalReferenceResponse> ExternalReference { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
        public virtual BookingCalendarExportStatus CalendarExportStatus { get; set; }
        public virtual int? LengthInMinutes { get; set; }
        public virtual string BookedBy { get; set; }
        public virtual string BookedComments { get; set; }
        public virtual string UnbookedComments { get; set; }
        public virtual string CommentsToCustomer { get; set; }
        public virtual DateTime CreatedDate { get; set; }
        public virtual DateTime UpdatedDate { get; set; }
        public virtual DateTime? UnbookedOn { get; set; }
        public virtual string CancellationCode { get; set; }
        public virtual string RatingCode { get; set; }
    }

    public partial class BookingStatusQueryResponse
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual string Icon { get; set; }
        public virtual string Color { get; set; }
    }

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

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

        ///<summary>
        ///The currency id
        ///</summary>
        [ApiMember(Description="The currency id")]
        public virtual string CurrencySign { 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 ExternalReferenceResponse
    {
        public virtual Guid CompanyId { get; set; }
        public virtual Guid Id { get; set; }
        public virtual Guid OwnerId { get; set; }
        public virtual string ReferenceType { get; set; }
        public virtual string ExternalData { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime Updated { get; set; }
        public virtual DateTime Created { get; set; }
    }

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

    [ValidateRequest("IsAuthenticated")]
    public partial class GroupedBookingQuery
        : QueryDb<Booking, GroupedBookingQueryResponse>
    {
        ///<summary>
        ///Query for specific Booked Resources, default is all resources
        ///</summary>
        [DataMember(Name="BookedResourceIds")]
        [ApiMember(Description="Query for specific Booked Resources, default is all resources", ParameterType="query")]
        public virtual int[] BookingResourceRelationResourceIds { get; set; }

        ///<summary>
        ///Query for specific Booked Resource types, default is all resource types
        ///</summary>
        [DataMember(Name="BookedResourceTypeIds")]
        [ApiMember(Description="Query for specific Booked Resource types, default is all resource types", ParameterType="query")]
        public virtual int[] BookingResourceRelationResourceTypeIds { get; set; }

        ///<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>
        ///Id of the booking
        ///</summary>
        [ApiMember(Description="Id of the booking", ParameterType="path")]
        public virtual int? Id { get; set; }

        ///<summary>
        ///Start of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339
        ///</summary>
        [ApiMember(DataType="dateTime", Description="Start of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query")]
        public virtual DateTime? BookingStart { get; set; }

        ///<summary>
        ///End of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339
        ///</summary>
        [ApiMember(DataType="dateTime", Description="End of interval to query for bookings. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query")]
        public virtual DateTime? BookingEnd { get; set; }

        ///<summary>
        ///Set to true if you want to include all bookings for the company. Only administrators are allowed to do this.
        ///</summary>
        [ApiMember(DataType="boolean", Description="Set to true if you want to include all bookings for the company. Only administrators are allowed to do this.", ParameterType="query")]
        public virtual bool CompanyBookings { get; set; }

        ///<summary>
        ///Query for specific booking statuses. Valid statuses are TimeBooked = 1, TimeUnbooked = 2, TimeReserved = 3, TimeCanceled = 4. Default is 1,3 for active statuses.
        ///</summary>
        [ApiMember(Description="Query for specific booking statuses. Valid statuses are TimeBooked = 1, TimeUnbooked = 2, TimeReserved = 3, TimeCanceled = 4. Default is 1,3 for active statuses.", ParameterType="query")]
        public virtual int[] IncludeStatuses { get; set; }

        ///<summary>
        ///If you want to include the connected resourcetypes and resources
        ///</summary>
        [ApiMember(DataType="boolean", Description="If you want to include the connected resourcetypes and resources", ParameterType="query")]
        public virtual bool IncludeCustomFields { get; set; }

        ///<summary>
        ///If you want to include the connected custom fields
        ///</summary>
        [ApiMember(DataType="boolean", Description="If you want to include the connected custom fields", ParameterType="query")]
        public virtual bool IncludeCustomFieldValues { get; set; }

        ///<summary>
        ///If you want to include the price information on the booking
        ///</summary>
        [ApiMember(DataType="boolean", Description="If you want to include the price information on the booking", ParameterType="query")]
        public virtual bool IncludePriceInformation { get; set; }

        ///<summary>
        ///If you want to include booking status information
        ///</summary>
        [ApiMember(DataType="boolean", Description="If you want to include booking status information", ParameterType="query")]
        public virtual bool IncludeStatusInformation { get; set; }

        ///<summary>
        ///If you want to include the payment log on the booking
        ///</summary>
        [ApiMember(DataType="boolean", Description="If you want to include the payment log on the booking", ParameterType="query")]
        public virtual bool IncludePaymentLog { get; set; }

        ///<summary>
        ///If you want to include the checkouts for payson
        ///</summary>
        [ApiMember(DataType="boolean", Description="If you want to include the checkouts for payson", ParameterType="query")]
        public virtual bool IncludeCheckouts { get; set; }

        ///<summary>
        ///If you want to include the booked resourcetypes and it's booked resources
        ///</summary>
        [ApiMember(DataType="boolean", Description="If you want to include the booked resourcetypes and it's booked resources", ParameterType="query")]
        public virtual bool IncludeBookedResourceTypes { get; set; }

        ///<summary>
        ///If you want to include the company information for the booking
        ///</summary>
        [ApiMember(DataType="boolean", Description="If you want to include the company information for the booking", ParameterType="query")]
        public virtual bool IncludeCompanyInformation { get; set; }

        ///<summary>
        ///If you want to include the customer information for the booking
        ///</summary>
        [ApiMember(DataType="boolean", Description="If you want to include the customer information for the booking", ParameterType="query")]
        public virtual bool IncludeCustomerInformation { get; set; }

        ///<summary>
        ///Start of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339
        ///</summary>
        [ApiMember(DataType="dateTime", Description="Start of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query")]
        public virtual DateTime? CreatedFrom { get; set; }

        ///<summary>
        ///End of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339
        ///</summary>
        [ApiMember(DataType="dateTime", Description="End of interval to query for bookings when they where created. UTC+0 and parameter as defined by date-time - RFC3339", ParameterType="query")]
        public virtual DateTime? CreatedTo { get; set; }

        ///<summary>
        ///Query for specific booking statuses. Valid statuses are TimeBooked = 1, TimeUnbooked = 2, TimeReserved = 3, TimeCanceled = 4, AwaitingPayment = 5, AwaitingPaymentNoTimeLimit = 6, BookedAndPayed = 7, 8 = AwaitingPaymentRequestFromAdmin, 9 = AwaitingPaymentFromProvider. Default is all.
        ///</summary>
        [ApiMember(Description="Query for specific booking statuses. Valid statuses are TimeBooked = 1, TimeUnbooked = 2, TimeReserved = 3, TimeCanceled = 4, AwaitingPayment = 5, AwaitingPaymentNoTimeLimit = 6, BookedAndPayed = 7, 8 = AwaitingPaymentRequestFromAdmin, 9 = AwaitingPaymentFromProvider. Default is all.", ParameterType="query")]
        public virtual int[] StatusIds { get; set; }

        ///<summary>
        ///Query for specific customer
        ///</summary>
        [ApiMember(Description="Query for specific customer", ParameterType="query")]
        public virtual Guid? CustomerId { get; set; }

        ///<summary>
        ///The max limit of records you want to retrieve, default is 100
        ///</summary>
        [ApiMember(DataType="int", Description="The max limit of records you want to retrieve, default is 100", ParameterType="query")]
        public virtual int? MaxLimit { get; set; }

        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class GroupedBookingQueryResponse
    {
        public GroupedBookingQueryResponse()
        {
            Bookings = new List<BookingQueryResponse>{};
        }

        public virtual Guid CompanyId { get; set; }
        public virtual DateTime Date { get; set; }
        public virtual List<BookingQueryResponse> Bookings { 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 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 GroupBookingSettings GroupBooking { get; set; }
        public virtual MultipleResourceSettings MultipleResource { get; set; }
        public virtual bool IsGroupBooking { get; set; }
        public virtual bool IsPaymentEnabled { get; set; }
    }

}

namespace BokaMera.API.ServiceModel.Enums
{
    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.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 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 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; }
    }

}

namespace ServiceStack
{
    [DataContract]
    public partial class QueryBase
    {
        public QueryBase()
        {
            Meta = new Dictionary<string, string>{};
        }

        ///<summary>
        ///Skip over a given number of elements in a sequence and then return the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?skip=10&orderBy=Id</code>
        ///</summary>
        [DataMember(Order=1)]
        public virtual int? Skip { get; set; }

        ///<summary>
        ///Return a given number of elements in a sequence and then skip over the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?take=20</code>
        ///</summary>
        [DataMember(Order=2)]
        public virtual int? Take { get; set; }

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

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

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

        [DataMember(Order=6)]
        public virtual string Fields { get; set; }

        [DataMember(Order=7)]
        public virtual Dictionary<string, string> Meta { get; set; }
    }

    public partial class QueryDb<From, Into>
        : QueryBase
    {
    }

    [DataContract]
    public partial class QueryResponse<AccessKeyTypeResponse>
    {
        public QueryResponse()
        {
            Results = new List<AccessKeyTypeResponse>{};
            Meta = new Dictionary<string, string>{};
        }

        [DataMember(Order=1)]
        public virtual int Offset { get; set; }

        [DataMember(Order=2)]
        public virtual int Total { get; set; }

        [DataMember(Order=3)]
        public virtual List<AccessKeyTypeResponse> Results { get; set; }

        [DataMember(Order=4)]
        public virtual Dictionary<string, string> Meta { get; set; }

        [DataMember(Order=5)]
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

C# GroupedBookingQuery DTOs

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

HTTP + CSV

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

GET /bookings/grouped HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Offset":0,"Total":0,"Results":[{"Bookings":[{"Id":0,"Status":"Booked","StatusId":0,"StatusName":"String","StatusInfo":{"Id":0,"Name":"String","Description":"String","Icon":"String","Color":"String"},"SendEmailReminder":false,"SendSmsReminder":false,"SendSmsConfirmation":false,"SendEmailConfirmation":false,"LastTimeToUnBook":"0001-01-01T00:00:00","CustomFields":[{"Id":0,"Name":"String","Description":"String","Width":0,"DataType":"String","DefaultValue":"String","IsMandatory":false,"MandatoryErrorMessage":"String","MaxLength":0,"MultipleLineText":false,"RegEx":"String","RegExErrorMessage":"String","Values":[{"Value":"String"}]}],"CustomFieldValues":[{"Id":0,"Column":"String","Name":"String","Description":"String","Value":"String","DataType":"String"}],"BookedResourceTypes":[{"Id":0,"Name":"String","Resources":[{"Id":0,"Name":"String","Color":"String","Email":"String","MobilePhone":"String","AccessGroup":"String","EmailNotification":false,"SMSNotification":false,"EmailReminder":false,"SMSReminder":false}]}],"Company":{"Name":"String","Category":"String","Street1":"String","Street2":"String","ZipCode":"String","City":"String","CountryId":"String","Longitude":"String","Latitude":"String","Phone":"String","Email":"String","HomePage":"String","SitePath":"String","IsFavorite":false,"PaymentProviderId":0},"Customer":{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","FacebookUserName":"String","ImageUrl":"String","CorporateIdentityNumber":"String","InvoiceAddress1":"String","InvoiceAddress2":"String","InvoiceCity":"String","InvoicePostalCode":"String","InvoiceCountryCode":"String"},"Quantities":[{"Id":0,"Quantity":0,"Price":0,"PriceBeforeRebate":0,"CurrencyId":"String","PriceSign":"String","Category":"String","VAT":0,"PriceText":"String","OccupiesSpot":false}],"Service":{"Id":0,"Name":"String","Description":"String","LengthInMinutes":0,"MaxNumberOfSpotsPerBooking":0,"GroupBooking":{"Active":false,"Min":0,"Max":0},"MultipleResource":{"Active":false,"Min":0,"Max":0},"IsGroupBooking":false,"IsPaymentEnabled":false},"PaymentExpiration":"0001-01-01T00:00:00","Log":[{"Id":0,"BookingId":0,"EventTypeId":0,"EventType":{"Id":0,"Name":"String","Description":"String"},"Comments":"String","UserName":"String"}],"PaymentLog":[{"Id":0,"BookingId":0,"PaymentReferenceId":"String","OrderItemReferenceId":"String","PaymentProviderId":0,"Amount":0,"VAT":0,"AmountCredited":0,"CurrencyId":"String","CurrencyInfo":{"Id":"String","Name":"String","CurrencySign":"String"},"Comments":"String"}],"CheckoutLog":[{"BookingId":0,"PurchaseId":0,"ExpirationTime":"0001-01-01T00:00:00","Snippet":"String","Status":"String","Message":"String"}],"ExternalReference":[{"ReferenceType":"String","ExternalData":"String","CreatedBy":"String"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"CalendarExportStatus":{"CalendarId":"String","BookingId":0,"Synced":false},"LengthInMinutes":0,"BookedBy":"String","BookedComments":"String","UnbookedComments":"String","CommentsToCustomer":"String","UnbookedOn":"0001-01-01T00:00:00","CancellationCode":"String","RatingCode":"String"}]}],"Meta":{"String":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}