POST /api/custom-plan
Submit a custom website plan request with user-selected features. This endpoint saves the request to MongoDB and sends an email notification with all details including the selected features breakdown.Request Body
The full name of the person requesting the custom plan
The email address for contact
The phone number for contact
The company name (optional)
An array of feature objects that the user has selected. Each feature object should contain:
name(string): Feature nameprice(number): Feature pricedescription(string, optional): Feature description
Any additional notes or requirements (optional)
The type of website being requested. Defaults to “Custom” if not provided
The total price calculated from all selected features
Response
Success message confirming the request submission
Error message if the request fails (only present on error)
Example Request
cURL
JavaScript
Success Response
Error Response
Email Notification
When a custom plan request is submitted, an email is sent to the configured recipient containing:- Subject: “New Custom Plan Request from [name]”
- Name: The submitted name
- Email: The submitted email address
- Phone: The submitted phone number
- Company: The company name (or “Not provided” if empty)
- Website Type: The type of website (or “Custom” if not specified)
- Total Price: Formatted as R[amount] with thousands separator
- Selected Features: A formatted list showing:
- Feature name and price
- Feature description (if provided)
- Additional Notes: Any additional notes (if provided)
Data Storage
The custom plan request is saved to MongoDB with the following schema:Notes
- The
websiteTypefield defaults to “Custom” if not provided in the request - The
selectedFeaturesarray can contain any number of feature objects - Prices are displayed in South African Rand (R) in email notifications
- The request is saved to MongoDB before sending the email notification