[#1486] SimplyBook.me Support Ticket - API Date Range Limitation

Migrated from Redmine #1486 | Author: Marianne Cook
Status: Closed | Priority: Immediate, there is BUG! | Created: 2025-11-03


SimplyBook.me Support Ticket - API Date Range Limitation

Date: November 1, 2025
Company: Triad DEXA (triaddexa.com)
API Account: triaddexa
Issue Type: API Limitation / Feature Request
Priority: High - Affecting Customer Experience


Issue Summary

We are experiencing a hard limitation with the SimplyBook.me API where the getStartTimeMatrix method rejects any date range queries exceeding approximately 30 days, returning the error message:

"Could not load available dates: Period too long"

This 30-day limitation is severely restricting our ability to allow customers to book appointments in advance, which is critical for our medical scanning business where customers often need to schedule 2-3 months ahead.


Technical Details

API Method Used

  • Method: getStartTimeMatrix
  • Service ID: 2
  • Date Range Format: YYYY-MM-DD to YYYY-MM-DD

Attempted Date Ranges (All Failed Except 30 Days)

  1. :cross_mark: 90 days - Response: "Period too long"
  2. :cross_mark: 60 days - Response: "Period too long"
  3. :cross_mark: 45 days - Response: "Period too long"
  4. :cross_mark: 35 days - Response: "Period too long"
  5. :cross_mark: 32 days - Response: "Period too long"
  6. :white_check_mark: 30 days - Success (only working range)

API Request Example That Fails

$result = tdx_simplybook_api_request('getStartTimeMatrix', [
    '2025-11-01',  // Start date
    '2025-12-31',  // End date (60 days ahead)
    2              // Service ID
]);

// Returns:
// {
//   "success": true,
//   "dates": [],
//   "count": 0,
//   "message": "Could not load available dates: Period too long"
// }

API Request Example That Works

$result = tdx_simplybook_api_request('getStartTimeMatrix', [
    '2025-11-01',  // Start date
    '2025-12-01',  // End date (30 days ahead)
    2              // Service ID
]);

// Returns successful data with available dates

Why This Limitation Is Problematic

Our Custom Integration Requirements

We have built a sophisticated WordPress plugin that integrates SimplyBook.me with our custom business logic:

  1. Credit System

    • Customers purchase scan credits through WooCommerce
    • Credits are tracked in WordPress user metadata
    • Each booking deducts 1 credit from the customer’s account
    • Credits can be purchased in packages (1, 2, 4, or 5 scans)
  2. Referral Attribution System

    • Partnered medical professionals have unique referral codes
    • Customers enter referral codes at registration
    • Referral codes provide discounts and track referral sources
    • Critical for our B2B partnerships with doctors and clinics
  3. Adobe Sign Integration

    • Medical intake forms are sent via Adobe Sign REST API
    • Forms must be completed before booking is allowed
    • HIPAA-compliant digital signature workflow
    • Intake status tracked in WordPress
  4. Cancellation & Rescheduling Management

    • Custom cancellation policies based on credits
    • Credit refunds handled through our plugin logic
    • Email notifications sent through WordPress
    • History tracking for compliance
  5. Booking History & Compliance

    • All bookings logged in WordPress database
    • Medical records compliance (audit trail)
    • Customer booking history accessible in their account
    • Integration with WooCommerce order history

Why SimplyBook Smart Widget Won’t Work For Us

We are aware of SimplyBook.me’s embedded widget option, but it cannot be used because:

  1. :cross_mark: Bypasses our credit system - Users could book without credits
  2. :cross_mark: No referral code integration - Loses attribution to referring doctors
  3. :cross_mark: No intake form validation - Users could book before completing medical forms
  4. :cross_mark: No WordPress user linking - Can’t track which WordPress user made the booking
  5. :cross_mark: No WooCommerce integration - Breaks our e-commerce workflow
  6. :cross_mark: No credit deduction - Credits wouldn’t be decremented on booking
  7. :cross_mark: No custom cancellation logic - Can’t apply our credit refund policies

We MUST use the API to maintain control over our business logic, compliance requirements, and customer experience.


Steps We’ve Taken to Troubleshoot

1. Cache Troubleshooting

  • Cleared all WordPress transient caches
  • Cleared browser caches
  • Added cache-busting query parameters
  • Implemented unique cache keys per date range
  • Result: Not a caching issue - API is definitively rejecting 60+ day ranges

2. Code Review

  • Verified date format is correct (Y-m-d)
  • Confirmed service ID is valid
  • Tested with multiple service IDs
  • Checked for any client-side limitations
  • Result: Code is correct - API is the limiting factor

3. Incremental Testing

We systematically tested date ranges to find the exact limit:

  • Started at 60 days (failed)
  • Reduced to 45 days (failed)
  • Reduced to 35 days (failed)
  • Reduced to 32 days (failed)
  • Settled at 30 days (success)

4. API Response Analysis

  • Captured full API responses
  • Verified error message: "Period too long"
  • Confirmed this is a server-side validation error, not a data availability issue
  • Result: SimplyBook.me API has a hardcoded 30-day maximum

5. Alternative Approaches Considered

  • :cross_mark: Multiple sequential API calls (inefficient, slow for users)
  • :cross_mark: Pre-caching extended ranges (can’t get the data to cache)
  • :cross_mark: Using the widget (breaks our integration as detailed above)

Our Request

We respectfully request one of the following solutions:

Option 1: Increase API Date Range Limit (Preferred)

  • Allow getStartTimeMatrix to accept date ranges of 90 days or more
  • This would align with standard booking practices in the medical industry
  • Many of our competitors allow 3-6 month advance booking

Option 2: Provide Alternative API Method

  • If getStartTimeMatrix has technical limitations, provide an alternative method
  • Perhaps a paginated approach that allows retrieving extended date ranges
  • We’re willing to make multiple API calls if necessary

Option 3: API Parameter to Override Limit

  • Add an optional parameter to getStartTimeMatrix to request extended ranges
  • Example: extended_range: true or max_days: 90
  • Could be limited to API users with higher tier plans

Business Impact

Current Customer Experience (30 Days)

  • :cross_mark: Customers frustrated they can’t book far in advance
  • :cross_mark: Lose bookings to competitors who allow 60-90 day advance scheduling
  • :cross_mark: Reduced flexibility for customers with busy schedules
  • :cross_mark: Unable to pre-book follow-up scans (typically scheduled 3 months out)

Desired Customer Experience (60-90 Days)

  • :white_check_mark: Customers can plan 2-3 months ahead
  • :white_check_mark: Competitive with other medical booking platforms
  • :white_check_mark: Better customer satisfaction
  • :white_check_mark: Ability to schedule follow-up scans at initial appointment
  • :white_check_mark: Reduced customer service calls asking about future availability

Additional Context

Our Tech Stack

  • Platform: WordPress 6.x
  • E-commerce: WooCommerce
  • Forms: Adobe Sign REST API
  • Booking: SimplyBook.me REST API
  • Language: PHP 8.x
  • Integration Type: Custom plugin (not using widget)

API Usage

  • Average API Calls: ~500-1000 per month
  • Peak Usage: 50-100 calls per day
  • Use Cases:
    • Available dates query (user facing)
    • Available time slots query (user facing)
    • Booking creation (user facing)
    • Client management (admin)

Account Information

  • Company: triaddexa

  • Plan:
    Standard
    Period to:
    September 19, 2026

  • API Key: 4fabcfb8c66c5a7dcf67d58cdec43c52bf74db66bca40a712db4279f3fb6483d

  • Integration Active Since: October 2025


Supporting Documentation

Error Logs

[2025-11-01 04:00:02 UTC] TDX: Requesting availability from 2025-11-01 to 2025-12-31 for service ID 2
[2025-11-01 04:00:02 UTC] TDX: Response: {"success":true,"dates":[],"count":0,"message":"Could not load available dates: Period too long"}

API Response (60 Days - Failed)

{
  "success": true,
  "dates": [],
  "count": 0,
  "message": "Could not load available dates: Period too long"
}

API Response (30 Days - Success)

{
  "success": true,
  "dates": [
    "2025-11-03",
    "2025-11-04",
    "2025-11-05",
    "2025-11-12",
    "2025-11-13",
    "2025-11-14"
  ],
  "count": 6,
  "cached": false
}

Questions for SimplyBook Support

  1. Is the 30-day limit documented anywhere in the API documentation?
  2. Is this limit configurable on our account?
  3. Are there plans to extend this limit in future API versions?
  4. Is there a technical reason for this 30-day restriction?
  5. Do higher tier plans have access to extended date ranges?
  6. Is there a beta or enterprise API that supports longer ranges?

Proposed Timeline

We would appreciate a response addressing this limitation by November 3rd, 2025 so we can:

  • Communicate booking timeline to customers
  • Decide whether to explore alternative booking platforms
  • Plan any necessary system redesigns if extended ranges aren’t available

Contact Information

Primary Technical Contact: Walter C. Hieber III
Company: PrometheanLink LLC (Developer for Triad DEXA)
Email: service@prometheanlink.com
Phone: 336-404-4575
Website: prometheanlink.com
Client Website: triaddexa.com

Preferred Contact Method: Email
Timezone: EST (UTC-5)
Availability: Monday-Friday, 9 AM - 5 PM EST


Summary

We have a fully functional, HIPAA-compliant medical booking system built on SimplyBook.me’s API. The only limitation preventing us from providing an excellent customer experience is the 30-day maximum date range for availability queries.

We’ve thoroughly tested and confirmed this is an API-imposed limitation, not a code or configuration issue. We respectfully request that SimplyBook.me either:

  1. Increase the date range limit to 90 days, or
  2. Provide an alternative API method for extended range queries, or
  3. Offer guidance on how to work around this limitation while maintaining our custom integration

We value our partnership with SimplyBook.me and hope to find a solution that allows us to continue using your excellent platform while meeting our customers’ needs.

Thank you for your time and consideration.


Ticket Reference: [To be assigned by SimplyBook Support]
Submitted: November 1, 2025
Last Updated: November 1, 2025

Dmytro Bondarev wrote:

Hi please provide clear question what exactly is wrong what you expect and what you get.

Marianne Cook wrote:

Dmytro Bondarev wrote in #note-1:

Hi please provide clear question what exactly is wrong what you expect and what you get.

@Dymytro Bondarev

WHAT I AM TRYING TO DO: I am using your API method “getStartTimeMatrix” to get available booking dates for my customers. I want to show customers available dates for the next 60 days (2 months).

WHAT I WANT:
Get available dates for 60 days using API
method getStartTimeMatrix

WHAT HAPPENS:
:white_check_mark: 30 days = WORKS
:cross_mark: 60 days = ERROR: “Period too long”

THE BUG:
Your API rejects date ranges longer than
30 days.

WHAT I NEED:
Please increase the limit from 30 days to
90 days.

PROOF:
// THIS WORKS:
getStartTimeMatrix(‘2025-11-01’,
‘2025-12-01’, 2)
Result: List of available dates

// THIS FAILS:
getStartTimeMatrix(‘2025-11-01’,
‘2025-12-31’, 2)
Result: ERROR - “Period too long”

MY QUESTION: Can you increase the 30-day limit to 90 days?

Marianne Cook wrote:

If this is not an option, we can discuss smart widget usage. Assuming there are no limitations regarding it sending api calls back to our wordpress system.

Marianne Cook wrote:

Problem has been solved by querying the system three consecutive times and appending the responses.

Case is closed.

Redmine Admin wrote:

Nice to hear problem has been solved!