kkosmider / lunarphp-omnibus
A LunarPHP package for tracking historical prices and Omnibus directive compliance.
Installs: 24
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/kkosmider/lunarphp-omnibus
Requires
- lunarphp/lunar: ^1.0.0-beta.9
 
This package is auto-updated.
Last update: 2025-10-31 00:18:24 UTC
README
A package to track historical prices of purchasable items in LunarPHP for compliance with the EU Omnibus Directive.
Features
- Track historical prices for all purchasable models.
 - Support for multi-currency and customer group pricing.
 - Automatically log price changes.
 - Retrieve the lowest price within the last 30 days.
 
Installation
- 
Install the package using Composer:
composer require kkosmider/lunarphp-omnibus
 - 
Publish the migrations and configurations:
php artisan vendor:publish --tag=omnibus.migrations
 - 
Add the
HasHistoricalPricestrait to your purchasable models. 
Usage
This package automatically listens to price changes and records them in the historical_prices table. Use the HasHistoricalPrices trait in your purchasable models:
use Kkosmider\Omnibus\Traits\HasHistoricalPrices; class ProductVariant extends \Lunar\Models\ProductVariant { use HasHistoricalPrices; }
Retrieve the lowest price within the last 30 days:
$variant = ProductVariant::find(1); $lowestPrice = $variant->getHistoricalLowestPrice(); $variantHistoricalPrices = $variant->historicalPrices()->get();
Configuration
Customize configurations in config/omnibus.php after publishing:
php artisan vendor:publish --tag=omnibus.config