Explorer's Christmas Project - 2018 Jan 24 Meeting Notes




  • Review current state of the application and how it performed based on Jill’s experience volunteering with CMPD in the warehouse
  • Review CMPD’s process
  • Review wishlist items and possible goals for 2018

What makes up the process?

  1. Paper nomination forms
  2. Web-based nomination submissions
  3. Nomination approval process
  4. Website (for donors to interact with the system; currently The LINK)
  5. Reporting process
  6. Donation Tracking
  7. Volunteer organization
  8. Warehouse tracking
  9. Bicycle Assignments
  10. Delivery Tracking
  11. Follow-up with donors

Proposed changes

Paper form

  • Needs to be redesigned by Jill Bjers to better match the web nomination form and give counselors more space to write.
  • The dashboard needs a link to download the paper form.
  • Add school name to child section.
  • Fields that are required on the name form need to be marked as required on the paper form.
  • Add favourite colour to paper form.
  • Change “# in household” to “Number of children being nominated.”
  • Fix birthdate sections; apparently one has the example as Y/M/D instead of M/D/Y which the rest use.
  • (question) Need to review the difference between “Interests” and “Additional Ideas.” Do we change “additional ideas” to be the more specific wishlist? They’re currently being used ambiguously.

User Accounts

  • Nominator accounts
    • Put a note on the registration form encouraging the nominator to enter their cell phone number.GIFT-309 TO DO
      • We already have the school number through the affiliation table.


  • Make sure we update the delivery dates, deadline dates, etc. in all of our email templates.
  • Possibly make these manageable by administrators?

Nomination Dashboard / Nomination Form

  • Needs a link to download the paper nomination form
  • Auto-filling divisions that can not be calculated from the GeoJSON data.
    • Run the GeoJSON calculations and then fall back to checking the city name.
      • Pineville - Division 40
      • Matthews - Division 41
      • Huntersville - Division 42
      • Mint Hill - Division 43
      • Cornelius - Division 44
      • Davidson - Division 45
      • Concord - Division 46
  • Bike sizes
    • (question) Should we start asking for the child’s height instead of requesting parents to fill out the bike size? May help with confusion selecting a size.
    • (question) Auto-fill bike size based on child height if child wants bike. Allow users to change as needed.
  • Allow administrators to submit a nomination on behalf of another user GIFT-310 TO DO
  • In the nomination form, display a message to nominators if they enter a child that is older than fourteen years old. It will still allow the user to submit the form.
  • Move “reason for nomination” away from child; put on head of household section instead. Make a required field.
  • (question) Should we change child age calculation to be based on their age on Christmas instead of the current date?
  • Need to add text around the wishlist text area to only enter toys that are under $50
  • Need to verify that we have middle schools and high schools in the affiliation table.
    • Eventually make a fuzzy finder when entering school name
  • Change “# in household” to “Number of kids being nominated”
    • When submitting the form, if the number of children actually entered does not match the number entered in this field, alert the user of the discrepancy. We don’t want to automatically calculate the number of children nominated; the field serves as a double-checking tool for the nominator.

Nomination approval tools in the dashboard

  • Possibility of breaking out nominations to a separate application
  • Need to be able to see which nominations do not have an uploaded form attached and then automate emails to the nominator requesting they attach a paper form (otherwise nomination can not be accepted).
    • Best contact method is emailing the nominator using the email they signed up with.
  • (info) Stats on dashboard will be useful for admins as they would like to see how many nominations are still pending approval.
  • Status between “reviewed” and “approved”
    • Mark the nomination as “ready” or “incomplete.”
      • “Ready” does not send out an email update. It’s used so the nominations can be checked and verified early; in October for example.

        • Eventually be able to bulk update nominations that are marked as “ready,” and change them to “approved.”
      • “Incomplete”

        • When a nomination is marked as incomplete, provide on the “show nomination” screen the option for an admin to dispatch a canned email.
          • Canned emails can include
            • Missing form
            • Missing information
            • Children not entered
            • Child too old for program
            • Child too young for program
          • Keep a contact record and display on the nomination screen.
  • It would be nice to filter the nomination list by All, Ready, Incomplete, & Approved.
  • Need to verify in the back end that users without admin access can not use the approval system endpoints.
  • For admins, flag nominations with children that have a future birth date.
  • Bulk status update for children to “adopted” – Be able to specify partner’s name.
    • Sample case: Company wants to adopt fifty children. Admin goes in, selects fifty children that are approved but not yet adopted. Report is generated. Children are marked as adopted and entered adopter name is stored.

