List bookings
GET https://:subdomain.cobot.me/api/bookings
This returns a list of all bookings for a space overlapping the given time period.
- Authentication required:
- yes, additionally user must be a space member or admin
- Scope required
- read_bookings
- Parameter required
-
from and to – the time period to retrieve the bookings for
- Optional Parameters
- Pass limit to limit the no. of returned bookings.
Example
GET https://co-up.cobot.me/api/bookings?from=2012-04-12 12:00 +0000&to=2012-04-18 18:00 +0000
Response:
[
{
"from": "2012/01/01 12:00:00 +0000",
"to": "2012/01/01 14:00:00 +0000",
"tax_rate": "20.0",
"title": "event booking",
"resource": { "name": "Meeting Room", "id": "123" },
"price": 10.0,
"has_custom_price": false,
"currency": "EUR",
"accounting_code": "B1",
"url": "https://co-up.cobot.me/api/bookings/20723075",
"id": "20723075",
"can_change": false,
"event": {
"id": "event-id"
},
"comments": "coffee please",
"units": 1,
"created_at": "2012/01/01 10:00:00 +0000",
"updated_at": "2012/01/01 10:30:00 +0000"
}
]
- event
- only included when the booking belongs to an event
- comments
- Please note that members can only see their own comments, admins can see all comments.
List bookings for a resource and timespan
GET https://:subdomain.cobot.me/api/resources/:resource_id/bookings
This returns a list of all bookings for a space and a resource overlapping the given time period.
- Authentication required:
- yes, additionally user must be a space member or admin
- Scope required
- read_bookings
- Parameter required
-
from and to – the time period to retrieve the bookings for
Example
GET https://co-up.cobot.me/api/resources/12345/bookings?from=2012-04-12 12:00 +0000&to=2012-04-18 18:00 +0000
Response:
[
{
"id": "d58b612aaa62619aae546dd336587eb2",
"from": "2012/04/12 12:00:00 +0000",
"to": "2012/04/12 18:00:00 +0000",
"tax_rate": "20.0",
"title": "event booking",
"resource": { "name": "Meeting Room", "id": "12345" },
"price": 10.0,
"has_custom_price": false,
"currency": "EUR",
"accounting_code": "B1",
"url": "https://co-up.cobot.me/api/bookings/20723075",
"id": "20723075",
"can_change": false,
"comments": "coffee please",
"event": {
"id": "event-id"
},
"units": 1,
"created_at": "2012/01/01 10:00:00 +0000",
"updated_at": "2012/01/01 10:30:00 +0000"
}
]
- event
- only included when the booking belongs to an event
List own bookings for a timespan as member
GET https://:subdomain.cobot.me/api/membership/bookings
This returns a list of all bookings for a space and a membership overlapping the given time period.
- Authentication required:
- yes, additionally user must be a member
- Scope required
- read_bookings
- Parameter required
-
from and to – the time period to retrieve the bookings for
Example
GET https://co-up.cobot.me/api/memberships/bookings?from=2012-04-12 12:00 +0000&to=2012-04-18 18:00 +0000
Response:
[
{
"id": "d58b612aaa62619aae546dd336587eb2",
"from": "2012/04/12 12:00:00 +0000",
"to": "2012/04/12 18:00:00 +0000",
"tax_rate": "20.0",
"title": "test booking",
"resource": { "name": "Meeting Room", "id": "12345" },
"price": 10.0,
"has_custom_price": false,
"currency": "EUR",
"accounting_code": "B1",
"membership": {
"id": "123498y452346",
"name": "John Doe"
},
"url": "https://co-up.cobot.me/api/bookings/20723075",
"id": "20723075",
"can_change": true,
"comments": "coffee please",
"units": 1,
"created_at": "2012/01/01 10:00:00 +0000",
"updated_at": "2012/01/01 10:30:00 +0000"
}
]
List bookings for a membership and timespan
GET https://:subdomain.cobot.me/api/memberships/:membership_id/bookings
This returns a list of all bookings for a space and a membership overlapping the given time period.
- Authentication required:
- yes, additionally user must be a space admin
- Scope required
- read_bookings
- Parameter required
-
from and to – the time period to retrieve the bookings for
Example
GET https://co-up.cobot.me/api/memberships/123498y452346/bookings?from=2012-04-12 12:00 +0000&to=2012-04-18 18:00 +0000
Response:
[
{
"id": "d58b612aaa62619aae546dd336587eb2",
"from": "2012/04/12 12:00:00 +0000",
"to": "2012/04/12 18:00:00 +0000",
"tax_rate": "20.0",
"title": "test booking",
"resource": { "name": "Meeting Room", "id": "12345" },
"price": 10.0,
"has_custom_price": false,
"currency": "EUR",
"accounting_code": "B1",
"membership": {
"id": "123498y452346",
"name": "John Doe"
},
"url": "https://co-up.cobot.me/api/bookings/20723075",
"id": "20723075",
"can_change": true,
"comments": "coffee please",
"units": 1,
"created_at": "2012/01/01 10:00:00 +0000",
"updated_at": "2012/01/01 10:30:00 +0000"
}
]
List recent bookings for member
GET https://:subdomain.cobot.me/api/membership/bookings/recent
This returns a list of not yet invoiced bookings for a member (does not include free bookings).
- Authentication required:
- yes, additionally user must be a space member
- Scope required
- read_bookings
Example
GET https://co-up.cobot.me/api/membership/bookings/recent
Response:
[
{
"from": "2012/01/01 12:00:00 +0000",
"to": "2012/01/01 14:00:00 +0000",
"tax_rate": "20.0",
"title": "test booking",
"resource": { "name": "Meeting Room", "id": "123" },
"price": 10.0,
"has_custom_price": false,
"currency": "EUR",
"accounting_code": "B1",
"membership": {
"id": "123498y452346",
"name": "John Doe"
},
"url": "https://co-up.cobot.me/api/bookings/20723075",
"id": "20723075",
"can_change": false,
"comments": "tea please",
"units": 1,
"created_at": "2012/01/01 10:00:00 +0000",
"updated_at": "2012/01/01 10:30:00 +0000"
}
]
List upcoming bookings for member
GET https://:subdomain.cobot.me/api/membership/bookings/upcoming
This returns a list of upcoming bookings for a member.
- Authentication required:
- yes, additionally user must be a space member
- Scope required
- read_bookings
Example
GET https://co-up.cobot.me/api/membership/bookings/upcoming
Response:
[
{
"from": "2012/01/01 12:00:00 +0000",
"to": "2012/01/01 14:00:00 +0000",
"tax_rate": "20.0",
"title": "test booking",
"resource": { "name": "Meeting Room", "id": "123" },
"price": 10.0,
"currency": "EUR",
"accounting_code": "B1",
"membership": {
"id": "123498y452346",
"name": "John Doe"
},
"url": "https://co-up.cobot.me/api/bookings/20723075",
"id": "20723075",
"can_change": true,
"comments": "tea please",
"units": 1,
"created_at": "2012/01/01 10:00:00 +0000",
"updated_at": "2012/01/01 10:30:00 +0000"
}
]
Show single booking
GET https://:subdomain.cobot.me/api/bookings/:booking_id
This returns a single booking.
- Authentication required:
- yes, additionally user must be a space member or admin
- Scope required
- read_bookings
Example
GET https://co-up.cobot.me/api/bookings/20723075
Response:
{
"from": "2012/01/01 12:00:00 +0000",
"to": "2012/01/01 14:00:00 +0000",
"tax_rate": "20.0",
"title": "test booking",
"resource": { "name": "Meeting Room", "id": "123" },
"price": 10.0,
"has_custom_price": false,
"currency": "EUR",
"accounting_code": "B1",
"membership": {
"id": "123498y452346",
"name": "John Doe"
},
"url": "https://co-up.cobot.me/api/bookings/20723075",
"id": "20723075",
"can_change": true,
"comments": "tea please",
"units": 1,
"created_at": "2012/01/01 10:00:00 +0000",
"updated_at": "2012/01/01 10:30:00 +0000"
}
Create Booking
POST https://:subdomain.cobot.me/api/resources/:resource_id/bookings
This books a resource. Obtain the URL from the list of resources (see resources section).
- Authentication required:
- yes, additionally user must be a space member or admin
- Scope required
- write_bookings
- Rate limit
- 10 rpm
Example
POST https://co-up.cobot.me/api/resources/230847/bookings
Body:
{
"from": "2012-01-01 12:00 +0000",
"to": "2012-01-01 14:00 +0000",
"title": "test booking",
"membership_id": "123498y452346",
"comments": "tea please",
"units": 1,
"has_custom_price": false
}
Response:
{
"from": "2012/01/01 12:00:00 +0000",
"to": "2012/01/01 14:00:00 +0000",
"tax_rate": "20.0",
"title": "test booking",
"resource": { "name": "Meeting Room", "id": "123" },
"price": 10.0,
"has_custom_price": false,
"currency": "EUR",
"accounting_code": null,
"membership": {
"id": "123498y452346",
"name": "John Doe"
},
"url": "https://co-up.cobot.me/api/bookings/20723075",
"id": "20723075",
"can_change": true,
"comments": "tea please",
"units": 1,
"created_at": "2012/01/01 10:00:00 +0000",
"updated_at": "2012/01/01 10:30:00 +0000"
}
- title
- optional
- membership_id
- The id of the member to book for – only applicable when booking as space admin, optional
- url
- The URL of the booking – used to update/delete the booking
- price
- Admins can optionally pass in a price if they want to override the automatically calculated price
- validate_times_for_admin
- Admins can usually create bookings for any time. When setting `validate_times_for_admin` to `true`, the booking is checked against the min/max `booking_duration`, `booking_times` attribute and cannot be in the past.
- units
- If a resource has more than one unit you can say how many to book here. Price or Booking Credit usage is multiplied by the number of booked units.
Returns 201 and the booking as JSON on success. Returns 422 and the errors as JSON if the booking was invalid.
Update a booking
PUT https://:subdomain.cobot.me/api/bookings/:booking_id
This updates a booking. Obtain the URL from the list of bookings or when creating the booking.
- Authentication required:
- yes, additionally user must be a space member or admin. Members can only update their own bookings and only those in the future.
- Scope required
- write_bookings
Example
URL:
PUT https://co-up.cobot.me/bookings/23048762375
Body:
{
"from": "2012-01-1 12:00 +0000",
"to": "2012-01-01 14:00 +0000",
"title": "test booking",
"membership_id": "123498y452346",
"resource_id": "12345",
"comments": "tea please",
"units": 1
}
Response:
{
"from": "2012/01/01 12:00:00 +0000",
"to": "2012/01/01 14:00:00 +0000",
"tax_rate": "20.0",
"title": "test booking",
"resource": {
"name": "Meeting Room",
"id": "123"
},
"price": 10.0,
"has_custom_price": false,
"currency": "EUR",
"accounting_code": "B1",
"membership": {
"id": "123498y452346",
"name": "John Doe"
},
"url": "https://co-up.cobot.me/api/bookings/23048762375",
"id": "20723075",
"can_change": true,
"comments": "tea please",
"units": 1,
"created_at": "2012/01/01 10:00:00 +0000",
"updated_at": "2012/01/01 10:30:00 +0000"
}
- title
- optional
- membership_id
- The id of the member to book for – only applicable when booking as space admin, optional
- url
- The URL of the booking – used to update/delete the booking
- price
- Admins can optionally pass in a price if they want to override the automatically calculated price
- validate_times_for_admin
- Admins can usually create bookings for any time. When setting `validate_times_for_admin` to `true`, the booking is checked against the min/max `booking_duration`, `booking_times` attribute and cannot be in the past.
- units
- If a resource has more than one unit you can say how many to book here. Price or Booking Credit usage is multiplied by the number of booked units.
Returns 200 and the booking as JSON on success.
Returns 422 and the errors as JSON if the booking was invalid.
Returns 409 if the booking has been made by an event and can't be changed through this endpoint.
Delete a booking
DELETE https://:subdomain.cobot.me/api/bookings/32947346
This deletes a booking. The URL of a booking can be obtained either from the response when creating it or from listing all bookings.
- Authentication required:
- yes, additionally user must be a space member or admin. Members can only delete their own bookings and only those in the future.
- Scope required
- write_bookings
Example
DELETE https://co-up.cobot.me/api/bookings/32947346
Returns an empty 204 response.
Returns 409 if the booking has been made by an event and can't be delete through this endpoint.