| POST | /bookinguserqueue | Join user to the booking queue | 
|---|
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| CompanyId | body | Guid? | No | |
| CustomerId | body | Guid? | No | |
| Customer | body | CustomerToHandle | Yes | |
| InvoiceAddress | body | InvoiceAddressToHandle | Yes | |
| ServiceId | body | int | No | |
| From | body | DateTime | No | |
| To | body | DateTime | No | |
| Quantities | body | List<QuantityToBook> | Yes | |
| CustomFields | body | List<AddCustomField> | Yes | If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be saved | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| CustomerId | form | Guid? | No | |
| Firstname | form | string | Yes | |
| Lastname | form | string | Yes | |
| form | string | Yes | ||
| Phone | form | string | Yes | |
| SubscribedToNewsletter | form | bool | No | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| CorporateIdentityNumber | form | string | Yes | |
| InvoiceAddress1 | form | string | Yes | |
| InvoiceAddress2 | form | string | Yes | |
| InvoiceCity | form | string | Yes | |
| InvoicePostalCode | form | string | Yes | |
| InvoiceCountryCode | form | string | Yes | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| PriceId | form | int | Yes | 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) | 
| Quantity | form | int | Yes | Set the number of spots or resources you want to book on the specific price category | 
| OccupiesSpot | form | bool | No | If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information. | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| Id | form | int | No | |
| Value | form | string | Yes | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| BookingUserQueueId | form | int | No | |
| CompanyId | form | Guid | No | |
| CustomerId | form | Guid | No | |
| ServiceId | form | int | No | |
| From | form | DateTime | No | |
| To | form | DateTime | No | |
| StatusCode | form | int | No | |
| StatusName | form | string | Yes | |
| SendConfirmationTime | form | DateTime? | No | |
| Quantities | form | List<BookingUserQueuePriceResponse> | Yes | |
| Service | form | ServiceInfoResponse | Yes | |
| Company | form | CompanyInfoResponse | Yes | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| CompanyId | form | Guid | No | |
| Id | form | int | No | |
| BookingUserQueueId | form | int | No | |
| ServicePriceId | form | int? | No | |
| Quantity | form | int? | No | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| Id | form | int | No | |
| Name | form | string | Yes | |
| Description | form | string | Yes | |
| ImageUrl | form | Uri | Yes | |
| LengthInMinutes | form | int? | No | |
| MaxNumberOfSpotsPerBooking | form | int | No | |
| MinNumberOfSpotsPerBooking | form | int | No | |
| GroupBooking | form | GroupBookingSettings | Yes | |
| MultipleResource | form | MultipleResourceSettings | Yes | |
| IsGroupBooking | form | bool | No | |
| IsPaymentEnabled | form | bool | No | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| Active | form | bool | No | |
| Min | form | int | No | |
| Max | form | int | No | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| Active | form | bool | No | |
| Min | form | int | No | |
| Max | form | int | No | 
| Name | Parameter | Data Type | Required | Description | 
|---|---|---|---|---|
| Id | form | Guid | No | |
| Name | form | string | Yes | |
| LogoType | form | Uri | Yes | |
| Category | form | string | Yes | |
| Street1 | form | string | Yes | |
| Street2 | form | string | Yes | |
| ZipCode | form | string | Yes | |
| City | form | string | Yes | |
| CountryId | form | string | Yes | |
| Longitude | form | string | Yes | |
| Latitude | form | string | Yes | |
| Phone | form | string | Yes | |
| form | string | Yes | ||
| HomePage | form | string | Yes | |
| SitePath | form | string | Yes | 
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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: testapi.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
	},
	InvoiceAddress: 
	{
		CorporateIdentityNumber: String,
		InvoiceAddress1: String,
		InvoiceAddress2: String,
		InvoiceCity: String,
		InvoicePostalCode: String,
		InvoiceCountryCode: String
	},
	ServiceId: 0,
	Quantities: 
	[
		{
			PriceId: 0,
			Quantity: 0,
			OccupiesSpot: False
		}
	],
	CustomFields: 
	[
		{
			Id: 0,
			Value: String
		}
	]
}
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
	}
}