Client notes - JaysGitLab/cs5667-final-project-revdev GitHub Wiki

Workflow

  • User submits reservation request form
    • Use Google API to check if date/time available (do not allow user to submit form if busy)
      • If busy, allow user to be added to waitlist
    • Include instructions about allowing time for setup/breakdown of event
    • Email sent to admin
    • Event added to Google calendar with 'tentative' in the title
    • Form should allow admin to edit cost based on event types and number of people ($25 now, $50 proposed)
    • Park is open from dawn until dusk
    • Multiple day reservations are allowed
  • Admin reviews request
    • Admin clicks link in email to approve OR
    • Admin logs into reservation admin to modify request details and approve/deny
  • Email notification is sent to user (tentative approval or denial)
  • Use PayPal API to send invoice for approved requests
    • Some events (wedding) will have 50% deposit requirement, followed by balance payment within certain timeframe (30-60 days)
  • Upon PayPal payment confirmation notification, 'tentative' is removed from Google calendar event title
    • If PayPal payment is not received by a certain date (7 days), Google calendar event is deleted
      • Send email reminders if payment has not been received
    • Email confirmation is sent to user, with policies/rules information
  • User can optionally create an account
    • Use Facebook, Twitter, and Google OAuth
    • Look into password-less authentication (via email link)
    • Required if user wants to edit/delete reservations
      • If user edits/deletes reservation, need to determine if refund/invoice should be generated and email admin for approval (different window of time for allowed refunds based on different event types)