As admin:
GET https://:subdomain.cobot.me/api/memberships/:membership_id/plans
URL:
GET https://co-up.cobot.me/api/memberships/1235/plans
Response:
[{ "name": "basic", "parent_plan": {"id": "320475"}, "price_per_cycle": "100.0", "price_per_cycle_in_cents": 10000, "cycle_duration": 1, "currency": "EUR", "terms": "pay immediately", "description": "basic plan", "cancellation_period": 30, "minimum_commitment": 0, "hidden": false, "total_price_per_cycle": "100.0", "tax_rate": "19.0", "time_passes": [], "canceled_to": null, "extras": [ { "name": "Locker", "price_in_cents": 2000, "price": "20.0", "tax_rate": "19.0", "time_passes": [], "canceled_to": null, "extras": [ { "name": "Locker", "price_in_cents": 2000, "price": "20.0", "tax_rate": "19.0", "currency": "EUR" } ] }] "currency": "EUR" } ] }]
In the response the parent_plan will reference the original plan of the space that was used to setup this plan.
As admin:
POST https://:subdomain.cobot.me/api/memberships/:membership_id/plans
Changes the plan of the membership either to the given date or when the next change is possible.
As member:
POST https://:subdomain.cobot.me/api/membership/plan
Changes the plan of the membership when the next change is possible.
As admin:
URL:
POST https://co-up.cobot.me/api/memberships/1235/plans
Body:
{ "plan_id": "320475", "change_date": "2011-10-30", "extras": ["33"] }
As member:
URL:
POST https://co-up.cobot.me/api/membership/plan
Body:
{ "plan_id": "320475", "extras": ["33"] }
Response:
{ "name": "basic", "parent_plan": { "id": "320475" }, "price_per_cycle": "100.0", "price_per_cycle_in_cents": 10000, "cycle_duration": 1, "currency": "EUR", "terms": "pay immediately", "description": "basic plan", "cancellation_period": 30, "minimum_commitment": 0, "hidden": false, "total_price_per_cycle": "100.0", "tax_rate": "19.0", "time_passes": [], "canceled_to": null, "starts_at": "2011/10/30", "extras": [ { "name": "Locker", "price_in_cents": 2000, "price": "20.0", "tax_rate": "19.0", "currency": "EUR" } ] }
The change_date parameter is optional. It allows to enforce when the plan is changed in the future. If you don't provide it the plan will be changed as soon the cancellation period of the current plan allows it. On success returns a status code of 201 and the new plan as JSON with starts_at being the date the plan becomes active. If the plan is invalid returns 422 and the errors as JSON.
In order to add extras to the membership's plan you pass in the ids of the extras from the original plan.
In the response the parent_plan will reference the original plan of the space that was used to setup this plan.
As admin:
URL:
PUT https://:subdomain.cobot.me/api/memberships/:membership_id/plan
Body:
{ "name": "new name" }
Customizes the current plan of a member.
URL:
PUT https://co-up.cobot.me/api/memberships/9f663e11ef7383e82cca0dd07a751d78/plan
Body:
{ "name": "plan with credits", "booking_credits": [ { "price_per_hour": "30.0", "included_unit": "hours", "included_value": "5.0", "resource_ids": ["12345", "67890"] } ] }
Response:
{ "name": "plan with credits", "parent_plan": { "id": "320475" }, "price_per_cycle": "100.0", "price_per_cycle_in_cents": 10000, "cycle_duration": 1, "currency": "EUR", "terms": "pay immediately", "description": "basic plan", "cancellation_period": 30, "minimum_commitment": 0, "hidden": false, "total_price_per_cycle": "100.0", "tax_rate": "19.0", "time_passes": [], "canceled_to": null, "extras": [], "booking_credits": [ { "resources": [ { "id": "12345", "name": "Room" }, { "id": "67890", "name": "Room 2" } ], "hours": "5.0", "price_per_hour": "30.0" } ] }
As admin:
URL:
PUT https://:subdomain.cobot.me/api/memberships/:membership_id/upcoming_plan
Body:
{ "name": "new name" }
Customizes the upcoming plan of a member.
URL:
PUT https://co-up.cobot.me/api/memberships/9f663e11ef7383e82cca0dd07a751d78/upcoming_plan
Body:
{ "name": "new upcoming plan" }
Response:
{ "name": "new upcoming plan", "parent_plan": { "id": "320475" }, "price_per_cycle": "100.0", "price_per_cycle_in_cents": 10000, "total_price_per_cycle": "100.0", "cycle_duration": 1, "currency": "EUR", "terms": "pay immediately", "description": "basic plan", "cancellation_period": 30, "minimum_commitment": 0, "hidden": false, "total_price_per_cycle": "100.0", "tax_rate": "19.0", "time_passes": [], "canceled_to": null, "starts_at": "2016/10/10", "extras": [] }