Skip to content

Organizations

Allan Lasser edited this page Oct 15, 2015 · 11 revisions

Organizations (orgs) are a way for small teams and newsrooms to collaborate and tap into a shared pool of MuckRock requests.

Member Seats

The number of seats is determined when activating or updating the org. This value may be updated at any time. The minimum number of seats is 3. The number of seats must be greater than or equal to the number of members. That is to say, seats >= 3 && seats >= members must be true. The number of member seats determines the organization's monthly requests and monthly subscription fee.

Monthly Requests

The minimum number of monthly requests is 50. For each member seat added or removed, the organization gains or loses 10 monthly requests. The current number of monthly requests equals 50 + (N-3) * 10, N >= 3 where N is the number of member seats.

Monthly Cost

The monthly cost cannot go below $100. For each member seat added or removed, the organization's subscription price increases or decreases by $20. The current monthly cost equals 100 + (N-3) * 20, N >= 3 where N is the number of member seats.

Members

Members may only be added and removed from an active organization. The minimum number of members is 0. The maximum number of members is the number of purchased members seats. Members may also be pro users. A member can only belong to a single organization at a time. A member cannot own any other organizations.

Owners

An organization may only have one owner. The owner is not a member of the organization by default. The owner is the only one who may add or remove members from their organization. An owner may be a member of their own organization. An owner cannot also be a pro user. An owner cannot own any other organizations. An owner cannot be a member of any other organization.

Subscriptions

Organization owners are charged through Stripe subscriptions. Subscriptions can be activated, updated, or cancelled. An organization is active or inactive based on its current subscription status.

The cost of the subscription is determined by the monthly cost, which is applied to the subscription.quantity value. All subscriptions belong to the org plan on Stripe. The organization plan being subscribed to has a monthly cost of $1, so variable pricing is achieved through varying the quantity of the subscription.

Activating Subscriptions

When an organization is created, either by the organization owner or a user who is not the owner, i.e. a staff user, the organization is created in an inactive state. In either case, the owner must activate the org before any members can be added to it. If the owner creates the organization, they are immediately redirected to the activation page. If a non-owner user (again, i.e. a staff user) creates the organization, the owner is prompted to activate the organization from the org page itself. If for some reason the owner does not complete the activation, they will be prompted to activate the org the next time they visit the page.

The activation page is a simple form which provides the owner an input for choosing the number of member seats. It also provides the owner with an indication of the monthly cost and monthly requests of their subscription. When the organization is inactive, the activation page form presents a Stripe Checkout input upon submission. This collect's the owner's current credit card information and uses it to begin charging a subscription to their customer account.

Before activating the subscription, the monthly cost and monthly requests are recalculated. If the number of seats chosen in the activation form is different from the current number of seats, the price is increased or decreased based on the calculations above. These calculations are based on the current monthly value and current monthly requests to determine the new cost and request count of the org. This should afford staff the flexibility to tailor organization plans to a specific customer, while allowing for consistency in calculation whether or not staff involve themselves in the process.

When a subscription is activated, the owner is subscribed to the org plan. The quantity of the subscription is based on the freshly calculated monthly cost. The subscription ID is saved to the organization. Finally, the org is set to an active state.

Updating Subscriptions

The update page uses the same form for choosing member seats as the activation page. Only active organizations may be updated. However, since the org is already active, there is no need for the owner to reinput their credit card information.

If the number of seats does not change, then no update is applied. Otherwise, the monthly price and monthly requests are updated to correspond to the new number of seats. The quantity of the subscription is then updated based on the new monthly price.

Cancelling Subscriptions

When a subscription is cancelled, the organization is returned to an inactive state. The cancellation page provides a confirmation dialog, but no other input is needed. The owner will be prompted to reactivate the organization when revisiting it later.