Common models

The following is an example of a Phone Bank Event Type. Events of this type have the following rules:

  • Events can have more than one Shift
  • A Location isn’t required, but an Event can have more than one Location
  • Can have the Host and/or Phone Banker Roles
  • Each Role can have fulfillment Goals and minimum requirements but cannot have maximum capacity requirements
  • Signups to Events of this type can only have one of the following Statuses: Invited, Scheduled, Declined, Confirmed, Completed, or Walk In
  • Events are displayed in purple (#C6AFDA) in the VAN UI
  • When creating Events in the VAN UI, Campaign HQ is offered as the default Location
  • When creating Events in the VAN UI, users can create Repeatable Events
{
  "eventTypeId": 143856,
  "name": "Phone Bank",
  "canHaveMultipleShifts": true,
  "canHaveMultipleLocations": true,
  "canHaveGoals": true,
  "canHaveRoleMaximums": false,
  "canHaveRoleMinimums": true,
  "canBeRepeatable": true,
  "roles": [
    {
      "roleId": 111687,
      "name": "Host",
      "isEventLead": true
    },
    {
      "roleId": 111689,
      "name": "Phone Banker",
      "isEventLead": false
    }
  ],
  "statuses": [
    {
      "statusId": 4,
      "name": "Invited"
    },
    {
      "statusId": 1,
      "name": "Scheduled"
    },
    {
      "statusId": 3,
      "name": "Declined"
    },
    {
      "statusId": 11,
      "name": "Confirmed"
    },
    {
      "statusId": 2,
      "name": "Completed"
    },
    {
      "statusId": 15,
      "name": "Walk In"
    }
  ],
  "color": "#C6AFDA",
  "isAtLeastOneLocationRequired": false,
  "defaultLocation": {
    "locationId": 272,
    "name": "Campaign HQ",
    "displayName": "Campaign HQ, 48 Grove St Somerville, MA 02144-2500 ",
    "address": {
      "addressId": null,
      "addressLine1": "48 Grove St",
      "addressLine2": null,
      "addressLine3": null,
      "city": "Somerville",
      "stateOrProvince": "MA",
      "zipOrPostalCode": "02144",
      "geoLocation": {
        "lon": -71.120121,
        "lat": 42.396363
      },
      "countryCode": "US",
      "preview": "48 Grove St \r\nSomerville, MA 02144-2500 ",
      "type": null,
      "isPreferred": null
    },
    "id": 272,
    "notes": null,
    "codes": null
  },
  "isSharedWithMasterCommitteeByDefault": false,
  "isSharedWithChildCommitteesByDefault": true
}

Event Type

Each Event Type has the following properties:

Property

Type

Description

eventTypeId

int

Unique identifier for an Event Type in this context

name

string

A name for the Event Type, no longer than 20 characters

canHaveMultipleShifts

bool

Indicates that Events of this Event Type may have multiple Shifts

canHaveMultipleLocations

bool

Indicates that Events of this Event Type may have multiple Locations

canHaveGoals

bool

Indicates that Events of this Event Type may have goals for Roles (e.g., how many people would you like to recruit for a role?)

canHaveRoleMaximums

bool

Indicates that Roles of Events of this Event Type may have a maximum number of attendees (NB: this is a suggested maximum and is not enforced when creating a Signup)

canHaveRoleMinimums

bool

Indicates that Roles of Events of this Event Type may have a minimum number of attendees

canBeRepeatable

bool

Indicates that Events of this Event Type may repeat over multiple days when created in the VAN UI

roles

array

An array of one or more Role objects; these are the set of possible roles for Events of this Event Type

statuses

array

An array of one or more Status objects; these are the set of possible Event Statuses for Events of this Event Type

color

string

Optional; an HTML hexadecimal color code used to distinguish Events of this Event Type in the VAN UI

isAtLeastOneLocationRequired

bool

Indicates that Events of this Event Type must have at least one Location

defaultLocation

object

Optional; if specified, the default Location for Events of this Event Type when created in the VAN UI

isSharedWithMasterCommitteeByDefault

bool

Indicates that Events of this Event Type, if created in a child committee, are automatically shared with the parent (master) committee

isSharedWithChildCommitteesByDefault

bool

Indicates that Events of this Event Type, if created in a parent (master) committee, are automatically shared with all of its child committees