Donor-facing website & its volunteer request section (2018 Priority!)

  • Once nominations are marked as approved the children will be selectable on the website.
  • Included information for the adopter:
    • Child’s first name
    • Age
    • Gender
    • Wishlist
    • Child number for internal tracking - Needs to be included on the gift tag provided by the adopter.
  • (info) Eventually finalize technical details of this but…
    • When a child is approved they appear on the website
    • When a child is adopted the status inside of the database is shown as adopted.
      • This needs to be visible to administrators on the admin pages and in reports.
      • Needs to be visible to volunteers in the warehouse to prevent double-shopping for children that are already adopted.
  • Include toy drop off locations and dates
    • Include that toys can be dropped off at any division office, fire department, and CMPD HQ.
    • Include suggested toys
  • Request to volunteer (for warehouse) section — Take them to a form of some sort or an email. TBD (question)
    • Volunteer requirements section
    • Volunteer FAQ section
  • List promotional partners on the website
    • Either use a poster generated by CMPD OR upload and display sponsor logos
  • Include contact email: christmasproject@cmpd.org
  • List drop-off events
    • (info) Request event photos and delivery videos from CMPD
    • (info) FOX 46 did a video of delivery day - Can we use this?
    • (info) Rachel took a bunch of photos during delivery

Reporting Process

  • Generate a report of potentially duplicated families.

    • Does not need to be strict matching. Just use the last name to check.
  • (question) Duplicates shared between CMPD and Salvation Army

    • Possibility: If SA sends report with first and last names, we can do a comparison with our database to highlight potential duplicates.
  • Reporting tool to point out which children that have requested bicycles haven’t had a bike assigned to them yet. (See bicycle assignments section)

  • Two division reports

    • First - The existing report
      • It should work for starters. (smile)
      • It’s used to verify addresses and ensure that every household is in the correct division.
      • Excel sheet that needs household and addresses separated on per-division sheets.
    • Second - For the division coordinators when they help with shopping.
      • These are similar to packing slips but contain additional information such as the status, etc.
      • This helps the coordinators determine if, shortly before delivery, more toys need to be acquired for the child.
      • They need to have the family’s…
        • Name
        • Number
        • Division Number
        • Response Area
        • Family #
        • Each child’s first name, age, gender, and status (adopted by volunteer, available to be shopped for), and wishlist.
        • Need to include the number of toys that have already been collected for each child.
  • (info) Division’s biggest need-to-know: How many families they have and how many for each response area.

  • Need to be able to track how many toys have been purchased for each child.

  • Need to display nomination stats to admin. Requirements go here: GIFT-120 - API - Nomination stats for admin dashboard TO DO

  • Report for adopters

    • Include…
      • Child number (division-RA-family-child)
      • Child’s first name
      • Age
      • Gender
      • Requesting bike?
      • Size of bike
      • Clothes? (With sizes and details)
      • Wish list
      • Favourite Colour
  • Maybe include Total toys donated & total bikes donated on dashboard stats section. Need a way to log that information first.

Donation Tracking

  • Ideally have a way to track name, email address, and what a donor dropped off.
    • This information will be captured in a database that can have follow-up email sent to them.
  • To be discussed in a future meeting.

Volunteer Organization

  • Would be nice to have a system where we can track what volunteers have signed up and have been approved, what their shifts are (daily schedules), and manage / set the schedules.

    • Email volunteers if they’ve been approved and include the shift(s) they have been approved for along with the address they are to report to and any additional instructions.
    • Email volunteers if they haven’t been approved thanking them for requesting to volunteer, saying all of their slots are full.
    • Email shift reminders. Manually or automatically; whatever works.
    • Templated “thank you” email to send to volunteers on delivery day.
    • (info) It’s possible to volunteer for delivery day— this is managed separately from warehouse shifts.
  • Allow admins to keep a record of which volunteers are indeed present for which shifts.

  • Details!

    • Two shifts per day, five days/week, three weeks.
    • Twenty volunteers per shift.
  • (info) Possibility for simplicity’s sake

    • Google form?
      • Users request to volunteer by filling out a google form.
      • We can read the spreadsheet generated by the google form.
    • Mailchimp
      • Set up a MailChimp account and a bunch of user lists for each schedule, etc.
  • Need to organize volunteers for delivery day

    • Need to better communicate directions to division coordinators.
      • Division coordinators are officers.
      • Send out an email with directions.
        • Need directions from CMPD.
      • Being able to generate a report to hand to division coordinators on delivery day of who their volunteer team is, “that would be pretty cool.”

