Overview
This guide provides practical examples for common use cases when integrating with the BookingShake API.Use Case 1: Simple Single Event
Create a basic event with minimal required information. Scenario: A visitor fills out a simple contact form on your website to request an event.Use Case 2: Group Bookings (Multiple Events)
Create multiple related events in a single request. Perfect for multi-day conferences or workshops. Scenario: A client wants to book a conference room for a 3-day training session.Use Case 3: Event with Draft Quotation (Products)
Create an event and generate a draft quotation with products/services. Scenario: A corporate client requests a conference package with catering and AV equipment.Important: Prices are in cents (e.g., €150.00 = 15000) and VAT is multiplied by 100 (e.g., 20% = 2000).
Use Case 4: Dynamic Resource Selection
Retrieve available resources before creating an event to populate dropdowns or validate selections. Scenario: Build a booking form that shows available spaces and sources dynamically.Use Case 5: Using Existing Contacts
Link events to existing contacts instead of creating new ones. Scenario: A returning customer makes a new booking.Automatic deduplication: Even when creating a new contact (without contact_id), the API automatically checks if a contact with the same email already exists for your venue or venue group. If found, it reuses the existing contact instead of creating a duplicate.
Use Case 6: Event with Custom Fields
Create events with custom field values for contacts, companies, and bookings. Scenario: Your venue has configured custom fields to capture additional information like budget range, event theme, and company size. You need to pass these values when creating events.Finding your custom fields: Use the
GET /fields endpoint to retrieve all available custom fields for your venue. Custom fields have isCustom: true and are identified by their code property (format: custom_XXXXXXXXXXX). The collection property indicates where to use the field:clients→ use incontact.custom_fieldsaccounts→ use incompany.custom_fieldsreservations→ use in eachbooking.custom_fields
Use Case 7: Complete Integration Workflow
A full example showing error handling, validation, and best practices.Best Practices
Validate Before Sending
Always validate date/time formats and required fields before making API calls to provide better user feedback.
Handle Errors Gracefully
Implement proper error handling and provide clear error messages to users.
Use Environment Variables
Store API keys securely in environment variables, never in your source code.
Fetch Resources Dynamically
Retrieve sources, spaces, and statuses via API instead of hardcoding them.
Next Steps
API Reference
Explore detailed API endpoint documentation
Error Handling
Learn about error codes and troubleshooting
