Documentation

Food Banks

Food banks accept food donations and also purchase bulk surplus food at a discount. This workflow here starts with creation of a harvest to represent the surplus food.

A "portioning" is then created to represent the division of food into portions. Distribution volunteers are notified of the portioning and can choose to "sign up" to help.

Each portioning produces one or more "distributions". Distributions are assigned to a "distribution site" and scheduled. People who have requested notification of distributions in their area are notified of the distribution.

Typical Workflow

The steps below outline the process a food bank might use.

Harvests represent the product of a glean, or purchase of surplus food by a distributor.

Any signed-in user can create a harvest.

If the harvest is created by a user designated as team or distributor leader, the harvest is auto-approved, proceeding directly to "approved" state.

When a new harvest is added, a notification is sent to the user who created it. If a team is designated, team leaders are also notified. If a distributor is designated, distributor leaders are also notified.

Harvests are transferred to distributors.

Any signed-in user can create a transfer for a harvest.

A transfer typically transitions through these states: draft, pending, active, closed. After a transfer is created, it will be in "draft" state. If the transfer is created by a user designated as team or distributor leader, the transfer is auto-approved, proceeding directly to "active" state.

Only "active" transfers show on the website as opportunities for volunteers.

When a new transfer is added, a notification is sent to the user who created it. If a distributor is designated, distributor leaders are also notified. If a team is designated, team leaders are also notified.

A portioning is an event with the purpose of portioning the harvest into distributions.

Any signed-in user can create a portioning and submit it for approval by a distributor leader.

If the portioning is created by a user designated as team or distributor leader, the portioning is auto-approved, proceeding directly to "approved" state.

Only "approved" portionings show on the website as opportunities for volunteers.

When a new portioning is added, a notification is sent to the user who created it. If a distributor is designated, distributor leaders are also notified.

Distributions represent an event where free, portioned food is distributed. Distributions are assigned to a distribution site.

Any signed-in user can create a new distribution.

Distributions can be created from portionings, from harvests or on their own. Each distribution has a specified portion size and number of portions.

After a distribution is created, it will saved as a "draft". Any user can submit a distribution for approval by distributor leaders. If the distribution is created by a user designated as team or distributor leader, the distribution is auto-approved, proceeding directly to "approved" state.

Only "approved" distributions show on the website as opportunities for volunteers.

When a new distribution is added, a notification is sent to the user who created it. If a distributor is designated, distributor leaders are also notified.

Harvests are automatically closed during portioning, as distributions are created from them.

When a portioning is closed, a notification is sent to the user who created it. If a distributor is designated, distributor leaders are also notified.

A portioning is closed when distributions have been created or when the event is cancelled.

Distributor leaders can close a portioning.

When a portioning is closed, a notification is sent to the user who created it. If a distributor is designated, distributor leaders are also notified.

Distributions are transferred to distributors.

Any signed-in user can create a transfer for a distribution.

A transfer typically transitions through these states: draft, pending, active, closed. After a transfer is created, it will be in "draft" state. If the transfer is created by a user designated as team or distributor leader, the transfer is auto-approved, proceeding directly to "active" state.

Only "active" transfers show on the website as opportunities for volunteers.

When a new transfer is added, a notification is sent to the user who created it. If a distributor is designated, distributor leaders are also notified. If a team is designated, team leaders are also notified.

Distributions are "started" by distribution leaders.

When a distribution is started, a notification is sent to the user who created it. Distributor leaders are also notified.

Distributions are "closed" by distribution leaders or by a nightly background automated process on the server. Distributions with state "finished" are automatically closed after 30 days.

When a distribution is closed, a notification is sent to the user who created it. Distributor leaders are also notified.