How do I design a database schema for a web application like Yelp?
(Help!!) Please advise me on how to improve my design
Motivation:
I am designing the database for my web app which would serve the purpose as a venue directory and potentially booking platform (later stage). I have created an initial version of the database schema. As I am inexperienced with database architecture, I am a bit stuck on it.
App Function:
The web app would serve 1) General website visitors looking for venue details and 2) Business Users who subscribe to the platform service and maintain venue details through a user dashboard
Business Users Side
Business Users create/read/update/delete their listing information through a dashboard. (Venue Name, Contact Number, Availability, Photos/Video, etc) Business Users set up a payment method and would be charged monthly according to their subscription plan. Payment Invoices are shown in their account dashboard Business Users requests for additional service such as photography service, etc.
General Website Visitors Side
Users create an account Users save a venue to their wishlist Users search for venues with parameters such as location, availability, facilities, price, etc. Users view venue details in a webpage