-
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.
- Need an Autopilot task to get their location on waitlist
-
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