BokaMera.API.Host

<back to all web services

CreateBookingUserQueue

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

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        Public Partial Class BookingUserQueueItemResponse
            Public Sub New()
                Quantities = New List(Of BookingUserQueuePriceResponse)
            End Sub

            Public Overridable Property BookingUserQueueId As Integer
            Public Overridable Property CompanyId As Guid
            Public Overridable Property CustomerId As Guid
            Public Overridable Property ServiceId As Integer
            Public Overridable Property From As Date
            Public Overridable Property To As Date
            Public Overridable Property StatusCode As Integer
            Public Overridable Property StatusName As String
            Public Overridable Property SendConfirmationTime As Nullable(Of Date)
            Public Overridable Property Quantities As List(Of BookingUserQueuePriceResponse)
            Public Overridable Property Service As ServiceInfoResponse
            Public Overridable Property Company As CompanyInfoResponse
        End Class

        Public Partial Class BookingUserQueuePriceResponse
            Public Overridable Property CompanyId As Guid
            Public Overridable Property Id As Integer
            Public Overridable Property BookingUserQueueId As Integer
            Public Overridable Property ServicePriceId As Nullable(Of Integer)
            Public Overridable Property Quantity As Nullable(Of Integer)
        End Class

        Public Partial Class CompanyInfoResponse
            Public Overridable Property Id As Guid
            Public Overridable Property Name As String
            Public Overridable Property LogoType As Uri
            Public Overridable Property Category As String
            Public Overridable Property Street1 As String
            Public Overridable Property Street2 As String
            Public Overridable Property ZipCode As String
            Public Overridable Property City As String
            Public Overridable Property CountryId As String
            Public Overridable Property Longitude As String
            Public Overridable Property Latitude As String
            Public Overridable Property Phone As String
            Public Overridable Property Email As String
            Public Overridable Property HomePage As String
            Public Overridable Property SitePath As String
        End Class

        Public Partial Class CreateBookingUserQueue
            Public Sub New()
                Quantities = New List(Of QuantityToBook)
            End Sub

            Public Overridable Property CompanyId As Nullable(Of Guid)
            Public Overridable Property CustomerId As Nullable(Of Guid)
            Public Overridable Property Customer As CustomerToHandle
            Public Overridable Property ServiceId As Integer
            Public Overridable Property From As Date
            Public Overridable Property To As Date
            Public Overridable Property Quantities As List(Of QuantityToBook)
        End Class

        Public Partial Class CustomerToHandle
            Public Overridable Property CustomerId As Nullable(Of Guid)
            Public Overridable Property Firstname As String
            Public Overridable Property Lastname As String
            Public Overridable Property Email As String
            Public Overridable Property Phone As String
            Public Overridable Property SubscribedToNewsletter As Boolean
        End Class

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

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

        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 Overridable Property PriceId As Integer

            '''<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 Overridable Property Quantity As Integer

            '''<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 Overridable Property OccupiesSpot As Boolean
        End Class

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

VB.NET CreateBookingUserQueue DTOs

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

HTTP + JSV

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/jsv
Content-Type: text/jsv
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/jsv
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
	}
}