| GET | /bookingreservations/current | Get the caller's current booking reservation hold (from cookie) | Resolves the caller's active reservation hold from the bm_hold cookie so a reopened browser or a second tab can resume the same hold instead of creating a second one. Returns the full selection (including the entered personal details) when the cookie proves this browser owns the hold. 404 when there is no active hold, in which case the stale cookie is cleared. |
|---|
// @ts-nocheck
export class BookingReservationResponse
{
/** @description The opaque session key that identifies the reservation. */
// @ApiMember(Description="The opaque session key that identifies the reservation.")
public SessionKey: string;
/** @description The company id. */
// @ApiMember(Description="The company id.")
public CompanyId: string;
/** @description The reserved service id. */
// @ApiMember(Description="The reserved service id.")
public ServiceId: number;
/** @description The reservation start. */
// @ApiMember(Description="The reservation start.")
public From: string;
/** @description The reservation end. */
// @ApiMember(Description="The reservation end.")
public To: string;
/** @description The BookingReservationStatus value. */
// @ApiMember(Description="The BookingReservationStatus value.")
public StatusCode: number;
/** @description The BookingReservationStatus name. */
// @ApiMember(Description="The BookingReservationStatus name.")
public StatusName: string;
/** @description When the hold expires (company-local time). */
// @ApiMember(Description="When the hold expires (company-local time).")
public ExpirationDatetime: string;
/** @description The company's current time, in the same company-local frame as ExpirationDatetime. Clients compute the remaining hold as (ExpirationDatetime - ServerTime) so a countdown is correct regardless of the viewer's timezone or clock skew. */
// @ApiMember(Description="The company's current time, in the same company-local frame as ExpirationDatetime. Clients compute the remaining hold as (ExpirationDatetime - ServerTime) so a countdown is correct regardless of the viewer's timezone or clock skew.")
public ServerTime: string;
/** @description Number of reserved spots. */
// @ApiMember(Description="Number of reserved spots.")
public NumberOfBookedSpots: number;
/** @description The computed price of the reservation, if any. */
// @ApiMember(Description="The computed price of the reservation, if any.")
public Price?: number;
/** @description The currency of the price, if any. */
// @ApiMember(Description="The currency of the price, if any.")
public CurrencyId: string;
/** @description Ids of the resources held by the reservation. */
// @ApiMember(Description="Ids of the resources held by the reservation.")
public ResourceIds: number[] = [];
/** @description The full in-progress selection payload (wizard/session state) as JSON. */
// @ApiMember(Description="The full in-progress selection payload (wizard/session state) as JSON.")
public SelectionPayload: string;
public ResponseStatus: ResponseStatus;
public constructor(init?: Partial<BookingReservationResponse>) { (Object as any).assign(this, init); }
}
// @ApiResponse(Description="No active reservation hold for the caller", StatusCode=404)
export class GetCurrentBookingReservation implements ICompany
{
/** @description The company id, if empty will use the company id for the user you are logged in with. */
// @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
public CompanyId?: string;
public constructor(init?: Partial<GetCurrentBookingReservation>) { (Object as any).assign(this, init); }
}
TypeScript GetCurrentBookingReservation DTOs
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.
GET /bookingreservations/current HTTP/1.1 Host: testapi.bokamera.se Accept: text/jsonl
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"}}}