Bookings

Bookings represent a stay by a resident at a care home, they indicate the duration of the stay as well as the agreed rate.

The booking object

Attributes

  • _id
    string

    A unique Id for the booking.

  • booking_type
    string

    The type of booking; block_contract, out_of_service, service_user.

  • cancelled
    string

    The date/time the booking was cancelled (if cancelled).

  • check_in
    boolean

    Flag indicating the service user will check-in at the start of this.

  • checkout
    boolean

    Flag indicating that the service user will checkout at the end of this booking.

  • checkout_notes
    string

    Further notes on why the service user checked out.

  • converted_to_permanent
    string

    The date/time the booking was converted to a permanent booking after the respite to permanent rule has been applied (if converted).

  • created
    string

    The date/time the booking was created.

  • end_date
    string

    The date the booking ends.

  • location
    string

    The Id of the location the service user is being booked in to.

  • modified
    string

    The date/time the booking was modified.

  • notes
    string

    Any additional information about the booking (such as the reason a room is out of service).

  • proposed_checkout_date
    string

    For respite bookings a proposed checkout date is typically set initially until a checkout date is confirmed.

  • rate
    string

    The rate charged for the booking's rate period (in pence).

  • rate_period
    string

    The period of time the booking's rate is calculated over;daily, weekly.

  • reason_for_checkout
    string

    The reason the service user is checking out.

  • respite
    boolean

    Flag indicating if the booking is respite.

  • room
    string

    The Id of the room the is booked for.

  • service_user
    string

    The service user the booking relates to.

  • start_date
    string

    The date the booking starts.

The booking object
{
    "_id": "66bfb4c09ab4e3d6eb735792",
    "booking_type": "service_user",
    "cancelled": null,
    "check_in": true,
    "checkout": false,
    "checkout_notes": null,
    "converted_to_permanent": null,
    "created": "2024-08-16 20:21:20",
    "end_date": null,
    "location": "66bfb4bb9ab4e3d6eb734900",
    "modified": "2024-08-16 20:21:20",
    "notes": null,
    "proposed_checkout_date": null,
    "rate": 138554,
    "rate_period": "weekly",
    "reason_for_checkout": null,
    "respite": false,
    "room": "66bfb4bc9ab4e3d6eb73495e",
    "service_user": "66bfb4c09ab4e3d6eb735790",
    "start_date": "2022-05-27"
}

List all bookings

Return a list of bookings.

Parameters

  • attributes
    optional
    default ['_id']

    A list of attributes to include for fetched objects.

  • filters-booking_type
    optional

    A filter that allows bookings to be filtered to a list of booking types.

    • block_contract
    • out_of_service
    • service_user
  • filters-cancelled
    optional
    default unset

    A filter that allows bookings to be filtered by whether the booking is cancelled.

    • unset
    • yes
    • no
  • filters-check_in
    optional
    default unset

    A filter that allows bookings to be filtered by whether the booking requires a service user to check-in to the location.

    • unset
    • yes
    • no
  • filters-checkout
    optional
    default unset

    A filter that allows bookings to be filtered by whether the booking requires a service user to checkout of the location.

    • unset
    • yes
    • no
  • filters-end_date
    optional

    A filter that accepts a date and filters bookings to those that start before the given date.

  • filters-ids
    optional

    A filter that accepts a list of Ids and filters the items returned to those with an Id in the list.

  • filters-location
    optional

    A filter that accepts a list of location Ids and filters bookings by the location they are for.

  • filters-max_rate
    optional

    A filter that accepts a rate (in pence) and filters bookings to those with a rate equal to or less than the given rate.

  • filters-min_rate
    optional

    A filter that accepts a rate (in pence) and filters bookings to those with a rate equal to or higher than the given rate.

  • filters-modified_after
    optional

    A filter that accepts a date/time and filters the items returned to those modified after the date/time.

  • filters-modified_before
    optional

    A filter that accepts a date/time and filters the items returned to those modified before the date/time.

  • filters-q
    optional

    A case insensitive keyword filter applied to the following fields; checkout_notes, notes.

  • filters-respite
    optional
    default unset

    A filter that allows bookings to be filtered by whether the booking is for respite or not (long-term/permanent).

    • unset
    • yes
    • no
  • filters-room
    optional

    A filter that accepts a list of room Ids and filters bookings by the room the booking relates to.

  • filters-service_user
    optional

    A filter that accepts a list of service user Ids and filters bookings by the service user the bookings are for.

  • filters-start_date
    optional

    A filter that accepts a date and filters bookings to those that end after the given date (including if the booking has no end date set).

  • page
    optional
    default 1

    The page number to fetch.

  • per_page
    optional
    default 10

    The number of items to return per page.

  • sort_by
    optional
    default _id

    A list of fields the returned items can be sorted by. Fields prefixed with minus (-) sign are sorted in descending order.

    • _id
    • created
    • end_date
    • modified
    • start_date

