StayHub: Your gateway to unforgettable stays and seamless travel experiences
This diagram provides a visual representation of the entities and their relationships in the Homestead Horizon vacation rental platform.
The ER diagram illustrates the relationships between the following entities:
- Hosts
- Properties
- Guests
- Bookings
In this diagram:
- The Host entity represents individuals who provide rental properties. Each Host can have multiple Properties, forming a one-to-many relationship.
- The Property entity represents rental properties offered by Hosts. Each Property is associated with a single Host.
- The Guest entity represents individuals who book rental properties. Guests can make multiple Bookings.
- The Booking entity represents a reservation made by a Guest for a specific Property.
The host management page allows users to perform CRUD operations on host profiles.
| Functionality | Description |
|---|---|
| View Hosts | Display a list of host profiles |
| Create Host | Add a new host profile |
| Edit Host | Update an existing host profile |
| Delete Host | Remove a host profile from the system |
The property management page enables users to manage properties associated with hosts.
| Functionality | Description |
|---|---|
| View Properties | Show a list of properties |
| Add Property | Create a new property |
| Edit Property | Modify an existing property |
| Delete Property | Remove a property from the system |
The guest management page allows users to handle guest profiles.
| Functionality | Description |
|---|---|
| View Guests | Display a list of guest profiles |
| Add Guest | Create a new guest profile |
| Edit Guest | Modify an existing guest profile |
| Delete Guest | Remove a guest profile from the system |
The booking management page provides functionality to manage bookings made by guests.
| Functionality | Description |
|---|---|
| View Bookings | Show a list of bookings |
| Filter Bookings | Filter bookings by guest or property |
| Sort Bookings | Sort bookings by date or status |
The property listing page allows guests to browse and book available properties.
| Functionality | Description |
|---|---|
| View Properties | Display a list of available properties |
| Filter Properties | Filter properties by location and type |
| Pagination | Navigate through multiple property listings |
| Property Details | Show more information about a property |
| Booking Process | Initiate the booking process for a property |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/hosts | Retrieve all hosts |
| GET | /api/hosts/{hostId} | Retrieve a specific host |
| POST | /api/hosts | Create a new host |
| PUT | /api/hosts/{hostId} | Update a specific host |
| DELETE | /api/hosts/{hostId} | Delete a specific host |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/properties | Retrieve all properties |
| GET | /api/properties/{propertyId} | Retrieve a specific property |
| POST | /api/properties | Create a new property |
| PUT | /api/properties/{propertyId} | Update a specific property |
| DELETE | /api/properties/{propertyId} | Delete a specific property |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/guests | Retrieve all guests |
| GET | /api/guests/{guestId} | Retrieve a specific guest |
| POST | /api/guests | Create a new guest |
| PUT | /api/guests/{guestId} | Update a specific guest |
| DELETE | /api/guests/{guestId} | Delete a specific guest |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/bookings | Retrieve all bookings |
| GET | /api/bookings/{bookingId} | Retrieve a specific booking |
| POST | /api/bookings | Create a new booking |
| PUT | /api/bookings/{bookingId} | Update a specific booking |
| DELETE | /api/bookings/{bookingId} | Delete a specific booking |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/properties/listings | Retrieve paginated list of properties |
| GET | /api/properties/{propertyId}/details | Retrieve detailed information for a property |











