BokaMera.API.Host

<back to all web services

CreateBookingUserQueue

The following routes are available for this service:
POST/bookinguserqueueJoin user to the booking queue
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BokaMera.API.ServiceModel.Dtos;

namespace BokaMera.API.ServiceModel.Dtos
{
    public partial class BookingUserQueueItemResponse
    {
        public BookingUserQueueItemResponse()
        {
            Quantities = new List<BookingUserQueuePriceResponse>{};
        }

        public virtual int BookingUserQueueId { get; set; }
        public virtual Guid CompanyId { get; set; }
        public virtual Guid CustomerId { get; set; }
        public virtual int ServiceId { get; set; }
        public virtual DateTime From { get; set; }
        public virtual DateTime To { get; set; }
        public virtual int StatusCode { get; set; }
        public virtual string StatusName { get; set; }
        public virtual DateTime? SendConfirmationTime { get; set; }
        public virtual List<BookingUserQueuePriceResponse> Quantities { get; set; }
        public virtual ServiceInfoResponse Service { get; set; }
        public virtual CompanyInfoResponse Company { get; set; }
    }

    public partial class BookingUserQueuePriceResponse
    {
        public virtual Guid CompanyId { get; set; }
        public virtual int Id { get; set; }
        public virtual int BookingUserQueueId { get; set; }
        public virtual int? ServicePriceId { get; set; }
        public virtual int? Quantity { get; set; }
    }

    public partial class CompanyInfoResponse
    {
        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 partial class CreateBookingUserQueue
    {
        public CreateBookingUserQueue()
        {
            Quantities = new List<QuantityToBook>{};
        }

        public virtual Guid? CompanyId { get; set; }
        public virtual Guid? CustomerId { get; set; }
        public virtual CustomerToHandle Customer { get; set; }
        public virtual int ServiceId { get; set; }
        public virtual DateTime From { get; set; }
        public virtual DateTime To { get; set; }
        public virtual List<QuantityToBook> Quantities { get; set; }
    }

    public partial class CustomerToHandle
    {
        public virtual Guid? CustomerId { 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 bool SubscribedToNewsletter { get; set; }
    }

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

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

    public partial class QuantityToBook
    {
        ///<summary>
        ///If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book)
        ///</summary>
        [ApiMember(Description="If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book)", IsRequired=true)]
        public virtual int PriceId { get; set; }

        ///<summary>
        ///Set the number of spots or resources you want to book on the specific price category
        ///</summary>
        [ApiMember(Description="Set the number of spots or resources you want to book on the specific price category", IsRequired=true)]
        public virtual int Quantity { 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 ServiceInfoResponse
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual Uri ImageUrl { get; set; }
        public virtual int? LengthInMinutes { get; set; }
        public virtual int MaxNumberOfSpotsPerBooking { get; set; }
        public virtual int MinNumberOfSpotsPerBooking { get; set; }
        public virtual GroupBookingSettings GroupBooking { get; set; }
        public virtual MultipleResourceSettings MultipleResource { get; set; }
        public virtual bool IsGroupBooking { get; set; }
        public virtual bool IsPaymentEnabled { get; set; }
    }

}

C# CreateBookingUserQueue DTOs

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

HTTP + OTHER

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

POST /bookinguserqueue HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","CustomerId":"00000000-0000-0000-0000-000000000000","Customer":{"CustomerId":"00000000-0000-0000-0000-000000000000","Firstname":"String","Lastname":"String","Email":"String","Phone":"String","SubscribedToNewsletter":false},"ServiceId":0,"Quantities":[{"PriceId":0,"Quantity":0,"OccupiesSpot":false}]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"BookingUserQueueId":0,"ServiceId":0,"StatusCode":0,"StatusName":"String","SendConfirmationTime":"0001-01-01T00:00:00","Quantities":[{"Id":0,"BookingUserQueueId":0,"ServicePriceId":0,"Quantity":0}],"Service":{"Id":0,"Name":"String","Description":"String","LengthInMinutes":0,"MaxNumberOfSpotsPerBooking":0,"MinNumberOfSpotsPerBooking":0,"GroupBooking":{"Active":false,"Min":0,"Max":0},"MultipleResource":{"Active":false,"Min":0,"Max":0},"IsGroupBooking":false,"IsPaymentEnabled":false},"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"}}