philip-bui / libcal-client

Java Library for accessing the LibCal API.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LibCal Client

Actions Status

LibCal is an online booking system used to reserve, check bookings and availabilities, and manage booking spaces.

Requirements

  • Retrieve a valid ClientID and ClientSecret from your Admin with the necessary API permissions.
  • Retrieve the host of your LibCal instance. E.g https://usyd.libcal.com.

Installation

Maven

Set up Apache Maven to authenticate to GitHub Package Registry by editing your ~/.m2/settings.xml. For more information, see "Authenticating to GitHub Package Registry".

<dependencies>
  <dependency>
    <groupId>com.philipbui.libcal</groupId>
    <artifactId>libcal-client</artifactId>
    <version>1.0.0</version>
  </dependency>
</dependencies>

Gradle

Set up Gradle to authenticate to GitHub Package Registry by editing your build.gradle or build.gradle.kts file. For more information, see "Authenticating to GitHub Package Registry".

dependencies {
    implementation("com.philipbui.libcal:libcal-client:1.0.0")
}

Usage

LibCalClient libCalClient = new LibCalClient();
String accessToken = libCalClient.getAccessToken(host, clientID, clientSecret).getAccessToken();
SpaceLocation[] spaceLocations = libCalClient.getSpaceLocations(host, accessToken);

// Or use a BookingService to do common booking functionality.

LibCalBookingService libCalBookingService = new LibCalBookingService(host, libCalClient, clientID, clientSecret);
libCalBookingService.getBookableSpaceIDs(categoryIDs, spaceIDs, accessToken, dateStart, dateEnd);

Features

API

  • Locations
  • Form for Space ID
  • Form Question by Question IDs
  • Location Categories by Location IDs
  • Location Category Spaces
  • Reserve Space by Space ID
  • Booking Information by Booking ID
  • All Bookings Information by Date
  • Cancel Space Booking
  • All Confirmed Bookings Information

Service

  • Automatically retrieve new Access Tokens on expire.
  • Get available Spaces for Category.
  • Get all Spaces and their descriptions for every Location or Category.

License

LibCal Client is available under the MIT license. See LICENSE for details.

About

Java Library for accessing the LibCal API.

License:MIT License


Languages

Language:Java 100.0%