BokaMera.API.Host

<back to all web services

ExtendBookingReservation

The following routes are available for this service:
PUT/bookingreservations/{SessionKey}/extendExtend a booking reservation holdPushes the hold expiration of an AwaitingPayment reservation forward (bounded, never past the slot start) so the customer can retry a failed Stripe payment without losing the slot. The slot availability is re-checked; if it was taken in the meantime the request is rejected with Conflict.
ExtendBookingReservation Parameters:
NameParameterData TypeRequiredDescription
SessionKeypathGuidYesThe opaque session key that identifies the reservation.
CompanyIdbodyGuid?NoThe company id, if empty will use the company id for the user you are logged in with.
BookingReservationResponse Parameters:
NameParameterData TypeRequiredDescription
SessionKeyformGuidNoThe opaque session key that identifies the reservation.
CompanyIdformGuidNoThe company id.
ServiceIdformintNoThe reserved service id.
FromformDateTimeNoThe reservation start.
ToformDateTimeNoThe reservation end.
StatusCodeformintNoThe BookingReservationStatus value.
StatusNameformstringYesThe BookingReservationStatus name.
ExpirationDatetimeformDateTimeNoWhen the hold expires (company-local time).
NumberOfBookedSpotsformintNoNumber of reserved spots.
Priceformdecimal?NoThe computed price of the reservation, if any.
CurrencyIdformstringYesThe currency of the price, if any.
ResourceIdsformList<int>YesIds of the resources held by the reservation.
SelectionPayloadformstringYesThe full in-progress selection payload (wizard/session state) as JSON.
ResponseStatusformResponseStatusYes

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.

PUT /bookingreservations/{SessionKey}/extend HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ServiceId: 0,
	StatusCode: 0,
	StatusName: String,
	NumberOfBookedSpots: 0,
	Price: 0,
	CurrencyId: String,
	ResourceIds: 
	[
		0
	],
	SelectionPayload: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}