# Create Vacation — Planyo Online Booking

> Adds a new one-time vacation for given resource or entire Planyo site. See Docs

- Key: `planyo_online_booking-create-vacation`
- Type: Action (Write)
- Version: 0.0.2
- App: Planyo Online Booking (`planyo_online_booking`) — https://pipedream.com/apps/planyo-online-booking.md
- This page (HTML): https://pipedream.com/apps/planyo-online-booking/actions/create-vacation
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/planyo_online_booking/actions/create-vacation/create-vacation.mjs

## Description

Adds a new one-time vacation for given resource or entire Planyo site. [See Docs](https://www.planyo.com/api.php?topic=add_vacation)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `startTime` | `string` | Yes | Datetime in ISO 8601 format. Start time of the event. For example 2023-02-22T23:31:23+00:00 |
| `endTime` | `string` | Yes | Datetime in ISO 8601 format. End time of the event. For example 2023-02-22T23:31:23+00:00 |
| `resourceId` | `string` | No | If you specify resource ID, the vacation will be added only for this resource. If you leave this empty, vacation will be added for the whole site. Options are loaded from the connected account. |
| `quantity` | `integer` | No | Enter the number of resources which should be made unavailable |
| `comment` | `string` | No | Describe the vacation |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "planyo_online_booking",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "planyo_online_booking-create-vacation",
  arguments: {
    startTime: "Start Time",
    endTime: "End time",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "planyo_online_booking-create-vacation",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    planyo_online_booking: { authProvisionId: "apn_xxxxxxx" },
    startTime: "Start Time",
    endTime: "End time",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "planyo_online_booking-create-vacation",
    "configured_props": {
      "planyo_online_booking": { "authProvisionId": "apn_xxxxxxx" },
      "startTime": "Start Time",
      "endTime": "End time"
    }
  }'
```

---

- App: https://pipedream.com/apps/planyo-online-booking.md · All apps: https://pipedream.com/apps
