miniCal
  • Quick Start
    • Introduction
  • miniCal Configuration
    • miniCal Hosted Service
    • Configure Feature Settings
    • Install Extensions
    • Create Multiple Properties
  • Local Installation
    • Local Installation
    • ENV Set-Up
    • Configuration Settings
    • Common Installations Errors
  • Contribution
    • Contribute to miniCal Core
  • Build an Extension
    • Build Your First Extension
      • Controllers
      • Assets
      • Config
      • language
      • Models
      • View
      • Helper
      • Library
      • Hooks
    • Open-source Extensions
    • Config Folder Files
      • Autoload File
      • Config File
      • Route File
    • miniCal Filters
    • miniCal Actions
    • Create Custom Hooks
    • Store Custom Data
      • POSTS
      • POSTMETA
      • OPTIONS
    • Composer Dependencies
  • Marketplace
    • miniCal Marketplace
  • Other resources
    • Overbooking for OTAs
    • miniCal Cron Setup
    • Automated Night Audit
    • Nginx Configuration
    • Docker Installation
    • Custom Domain Setup
  • Minical API Docs
    • API Documentation
  • Coming soon!
    • Access minical Data Using Helpers
      • Company Helper Functions
      • Customer Helper Functions
      • Booking Helper Functions
      • Rates Helper Functions
      • Rate Plan Helper Functions
      • Availability Helper Functions
      • Statement Helper Functions
      • Tax Helper Functions
      • Room Helper Functions
      • Charge Helper Functions
      • Payment Helper Functions
    • Access data in Extension
Powered by GitBook
On this page
  1. Build an Extension

Build Your First Extension

Let's create a booking list extension. For any new extension, you have to know the directory structure first.

PreviousContribute to miniCal CoreNextControllers

Last updated 3 years ago

Building your first miniCal extension? Use the to set up a new extension in a minute.

The allows you to quickly setup a foundation for new minical extension. The Boilerplate includes a few demo pages that showcase how you can retrieve data from the miniCal database, how you can store custom data in the Posts table (similar to wordpress), and how you can store extension-specific settings and options in the options table (Similar to wordpress). Here's how the Boilerplate extension looks once installed:

booking list page

Extension Directory Structure

directory structure
|->public
     |->application
	    |->extensions
		  |->minical-extension-boilerplate
			 |->assets
                              |->js
                              |->css
			 |->config
                              |->autoload.php
                              |->config.php
                              |->menu.php
                              |->route.php
			 |->controllers
                         |->helpers
                         |->hooks
                              |->actions.php
                              |->filters.php
                         |->language
                         |->libraries
			 |->models
	                 |->view
                         |->composer.json

For more real examples, explore our popular open-source extensions:

This is the directory structure that miniCal follows for an extension, under the extensions folder create a minical-extension-boilerplate folder. You can download the boilerplate extension here .

Extension Boilerplate
Online Booking Engine
Booking Confirmation Email
Channex Integration
Stripe Payment Gateway
Boilerplate Extension
Boilerplate Extension
Boilerplate Extension