BokaMera.API.Host

<back to all web services

CollidingBookingQuery

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
GET/timeexceptions/collidingeventsSearches for collisions with existing bookings of the resourceSearches for existing bookings and investigates if a proposed time exception would collide with them, if so, the bookings should be unbooked to be able to create the time exception. A time exception must be either recurring (DaysOfWeek, ExceptionFromTime, ExceptionToTime is set) or non recurring (From and To are set).
CollidingBookingQuery Parameters:
NameParameterData TypeRequiredDescription
CompanyIdqueryGuid?NoThe company id, if empty will use the company id for the user you are logged in with.
ResourceIdsqueryint[]NoResource ids of the resource that should be matched against booked events
FromqueryDateTimeNoTime exception starting date
ToqueryDateTimeNoTime exception ending date
FromTimequeryTimeSpanNoThis value indicates the time of day when the time exception begins. Example: 10:00. If Recurring this will be the startime for each recurring day.
ToTimequeryTimeSpanNoThis value indicates the time of day when the time exception ends. Example: 12:00. If Recurring this will be the endtime for each recurring day.
DaysOfWeekqueryint[]NoA comma separated list of which days this day exception belongs to, 1 = Monday .. 7 = Sunday
IncludeServiceInformationquerybooleanNoIf you want to include the service information for the booking
IncludeCustomerInformationquerybooleanNoIf you want to include the customer information for the booking
CollidingBookingQueryResponse Parameters:
NameParameterData TypeRequiredDescription
ResourceIdsformint[]NoResource id of the resource that owns this exception
BookingsformList<BookingIntervalResponse>NoA list of bookings that would collide with the time exception
ResponseStatusformResponseStatusNo
BookingIntervalResponse Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
CompanyIdformGuidNo
FromformDateTimeNo
ToformDateTimeNo
StatusformBookingStatusEnumNo
StatusIdformintNo
StatusNameformstringNo
CustomerformBookedCustomerNo
ServiceformServiceInfoResponseNo
CreatedDateformDateTimeNo
BookingStatusEnum Enum:
NameValue
Booked1
Unbooked2
Reserved3
Canceled4
AwaitingPayment5
AwaitingPaymentNoTimeLimit6
Payed7
AwaitingPaymentRequestFromAdmin8
AwaitingPaymentFromProvider9
Invoiced10
BookedCustomer Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
FirstnameformstringNo
LastnameformstringNo
EmailformstringNo
PhoneformstringNo
FacebookUserNameformstringNo
ImageUrlformstringNo
CorporateIdentityNumberformstringNo
InvoiceAddress1formstringNo
InvoiceAddress2formstringNo
InvoiceCityformstringNo
InvoicePostalCodeformstringNo
InvoiceCountryCodeformstringNo
ServiceInfoResponse Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
NameformstringNo
DescriptionformstringNo
ImageUrlformUriNo
LengthInMinutesformint?No
MaxNumberOfSpotsPerBookingformintNo
MinNumberOfSpotsPerBookingformintNo
GroupBookingformGroupBookingSettingsNo
MultipleResourceformMultipleResourceSettingsNo
IsGroupBookingformboolNo
IsPaymentEnabledformboolNo
GroupBookingSettings Parameters:
NameParameterData TypeRequiredDescription
ActiveformboolNo
MinformintNo
MaxformintNo
MultipleResourceSettings Parameters:
NameParameterData TypeRequiredDescription
ActiveformboolNo
MinformintNo
MaxformintNo

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.

GET /timeexceptions/collidingevents HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResourceIds: 
	[
		0
	],
	Bookings: 
	[
		{
			Id: 0,
			Status: Booked,
			StatusId: 0,
			StatusName: String,
			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
			},
			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
			}
		}
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}