Getting Started

API Documentation

Bookify

Get started with the Bookify API

Welcome to the Bookify API documentation! This guide will help you understand and integrate with our scheduling and resource management API.

Overview

Bookify is a powerful scheduling and resource management API that allows you to:

  • Manage organizations and their resources
  • Handle employee and asset scheduling
  • Manage API keys for secure access
  • Control user authentication and authorization

Core Components

Authentication

The API supports two authentication methods:

  • Firebase Authentication: For user-based authentication using JWT tokens
  • API Keys: For programmatic access to the API

Organizations

Organizations are the top-level entities in Bookify. Each organization can have:

  • Multiple users with different roles
  • Employee resources
  • Asset resources
  • Custom API keys

Resources

Bookify supports two types of resources:

  • Employee Resources: For managing staff and their availability
  • Asset Resources: For managing equipment, rooms, or other bookable assets

Getting Started

Authentication

All requests to the API must be authenticated. Use one of the following methods:

// Using Firebase Authentication
headers: {
  'Authorization': 'Bearer your-firebase-token'
}

// Using API Key
headers: {
  'Authorization': 'your-api-key'
}

Base URL

The API is accessible at:

http://localhost:9090/api

Available Routes

  • /users - User management
  • /organizations - Organization management
  • /api-keys - API key management
  • /employee-resources - Employee resource management
  • /asset-resources - Asset resource management
  • /all-resources - All resource listing

Next Steps

To learn more about specific endpoints and features, explore the following sections:

Need Help?

If you need assistance or have questions about the API, please:

  1. Check the detailed documentation for each endpoint
  2. Review the example requests and responses
  3. Raise issues on the GitHub repository after confirming that the issue doesn't already exist