Response

Returns a page of bookings.

GET
/v1/bookings
var bookings = apiClient.Request(
    HttpMethod.Get,
    "bookings",
    new MultiValueDict()
        .Add("attributes", "service_user", "start_date", "end_date")
        .Add("filters-cancelled", "no")
);
<?php

$bookings = $api_client->request(
    'GET',
    'bookings',
    [
        'attributes'=>['service_user', 'start_date', 'end_date'],
        'filters-cancelled'=>'no'
    ]
);
bookings = api_client(
    'GET',
    'bookings',
    params={
        'attributes': ['service_user', 'start_date', 'end_date'],
        'filters-cancelled': 'no'
    }
)
bookings = api_client.request(
    'GET',
    'bookings',
    params: {
        'attributes' => ['service_user', 'start_date', 'end_date'],
        'filters-cancelled' => 'no'
    }
)
Response
{
    "item_count": 95,
    "items": [
        {
            "_id": "66bfb4c09ab4e3d6eb73569a",
            "end_date": "2022-06-04",
            "service_user": "66bfb4c09ab4e3d6eb735698",
            "start_date": "2022-05-28"
        },
        {
            "_id": "66bfb4c09ab4e3d6eb73569e",
            "end_date": "2022-06-15",
            "service_user": "66bfb4c09ab4e3d6eb73569c",
            "start_date": "2022-06-10"
        },
        {
            "_id": "66bfb4c09ab4e3d6eb7356a2",
            "end_date": "2022-06-25",
            "service_user": "66bfb4c09ab4e3d6eb7356a0",
            "start_date": "2022-06-21"
        },
        {
            "_id": "66bfb4c09ab4e3d6eb7356a6",
            "end_date": "2022-07-03",
            "service_user": "66bfb4c09ab4e3d6eb7356a4",
            "start_date": "2022-06-19"
        },
        {
            "_id": "66bfb4c09ab4e3d6eb7356aa",
            "end_date": "2022-07-03",
            "service_user": "66bfb4c09ab4e3d6eb7356a8",
            "start_date": "2022-06-27"
        },
        {
            "_id": "66bfb4c09ab4e3d6eb7356ae",
            "end_date": "2022-07-07",
            "service_user": "66bfb4c09ab4e3d6eb7356ac",
            "start_date": "2022-06-23"
        },
        {
            "_id": "66bfb4c09ab4e3d6eb7356b2",
            "end_date": "2022-07-11",
            "service_user": "66bfb4c09ab4e3d6eb7356b0",
            "start_date": "2022-07-06"
        },
        {
            "_id": "66bfb4c09ab4e3d6eb7356b6",
            "end_date": "2022-07-25",
            "service_user": "66bfb4c09ab4e3d6eb7356b4",
            "start_date": "2022-07-11"
        },
        {
            "_id": "66bfb4c09ab4e3d6eb7356ba",
            "end_date": "2022-07-27",
            "service_user": "66bfb4c09ab4e3d6eb7356b8",
            "start_date": "2022-07-24"
        },
        {
            "_id": "66bfb4c09ab4e3d6eb7356be",
            "end_date": "2022-08-04",
            "service_user": "66bfb4c09ab4e3d6eb7356bc",
            "start_date": "2022-07-14"
        }
    ],
    "page": 1,
    "page_count": 10,
    "per_page": 10
}

Retrieve an booking

Retrieve an booking object.

Response

Returns a booking object.

GET
/v1/bookings/<booking_id>
var booking = apiClient.Request(HttpMethod.Get, $"bookings/{bookingId}");
<?php

$booking = $api_client->request(
    'GET',
    'bookings/' . $booking_id
);
booking = api_client('GET', f'bookings/{booking_id}')
booking = api_client.request('GET', "bookings/#{booking_id}")
Response
{
    "_id": "66bfb4c09ab4e3d6eb735792",
    "booking_type": "service_user",
    "cancelled": null,
    "check_in": true,
    "checkout": false,
    "checkout_notes": null,
    "converted_to_permanent": null,
    "created": "2024-08-16 20:21:20",
    "end_date": null,
    "location": "66bfb4bb9ab4e3d6eb734900",
    "modified": "2024-08-16 20:21:20",
    "notes": null,
    "proposed_checkout_date": null,
    "rate": 138554,
    "rate_period": "weekly",
    "reason_for_checkout": null,
    "respite": false,
    "room": "66bfb4bc9ab4e3d6eb73495e",
    "service_user": "66bfb4c09ab4e3d6eb735790",
    "start_date": "2022-05-27"
}