List a member's time passes
As admin:
GET https://:subdomain.cobot.me/api/memberships/:membership_id/time_passes/unused
As member:
GET https://:subdomain.cobot.me/api/membership/time_passes/unused
Returns a member's unused time passes.
- Authentication required:
- yes, additionally user must be a space admin or member
- Scope required:
- read_time_passes
Example
URL:
GET https://co-up.cobot.me/api/memberships/fdc00612c086d003fab5d99539153f68/time_passes/unused
Response:
[
{
"id": "eaf345258a086d003fab5d99539153e79",
"created_at": "2010/01/01 00:00:00 +0000",
"updated_at": "2010/01/02 00:00:00 +0000",
"expires_at": null,
"used_at": null,
"url": "https://some-space.cobot.me/api/time_passes/eaf345258a086d003fab5d99539153e79"
"name": "Day Pass",
"timespans": "9-5pm",
"parsed_timespans": [
{"from_hour": 9, "from_minute": 0,
"to_hour": 17, "to_minute": 0, "weekdays: []}
],
}
]
- timespans/parsed_timespans
-
The hours the time pass is valid e.g. 9am-10:30pm or a duration e.g. 1h.
parsed_timespans can take two forms: either a set of timespans or a duration.
Timespans looks like this: [
{"from_hour": 9, "from_minute": 0,
"to_hour": 17, "to_minute": 0, "weekdays: [1, 2, 3]}
]
.
Durations like this: [
{"duration_hours": 2, "duration_minutes": 0, "weekdays: []}
]
.
When weekdays is empty, the pass is valid on any day of the week. Otherwise only on those days returned. Weekdays are numbered from 1 (Monday) to 7 (Sunday), according to ISO 8601.
- used_at
- when the time pass was used (null if not used yet)
- exires_at
- time passes included per week or month expire automatically at the end of the week/month – in this case a time is returned. Is null for time passes bought by the member.
List all members' time passes
GET https://:subdomain.cobot.me/api/time_passes/unused
Returns all members' unused time passes.
- Authentication required:
- yes, additionally user must be a space admin
- Scope required:
- read_time_passes
Example
URL:
GET https://co-up.cobot.me/api/time_passes/unused
Response:
[
{
"id": "eaf345258a086d003fab5d99539153e79",
"created_at": "2010/01/01 00:00:00 +0000",
"updated_at": "2010/01/02 00:00:00 +0000",
"expires_at": null,
"used_at": null,
"url": "https://some-space.cobot.me/api/time_passes/eaf345258a086d003fab5d99539153e79"
"name": "Day Pass",
"timespans": "9-5pm",
"parsed_timespans": [
{"from_hour": 9, "from_minute": 0,
"to_hour": 17, "to_minute": 0, "weekdays: []}
]
}
]
Assign time passes to member
POST https://:subdomain.cobot.me/api/memberships/:membership_id/time_passes
Creates time passes for a coworker.
- Authentication required:
- yes, additionally user must be a space admin
- Scope required:
- write_time_passes
Example
URL:
POST https://:subdomain.cobot.me/api/memberships/fdc00612c086d003fab5d99539153f68/time_passes
Body:
{
"no_of_passes": 3,
"charge": "charge",
"id": "1"
"expires_at": "2017-10-01 12:00:00"
}
Returns an empty 201 response on success, otherwise 422 and the error as JSON.
id - the id of the time pass (which describes the types of time passes a member can buy) in the member's plan.
expires_at - optional expiry time. If not set it does not expire.
The charge parameter must be one of the following:
- charge
- the coworker will be charged for the time passes with the next invoice
- dont_charge
- the time passes will not appear on any invoice
- paid
- the time passes will appear on the next invoice but marked as already paid
Show a single time passes
GET https://:subdomain.cobot.me/api/time_passes/:id
Returns a single time pass.
- Authentication required:
- yes, additionally user must be a space admin
- Scope required:
- read_time_passes
Example
URL:
GET https://co-up.cobot.me/api/time_passes/fbf709b2271e27d58686a2ea5e6d0ecc
Response:
{
"id": "fbf709b2271e27d58686a2ea5e6d0ecc",
"created_at": "2010/01/01 00:00:00 +0000",
"updated_at": "2010/01/02 00:00:00 +0000",
"expires_at": null,
"used_at": null,
"url": "https://some-space.cobot.me/api/time_passes/eaf345258a086d003fab5d99539153e79"
"name": "Day Pass",
"timespans": "9-5pm",
"parsed_timespans": [
{"from_hour": 9, "from_minute": 0,
"to_hour": 17, "to_minute": 0, "weekdays: []}
]
}
Update a time passes
PATCH https://:subdomain.cobot.me/api/time_passes/:id
- Authentication required:
- yes, additionally user must be a space admin
- Scope required:
- write_time_passes
Example
URL:
PATCH https://co-up.cobot.me/api/time_passes/fbf709b2271e27d58686a2ea5e6d0ecc
Body:
{
"name": "Hour Pass",
"timespans": "1h",
"expires_at": "2020/01/01 14:00:00 +0000"
}
Response:
{
"id": "fbf709b2271e27d58686a2ea5e6d0ecc",
"created_at": "2010/01/01 00:00:00 +0000",
"updated_at": "2017/09/10 00:00:00 +0000",
"expires_at": "2020/01/01 14:00:00 +0000",
"used_at": null,
"url": "https://some-space.cobot.me/api/time_passes/eaf345258a086d003fab5d99539153e79"
"name": "Hour Pass",
"timespans": "1h",
"parsed_timespans": [
{duration_hours: 1, duration_minutes: 0, weekdays: []}
]
}
Returns status 422 and an errors
hash when sending invalid params.
Delete time passes
DELETE https://:subdomain.cobot.me/api/time_passes/:time_pass_id
Deletes a time pass.
- Authentication required:
- yes, additionally user must be a space admin
- Scope required:
- write_time_passes
Example
URL:
DELETE https://co-up.cobot.me/api/time_passes/eaf345258a086d003fab5d99539153e79
Body: <empty>
Returns an empty 204 response.