Warehouse Tracking

  • Need to have visibility of whether or not a child was already adopted.
  • Need to be able to keep track of how many toys have been collected for each child.
  • **To be discussed in a future meeting. **

Bicycle Assignments

  • Would be cool to push a button and assign a bicycle to a child, evenly throughout the Charlotte divisions.
  • CFD assembles the bicycles. Ideally they would be able to hit a button after building a bike having entered the bicycle size they built and the gender the bicycle is for, and it returns a child and bike slip. Provide the option to have a different child returned for the bicycle if it’s not a good match.
  • Add a data field to the child table that will confirm is a bicycle has been assigned to the child yet.
  • Ideally a reporting tool would be able to point out which children that have requested bicycles haven’t had a bike assigned to them yet.
  • Need a special page or portal for CFD to use.
  • The current bike slips are grand as-is, we just need a way to reduce the amount of time it takes for bicycle assignments to happen. Currently takes several days.

Delivery Tracking

  • To be discussed in a future meeting

Follow-up with donors

  • “Thank you” emails to volunteers
  • “Thank you” emails with tax ID notes to donors
  • “Thank you” emails to sponsors

User Manual

  • Need a manual for nominators
  • Need a manual for admins
    • Need to include a message about how soft delete works.



  • Ability for admin to leave a message for nominator users

Nomination Form

Show Screen for family

  • Print Bike Slip
  • Print Address Label

Warehouse Forms

All Warehouse forms should be able to be printed for individual families from the “Show” Screen.

Packing Slips

  • On Child line add:

  • of toys

  • QA

Address Label

This is printed on a sticker paper and attached to the box. The format is very specific. Please see document example. It included:

  • Household Last Name
  • Street Address
  • City
  • Div#-RA-Family#

Bike Slip

  • Needs to be formatted to print one per page

  • Jill will create examples of formating

  • Should have the information twice on a page that will be wrapped around the bar of the bike and stapled.

  • One version that is just one of the information is printed on the top corner.

Donation Tracking

Record name, email, # of toys, # of bikes, # of helmets

Warehouse Tracking

  • Would love if this was a QR code that brought up the Family Information and then a radio button to select the status of the child.

  • Family Information would be: Div#-RA-Family#, Last Name, # of kids in household

  • Child Info would be: Child#, First Name, Age, Gender, # of Toys, Status Options

  • If this is a QR code, add that to the Packing Slip

  • Once all children in the family are marked completed the whole family is marked completed.

Things to track in the warehouse

  • Toy donations
  • Children status
  • Bikes & their status
  • Helmets
  • Food boxes and gift cards

Stages of the warehouse (verify with Ryan and set a default)

  • In Warehouse
  • Adopted or Available
  • Being shopped for
  • In box
  • Completed
  • Out for Delivery


  • Division Summary Report

  • Division Name

  • Division Number

  • of Families - Total

  • of families for each response area

Delivery Tracking

  • Ideally this would be a QR code on the packing slip. Awesome if it would report real time or do a data dump to the database

  • Status by Family (this would be connected to Warehouse status and override that data (if needed)

  • Warehouse

  • Completed

  • Sent to Division

  • Delivered to Family


2018 CMPD Priorities (if necessary)

  • Website to adopt kids
  • Update to approval system
  • Improved reporting system
  • Tracking System
  • Volunteer System
  • Donation and Follow-up System


Overview of app breakdown and functionality per app. Note that in this diagram we removed a lot of admin functionality from the nominator-facing application and moved it into an admin-only application. That may not necessarily be what happens this year.