Skip to content

Latest commit

 

History

History
93 lines (76 loc) · 4.02 KB

tasks.md

File metadata and controls

93 lines (76 loc) · 4.02 KB
  • Customers can add themselves to the waitlist via SMS

    • Build an Autopilot task to capture reservation information
    • Create a card in the Trello waitlist
    • Check if the customer is on the waitlist already
  • Customers can remove themselves from the waitlist

    • Need an Autopilot task to be removed from the waitlist
    • Create an endpoint in Flask to handle the customer request
      • Is the customer in the waitlist?
      • Determine where on the board the customer exists.
      • Process confirmations properly
    • Create a function in trello.py to move the card to the Cancellations list
    • Remove the Sync Map entry
  • Customers can get their place on the waitlist

    • Need an Autopilot task to get their location on waitlist
      • Refine the samples for each task
    • Get all the cards on the waitlist to determine position
    • Handle when customer has a card on board, but not on the waitlist.
      • I.e. if they are on the "No Show" or "Table is Ready" lists they are told their table is ready.
  • Customers can get the length of the waitlist

    • Follow-up would you like to join the waitlist?
  • Business can send text reminders when table is ready

    • Click to send button for extra nudge
    • Add labels to visually show when nudges are sent
    • Track number of reminders sent
      • Use the card metadata for retrieving labels
    • Trello API for adding labels to a card
    • Create labels for table nudges
    • Reference IDs of the labels in the card add label API
    • Remove hardcoded label in table-is-ready
    • Change name of the red label
  • Business should be able to view all the customer preferences

  • Create Twilio Sync map for mapping customer phone numbers to their cards on the board

  • Create Custom Fields to capture important customer attributes (especially attributes that could be utilized to send messages.)

    • Name
    • Phone Number
  • When a card is archived remove the Sync entry

    • Create a rule on Trello board when card is archived
    • Create a Flask endpoint to delete Sync entry for the archived card
    • Send phone number as a part of the archive action to the endpoint
  • [] Allow staff to create a new card for walk-in customers

    • Create new entry in Sync
    • Collect information about the customer
    • Click to send confirmation for phone number
    • Setup a Twilio Studio Flow to help make this happen
    • Track activities in the Trello card comments
    • Send custom parameters to the Studio Flow
    • Add an unverified label to the card
      • Create label for "unverified"
      • Add label when "confirm phone" is clicked
      • [] Remove label once phone is verified
        • [] Create a Trello function to remove labels
    • Handle Twilio Studio Flow to handle where a customer doesn't confirm their phone number.
      • Send a second confirmation text
      • Create a label on the card to alert the business the phone number hasn't been verified.
  • Track customer interactions in the card comments

    • When did the customer join the waitlist
    • When was their table ready.
    • When were reminders sent.
    • When did the customer cancel their table.
  • [] Setup all one-time Trello assets with a single method.

    • Create lists on our Trello board
    • Create our Trello labels
    • Create custom fields on the card
    • [] Create card buttons
    • [] Create board rules
  • [] Setup Twilio assets in deploy()

    • [] Create the Studio Flow
    • [] Add check to make sure Flow doesn't already exist.
    • [] Deploy Autopilot bot
    • [] Create Sync Service
  • [] Update the get_trello_card_id to return the raw ID.

  • [] Create function to retrieve Trello IDs using the API instead of hardcoding as variables.

  • [] Handle when customer asks where they are in line and provide custom messages depending where they are.

  • [] Remove "Cancel" from the messenger opt-out keywords

  • [] Handle default messages to the bot. Change the assistant_initiation to something more meaningful.

  • [] Look at deploying on Heroku