| PUT | /bookingreservations/{SessionKey}/extend | Extend a booking reservation hold | Pushes 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. |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| SessionKey | path | Guid | Yes | The opaque session key that identifies the reservation. |
| CompanyId | body | Guid? | No | The company id, if empty will use the company id for the user you are logged in with. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| SessionKey | form | Guid | No | The opaque session key that identifies the reservation. |
| CompanyId | form | Guid | No | The company id. |
| ServiceId | form | int | No | The reserved service id. |
| From | form | DateTime | No | The reservation start. |
| To | form | DateTime | No | The reservation end. |
| StatusCode | form | int | No | The BookingReservationStatus value. |
| StatusName | form | string | Yes | The BookingReservationStatus name. |
| ExpirationDatetime | form | DateTime | No | When the hold expires (company-local time). |
| NumberOfBookedSpots | form | int | No | Number of reserved spots. |
| Price | form | decimal? | No | The computed price of the reservation, if any. |
| CurrencyId | form | string | Yes | The currency of the price, if any. |
| ResourceIds | form | List<int> | Yes | Ids of the resources held by the reservation. |
| SelectionPayload | form | string | Yes | The full in-progress selection payload (wizard/session state) as JSON. |
| ResponseStatus | form | ResponseStatus | Yes |
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
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/jsonl
Content-Type: text/jsonl
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
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"}}}