API Referencesdks@platform/sdk-booking

@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-booking

You’ll also need the shared auth/client helpers:

npm install @platform/hosts @platform/sdk

Quick 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"] */
  },
});