@platform/sdk-booking
Typed TypeScript client for services/booking. The page is generated from the SDK package source plus its generated OpenAPI types.
Installation
npm install @platform/sdk-bookingYou’ll also need the shared auth/client helpers:
npm install @platform/hosts @platform/sdkQuick start
import { LoopClient } from "@platform/sdk";
import { platformHost, SERVICE_NAMES } from "@platform/hosts";
import { createBookingClient } from "@platform/sdk-booking";
const loop = new LoopClient({
clientId: process.env.LOOP_CLIENT_ID!,
clientSecret: process.env.LOOP_CLIENT_SECRET!,
redirectUri: "https://your-app.example.com/auth/loop/callback",
});
const booking = createBookingClient({
baseUrl: platformHost({ service: SERVICE_NAMES.BOOKING }),
accessToken: tokens.access_token,
});Use the convenience helpers below when the SDK exposes them, or call the typed endpoint methods directly with GET / POST / PATCH / DELETE.
Convenience helpers
This SDK does not add convenience helpers beyond the typed endpoint calls below.
Endpoint calls
GET /readyz
Underlying REST endpoint: GET /readyz
Parameters
None
Return type
Promise<{
data?: paths["/readyz"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/readyz");DELETE /v1/bookings/{id}
Underlying REST endpoint: DELETE /v1/bookings/\{id\}
Parameters
path: paths["/v1/bookings/{id}"]["delete"]["parameters"]["path"]
Return type
Promise<{
data?: paths["/v1/bookings/{id}"]["delete"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.DELETE("/v1/bookings/{id}", {
params: {
path: {
id: "<id>",
},
},
});GET /v1/bookings/me
Underlying REST endpoint: GET /v1/bookings/me
Parameters
None
Return type
Promise<{
data?: paths["/v1/bookings/me"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/v1/bookings/me");GET /v1/coaches
Underlying REST endpoint: GET /v1/coaches
Parameters
query?: paths["/v1/coaches"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/coaches"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/v1/coaches", {
params: {
query: {
/* paths["/v1/coaches"]["get"]["parameters"]["query"] */
},
},
});GET /v1/coaches/{coachId}
Underlying REST endpoint: GET /v1/coaches/\{coachId\}
Parameters
path: paths["/v1/coaches/{coachId}"]["get"]["parameters"]["path"]
Return type
Promise<{
data?: paths["/v1/coaches/{coachId}"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/v1/coaches/{coachId}", {
params: {
path: {
coachId: "<coachId>",
},
},
});POST /v1/coaches/{coachId}/bookings
Underlying REST endpoint: POST /v1/coaches/\{coachId\}/bookings
Parameters
path: paths["/v1/coaches/{coachId}/bookings"]["post"]["parameters"]["path"]body?: paths["/v1/coaches/{coachId}/bookings"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/coaches/{coachId}/bookings"]["post"]["responses"]["201"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.POST("/v1/coaches/{coachId}/bookings", {
params: {
path: {
coachId: "<coachId>",
},
},
body: {
/* paths["/v1/coaches/{coachId}/bookings"]["post"]["requestBody"]["content"]["application/json"] */
},
});GET /v1/coaches/{coachId}/office-hours
Underlying REST endpoint: GET /v1/coaches/\{coachId\}/office-hours
Parameters
path: paths["/v1/coaches/{coachId}/office-hours"]["get"]["parameters"]["path"]query: paths["/v1/coaches/{coachId}/office-hours"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/coaches/{coachId}/office-hours"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/v1/coaches/{coachId}/office-hours", {
params: {
path: {
coachId: "<coachId>",
},
query: {
/* paths["/v1/coaches/{coachId}/office-hours"]["get"]["parameters"]["query"] */
},
},
});POST /v1/intake
Underlying REST endpoint: POST /v1/intake
Parameters
body?: paths["/v1/intake"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/intake"]["post"]["responses"]["201"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.POST("/v1/intake", {
body: {
/* paths["/v1/intake"]["post"]["requestBody"]["content"]["application/json"] */
},
});GET /v1/providers
Underlying REST endpoint: GET /v1/providers
Parameters
query: paths["/v1/providers"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/providers"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/v1/providers", {
params: {
query: {
/* paths["/v1/providers"]["get"]["parameters"]["query"] */
},
},
});POST /v1/providers
Underlying REST endpoint: POST /v1/providers
Parameters
body?: paths["/v1/providers"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/providers"]["post"]["responses"]["201"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.POST("/v1/providers", {
body: {
/* paths["/v1/providers"]["post"]["requestBody"]["content"]["application/json"] */
},
});GET /v1/providers/{id}
Underlying REST endpoint: GET /v1/providers/\{id\}
Parameters
path: paths["/v1/providers/{id}"]["get"]["parameters"]["path"]
Return type
Promise<{
data?: paths["/v1/providers/{id}"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/v1/providers/{id}", {
params: {
path: {
id: "<id>",
},
},
});POST /v1/providers/{id}/slots
Underlying REST endpoint: POST /v1/providers/\{id\}/slots
Parameters
path: paths["/v1/providers/{id}/slots"]["post"]["parameters"]["path"]body?: paths["/v1/providers/{id}/slots"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/providers/{id}/slots"]["post"]["responses"]["201"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.POST("/v1/providers/{id}/slots", {
params: {
path: {
id: "<id>",
},
},
body: {
/* paths["/v1/providers/{id}/slots"]["post"]["requestBody"]["content"]["application/json"] */
},
});GET /v1/slots/search
Underlying REST endpoint: GET /v1/slots/search
Parameters
query: paths["/v1/slots/search"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/slots/search"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/v1/slots/search", {
params: {
query: {
/* paths["/v1/slots/search"]["get"]["parameters"]["query"] */
},
},
});GET /v1/visits
Underlying REST endpoint: GET /v1/visits
Parameters
query: paths["/v1/visits"]["get"]["parameters"]["query"]
Return type
Promise<{
data?: paths["/v1/visits"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/v1/visits", {
params: {
query: {
/* paths["/v1/visits"]["get"]["parameters"]["query"] */
},
},
});POST /v1/visits
Underlying REST endpoint: POST /v1/visits
Parameters
body?: paths["/v1/visits"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/visits"]["post"]["responses"]["201"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.POST("/v1/visits", {
body: {
/* paths["/v1/visits"]["post"]["requestBody"]["content"]["application/json"] */
},
});GET /v1/visits/{id}
Underlying REST endpoint: GET /v1/visits/\{id\}
Parameters
path: paths["/v1/visits/{id}"]["get"]["parameters"]["path"]
Return type
Promise<{
data?: paths["/v1/visits/{id}"]["get"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.GET("/v1/visits/{id}", {
params: {
path: {
id: "<id>",
},
},
});POST /v1/visits/{id}/cancel
Underlying REST endpoint: POST /v1/visits/\{id\}/cancel
Parameters
path: paths["/v1/visits/{id}/cancel"]["post"]["parameters"]["path"]body?: paths["/v1/visits/{id}/cancel"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/visits/{id}/cancel"]["post"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.POST("/v1/visits/{id}/cancel", {
params: {
path: {
id: "<id>",
},
},
body: {
/* paths["/v1/visits/{id}/cancel"]["post"]["requestBody"]["content"]["application/json"] */
},
});POST /v1/visits/{id}/reschedule
Underlying REST endpoint: POST /v1/visits/\{id\}/reschedule
Parameters
path: paths["/v1/visits/{id}/reschedule"]["post"]["parameters"]["path"]body?: paths["/v1/visits/{id}/reschedule"]["post"]["requestBody"]["content"]["application/json"]
Return type
Promise<{
data?: paths["/v1/visits/{id}/reschedule"]["post"]["responses"]["200"]["content"]["application/json"];
error?: unknown;
response: Response;
}>Example
const result = await booking.POST("/v1/visits/{id}/reschedule", {
params: {
path: {
id: "<id>",
},
},
body: {
/* paths["/v1/visits/{id}/reschedule"]["post"]["requestBody"]["content"]["application/json"] */
},
});