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)