---
title: "Book the service for a specific reservation."
method: PUT
path: "/booking/v0-nsfw/reservation-actions/{id}/book-service"
tags: ["ReservationActions"]
---

# Book the service for a specific reservation.

`PUT /booking/v0-nsfw/reservation-actions/{id}/book-service`

## Request

- Base URL: `https://api.apaleo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.apaleo.com/booking/v0-nsfw/reservation-actions/{id}/book-service`
- Auth: OAuth 2
  - Implicit: `https://identity.apaleo.com/connect/authorize`
  - Scopes: `reservations.manage`, `admin`

Use this to book a service for a specific reservation.
Please note that when dates are specified, all desired dates must be specified or they will be removed if not posted to the folio.
When an amount is specified, it is the price before taxes on services and before sales taxes, but including VAT, so those taxes are added on top of it.
When an amount is omitted, the price is taken from the service configuration and matches the amount the service offer returns: sales taxes are added on top of it, while taxes on services have already been deducted from it and are reported separately.<br>You must have this scope: 'reservations.manage'.<br>For fine-grained clients, you must have this permission: 'core.reservations.modify'.

## Path parameters

- `id` string, required

## Request body

- BookReservationServiceModel
  - `serviceId` string, required: The id of the service you want to book
  - `count` integer, nullable: The number of services to book for each service date. It defaults to the service offer count when not specified.
  - `amount` MonetaryValueModel
    - `amount` number, double, required
    - `currency` string, required
  - `dates` Date[], nullable: The optional dates you want to book the service for; if not specified the default service pattern will be used (e.g. whole stay).
    - `serviceDate` string, date, required: The date the service is delivered
    - `count` integer, nullable: The number of services to book for this date. It defaults to the service offer count when not specified.
    - `amount` MonetaryValueModel
      - `amount` number, double, required
      - `currency` string, required

## Response `204`

Booking of the service for the reservation was successful.

## Other responses

- `400`: Bad request.
- `401`: You are unauthorized.
- `403`: Forbidden.
- `404`: The Request-URI could not be found.
- `415`: Unsupported media type.
- `422`: Validation errors in the request body or query params.
- `499`: Client closed request.
- `500`: An unexpected error occurred.
- `503`: The server is currently unavailable. Please try later.

---

[API](https://skmtc.dev/apaleo/apis/apaleo-booking-api-not-safe-for-work.md) - [All operations](https://skmtc.dev/apaleo/apis/apaleo-booking-api-not-safe-for-work/llms.txt) - [OpenAPI document](https://skmtc.dev/apaleo/apis/apaleo-booking-api-not-safe-for-work/revisions/a1b6a2f6b879?raw)
