Need help to interpret SLIPs / rated query return values
I’ve been working on developing an integration between 2 Checkfront accounts for 2 different companies. I'm looking for some help on interpreting return values for API calls. My end goal is to create a front end form that will take in date / time / # of participants and determine if there is any availability at both locations, incorporating a time offset. In the real world, a client will come to 1 location to participant in a tour, then after that they attend the next location for the service they provide. One company takes payment from the customer and they settle up later.
I am trying to perform a rated query for an item but have been getting mixed results depending on what parameters are passed in, leading to confusion about if parameters are prioritized, and specifically confusion regarding what SLIP is returned.
For example: item?start_date=20200524&start_time=1230&availability=4¶m[participants]=4&keyword=fleisher
- Looking for an item on May 24, 2020 starting at 12:30 pm for a group of 4 people. Not sure if I need to include both available and param[participants].
- Applicable items containing “fleisher” have ID's 68, 69. Each has an availability of 8.
- Item 68 has 2 slots: 13:30-14:30, 14:30-15:30. Item 69 has 2 slots: 12:30-14:30, 13:30-15:30.
- Existing bookings
- 12:30-14:30 (69 - 4 ppl)
- 12:30-14:30 (69 - 4 more ppl)
- 14:30-15:30 (68 - 4 ppl)
Based on those parameters, I would expect the call to return unavailable or overbooked. The SLIP returned for item 68 (68.20200524X1@13:30X60X60-participants.4) shows 4 spots available at 13:30 even though the query indicated a start_time of 12:30.
Second example: item?start_date=20200524&start_time=1330&availability=4¶m[participants]=4&keyword=fleshier
- Looking for an item on May 24, 2020 starting at 1:30 pm for a group of 4 people
- Same time slots and existing bookings as previous example
Based on those parameters I would expect the call to return a slip for each item as there are no bookings that exist at 13:30. Instead I receive a correct slip for item 68 (68.20200524X1@13:30X60X60-participants.4) but SOLD OUT for item 69. I thought maybe since the time slot durations were 2 hours and the existing bookings would overlap is why it returned SOLD OUT…but I changed the durations to be 30 min each and still got SOLD OUT as a response for item 69.
Obviously I’m missing or misinterpreting something here. I have combed the API docs throughout and made use of the developer console, but while there is good info on functions and their parameters when making a call, I haven’t been able to find much on interpreting the JSON return values. I also tried searching for “slip” on the developer forum but the advice given to others doesn’t seem to match this specific scenario.
If you could help provide some insight on how to interpret these values or what part of the inventory settings could be causing this, it would be much appreciated.