LibreBooking / app

Repository for the last open source version of Booked Scheduler. The "develop" branch contains the most current working code of the project and should be considered beta. The "master" branch is the most current stable release of BookedScheduler. Please read doc/README.md for further details.
GNU General Public License v3.0
400 stars 238 forks source link

API enhancement ideas [Future] #11

Open SaumiMallick opened 3 years ago

SaumiMallick commented 3 years ago

Hi @effgarces

, First of all nice work saving the fork, I was using this repo purely as API ( no UI components, forked in early 2019) in my previous project. There are some enhancement ideas for the future if someone is interested.

  1. Delete multiple reservation series - payload can a comma-separated list of different series
  2. Deletion of non-existing series - returns successfully deleted, should return reservation not found [bug, if not fixed]
  3. Migration API - Support the creation of multiple reservation series via API, single request (bulkCreate) , so people can migrate an existing system to booked
  4. GetReservation - you can revisit the API , one of the timezones (either positive +0000 or negative -0000) don't return any result [bug]
  5. GetReservationBySeriesID API - New API to fetch multiple reservation series in a single API call
  6. LightWeightGetReservation API (new API) - API that return with a lightWeight response, developer incorporating the library should be able to select the desired fields in the response (I was using only 7 fields in my response), very effective for a system with a large no of reservation >100k , PHP tends to run out of memory with current getReservation API , and it will be very fast once this API is implemented

I hope these suggestions will help.

API documentation link : https://ameslaboratory.bookedscheduler.com/Web/Services/index.php or /Web/Services/index.php

Attached a PDF copy just in case it got removed. bookedSchedulerAPIDocumentation.pdf

effgarces commented 3 years ago

Thanks for the feedback, ideas and the documentation, just took a quick look great work, I hadn't yet considered a usage like yours. Will keep this in mind when working on the code.