Skip to content

A WordPress/Classicpress plugin for filmmakers to track ROI on their equipment rentals. Created to solve the common issue of not knowing whether gear investments are actually profitable, helping to make more informed purchasing decisions.

License

Notifications You must be signed in to change notification settings

JensS/Film-Equipment-Rental

Repository files navigation

Film Equipment Rental Wordpress Plugin

Psalm coverage Psalm level

Purpose

A WordPress plugin for filmmakers to track ROI on their equipment rentals. Created to solve the common issue of not knowing whether gear investments are actually profitable, helping to make more informed purchasing decisions.

Gear Plugin

Key Features

Equipment Management

  • Track gear details (purchase price, current value, daily rate)
  • Organize by categories and brands
  • Quick inline editing with double-click
  • Bulk actions (duplicate, delete)
  • Import/Export as JSON
  • Serial number tracking
  • Image management

Rental Tracking

  • Track rental sessions and earnings
  • Package deal support
  • Client management
  • Individual item vs package pricing
  • Automatic discount calculation
  • PDF rental sheet generation

Financial Analysis

  • ROI tracking per item
  • Revenue statistics
  • Most/least profitable items
  • Monthly trends
  • Client revenue tracking
  • Purchase value vs rental income

Frontend Display

  • Public equipment catalog via shortcode [equipment_list]
  • Searchable/filterable interface
  • Category grouping
  • Technical specs formatting
  • Lightbox image viewing
  • Optional pagination

REST API

  • Secure API access with secret key authentication
  • Complete equipment, client, and rental data access
  • Statistics endpoint with year filtering
  • Header or query parameter authentication
  • Comprehensive documentation in API.md

MCP Server Integration

  • Model Context Protocol (MCP) server for AI assistant integration
  • Tools for equipment, client, and rental management
  • Statistics and reporting via AI assistants
  • Works with Claude Desktop and other MCP clients
  • Available as a separate package: film-equipment-rental-mcp

Requirements

  • PHP 8.2 or higher
  • WordPress 5.0 or higher

Installation

For End Users

  1. Download the latest stable release ZIP from the GitHub releases page.
  2. Upload the plugin ZIP via WordPress admin (Plugins → Add New → Upload Plugin) or extract to /wp-content/plugins/.
  3. Activate the plugin through the 'Plugins' screen in WordPress.
  4. Configure settings under "Equipment Rental".

Important: Do not download the source code directly from the repository - always use the release ZIP files which include all required dependencies.

For Developers

  1. Clone the repository
  2. Run composer install in the plugin directory
  3. Activate the plugin in your WordPress development environment

Updating

The plugin supports automatic updates from GitHub Releases. When a new version is released:

  1. WordPress will detect the update automatically
  2. Admins can update via WordPress admin (Plugins → Update)
  3. The plugin downloads the release .zip file (which includes all dependencies)

Updates are pulled from GitHub Releases, NOT from the raw source code.

Settings

General

  • Currency (symbol and position)
  • Date format
  • Items per page
  • Category grouping
  • Pagination
  • Similar items grouping

Data Management

  • Import/Export equipment data
  • Import/Export rental history
  • Import/Export client data
  • Reset database (CLI)

API Access

  • Generate and manage API keys
  • View endpoint documentation
  • Copy-to-clipboard key management
  • See API.md for complete API documentation

CLI Commands

# Reset plugin data
wp fer_reset

# Import sample data
wp fer_example_data

# Import from JSON
wp fer_import_gear /path/to/gear.json
wp fer_import_rentals /path/to/rentals.json
wp fer_import_clients /path/to/clients.json

Testing

The plugin includes unit tests to verify calculation accuracy:

# Install dev dependencies
composer install

# Run all tests
composer test

# Or run specific test file
vendor/bin/phpunit tests/StatisticsTest.php

See tests/README.md for detailed testing documentation.

Static Analysis

The plugin uses Psalm for static analysis to ensure code quality:

# Run Psalm analysis
composer psalm

# Run with statistics
composer psalm:stats

# Or run directly
vendor/bin/psalm

Static analysis results are automatically tracked by Shepherd on every push and pull request via GitHub Actions.

Technical Specifications

Equipment descriptions support two formats:

# Space-separated
Focal Length 16mm Maximum Aperture T2.8

# Colon-separated
Focal Length: 16mm
Maximum Aperture: T2.8

About

Created by Jens Sage (www.jenssage.com) to help filmmakers make better gear investment decisions.

About

A WordPress/Classicpress plugin for filmmakers to track ROI on their equipment rentals. Created to solve the common issue of not knowing whether gear investments are actually profitable, helping to make more informed purchasing decisions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •