[#636] Replicate Booking Details report

Migrated from Redmine #636 | Author: Craig Jackson
Status: New | Priority: High, I’m very impatient | Created: 2021-01-18


Hi, Thanks in advance. I am looking into replicating the Booking Details Report - with no filters.

Reason being I need to automate this for custom reporting needs. Any help on the REST Api’s to achieve this would be very grateful. Thanks

Redmine Admin wrote:

there is no way to 100% replicate this report via API because API was not made to provide 100k or more data rows

Redmine Admin wrote:

to collect booking data via API you need to use API callbacks (it will call your url each time when new booking appears or changes) and add bookings into local storage for report purposes

Craig Jackson wrote:

I dont think callback will work for my needs as its not being derived from an app or a web site. The 100k limit shouldnt be an issue to be as I dont think we will have that much data - and if so could chop it via filters.

My Plan to for a SSIS or Powershell process to pull the report using Rest API’s and then import that data into our data warehouse for reporting

Redmine Admin wrote:

how many rows this report should contain for each call?

Craig Jackson wrote:

Well I would like to retrieve all rows as per the Booking Details report

Redmine Admin wrote:

to got all data you will need to call getBookingDetails for each booking in this method, it will be very heavy and slow API code.

there are only 2 options:

  1. to use API callback and store bookings into local storage
  2. manually do excel export via admin interface

Craig Jackson wrote:

With current 14k records in there now, generating and executing 14k calls for each account - and generating a json file for each seems very inefficient way of doing things. Isnt there a way I can just call one api to generate one json files for all the records?

Redmine Admin wrote:

there is no API to generate report, it is only possible via admin interface

Craig Jackson wrote:

Ok Thanks for clearing that up for me.

So how would I rig up a Callback on New Adds and Changes?

Redmine Admin wrote:

There is callback url settings in API plugin settings in admin interface. This urls will be called each time when new booking appears and pass booking id to your script. Then your script can call API documentation | SimplyBook.me Online Scheduling and store data into local DB for further processing

Craig Jackson wrote:

Ok Thanks for your help