A HubSpot marketplace app for managing calendar-based product bookings and inventory sales.
Calendar Sales enables businesses to sell products with date-based availability directly within HubSpot. Perfect for:
- Studio/space rentals
- Advertising slot sales
- Camping spot reservations
- Equipment rentals
- Any product sold by day/date
- Product Slots Management: Custom object for tracking product bookings across dates
- Grid View Interface: Visual calendar showing 50-day rolling availability
- Deal Integration: "Book Slots" button on Deal records
- Automatic Status Sync: Deal stages automatically update Product Slot status
- CRM Cards: View bookings on Contact, Company, and Deal records
- Multi-day Bookings: Single booking can span multiple consecutive days
- Filtering: Filter by product, date range, status, and owner
- Available: Empty cells in grid (no record exists)
- On Hold: Inquiry received, not yet sold
- Sold: Deal closed, booking confirmed
- Configuration: Work in progress for the booking
- Delivered: Booking date has passed, service delivered
| Deal Stage | Product Slot Status |
|---|---|
| Appointment Scheduled | On Hold |
| Contract Sent | On Hold |
| Closed Won | Sold |
| In Progress | Configuration |
| Completed | Delivered |
- Product Slots - Custom object tracking date-based product bookings
- Start Date
- End Date
- Product (association)
- Deal (association)
- Contact (association)
- Company (association)
- Status
- Owner
- Grid View (Custom Page) - 50-day scrollable calendar view
- Rows: Products
- Columns: Dates
- Cells: Spanning multi-day bookings with color-coded status
- Deal CRM Card - "Book Slots" button and booking management
- Contact/Company CRM Cards - View customer's bookings
- Deal stage changes trigger Product Slot status updates via workflow
- HubSpot Sales Hub (any tier)
- Enterprise account (required for custom objects)
- HubSpot Developer Account
- HubSpot CLI v7.8.0+
- Node.js v22+
- GitHub account
git clone https://github.com/[YOUR-ORG]/calendar-sales.git
cd calendar-salesnpm install -g @hubspot/clihs auth
# Follow prompts to connect to your developer accounths project uploadhs project dev
# Opens local development server with hot reloadcalendar-sales/
├── hsproject.json # HubSpot project configuration
├── src/
│ └── app/
│ ├── extensions/ # UI Extensions (React components)
│ │ ├── GridView.jsx # Main calendar grid view
│ │ ├── DealCard.jsx # Deal CRM card with booking button
│ │ ├── ContactCard.jsx # Contact bookings view
│ │ └── CompanyCard.jsx # Company bookings view
│ ├── app.functions/ # Serverless functions
│ │ └── booking-api.js # API for creating/updating slots
│ └── app-hsmeta.json # App metadata and configuration
└── README.md
hs project watch
# Automatically uploads changes on file savehs project upload
# Creates new build for testing- Requires 3 active customer installs
- Must meet HubSpot App Marketplace listing requirements
- Apply for App Objects access via HubSpot developer portal
- ✅ Product Slots object
- ✅ Grid view interface
- ✅ Deal integration
- ✅ Basic CRM cards
- ✅ Status automation
- Recurring bookings
- Projects object integration (work tracking)
- Self-service customer portal
- External calendar sync (Google, Outlook)
- Payment integration (Stripe, PayPal)
- Advanced analytics dashboard
- Partial day bookings (AM/PM)
- Capacity management for shared resources
For issues, feature requests, or questions:
- GitHub Issues: [Repository URL]
- Email: [Support email]
- Documentation: [Docs URL]
[Choose license - MIT, Apache 2.0, etc.]
[Contribution guidelines if applicable]
Built with ❤️ for the HubSpot community