PHPackages                             lyrasoft/event-booking - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. lyrasoft/event-booking

ActiveWindwalker-package[Utility &amp; Helpers](/categories/utility)

lyrasoft/event-booking
======================

LYRASOFT Event Booking Package

0.2.1(4mo ago)01.3k↓52.7%[9 issues](https://github.com/lyrasoft/luna-event-booking/issues)MITPHPPHP &gt;=8.4.6

Since Jul 13Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/lyrasoft/luna-event-booking)[ Packagist](https://packagist.org/packages/lyrasoft/event-booking)[ RSS](/packages/lyrasoft-event-booking/feed)WikiDiscussions main Synced 2d ago

READMEChangelogDependencies (5)Versions (5)Used By (0)

LYRASOFT EventBooking Package
=============================

[](#lyrasoft-eventbooking-package)

Installation
------------

[](#installation)

Install from composer

```
composer require lyrasoft/event-booking
```

EventBooking dependents on [lyrasoft/sequence](https://github.com/lyrasoft/luna-sequence)Please read their README and configure them first.

Then copy files to project

```
php windwalker pkg:install lyrasoft/event-booking -t routes -t migrations -t seeders
```

### Seeders

[](#seeders)

Add these files to `resources/seeders/main.php`

```
return [
    // ...

    __DIR__ . '/venue-seeder.php',
    __DIR__ . '/event-seeder.php',
    __DIR__ . '/event-order-seeder.php',
];
```

Add these types to `category-seeder.php`

```
    static function () use ($seeder, $orm, $db) {
        $types = [
            // ...

            'event' => [
                'max_level' => 1,
                'number' => 10,
            ],

            // Venue catagoey is optional
            'venue' => [
                'max_level' => 1,
                'number' => 5,
            ],
        ];
```

### Global Settings

[](#global-settings)

WIP

### Session

[](#session)

As EventBooking may need to redirect to outside Payment service to process checkout, you must disable `SameSite` cookie poilicy and set `secure` as `TRUE`.

```
// etc/packages/session.php

return [
    'session' => [
        // ...

        'cookie_params' => [
            // ...
            'secure' => true, //  CookiesInterface::SAMESITE_NONE, // Set this to `SAMESITE_NONE`
        ],
```

### Language Files

[](#language-files)

Add this line to admin &amp; front middleware if you don't want to override languages:

```
$this->lang->loadAllFromVendor('lyrasoft/shopgo', 'ini');

// OR
$this->lang->loadAllFromVendor(EventBookingPackage::class, 'ini');
```

Or run this command to copy languages files:

```
php windwalker pkg:install lyrasoft/shopgo -t lang
```

Register Admin Menu
-------------------

[](#register-admin-menu)

Edit `resources/menu/admin/sidemenu.menu.php`

```
$menu->link('活動', '#')
    ->icon('fal fa-calendar');

$menu->registerChildren(
    function (MenuBuilder $menu) use ($nav, $lang) {
        $menu->link('場館管理')
            ->to($nav->to('venue_list'))
            ->icon('fal fa-house-flag');

        $menu->link('活動分類')
            ->to($nav->to('category_list')->var('type', 'event'))
            ->icon('fal fa-sitemap');

        $menu->link('活動管理')
            ->to($nav->to('event_list'))
            ->icon('fal fa-calendar-days');

        $menu->link('報名者管理')
            ->to($nav->to('event_attend_list'))
            ->icon('fal fa-users');

        $menu->link('報名訂單管理')
            ->to($nav->to('event_order_list'))
            ->icon('fal fa-files');
    }
);
```

Payments
--------

[](#payments)

### Add Ecpay Payment

[](#add-ecpay-payment)

Install Ecpay SDK

```
composer require ecpay/sdk
```

Register Ecpay payments

```
    'payment' => [
        // ...

        'gateways' => [
            // ...
            'ecpay_credit' => fn () => create(
                \Lyrasoft\EventBooking\Payment\EcpayPayment::class,
                type: EcpayPaymentType::CREDIT,
            ),
            'ecpay_atm' => fn () => create(
                \Lyrasoft\EventBooking\Payment\EcpayPayment::class,
                type: EcpayPaymentType::ATM
            ),
            'ecpay_cvs' => fn () => create(
                \Lyrasoft\EventBooking\Payment\EcpayPayment::class,
                type: EcpayPaymentType::CVS
            ),
        ],
    ],
```

And add this to `.env` and `.env.dist`

```
EVENT_ECPAY_MERCHANT_ID=2000132
EVENT_ECPAY_HASH_KEY=5294y06JbISpM5x9
EVENT_ECPAY_HASH_IV=v77hoKGq4kWxNNIS
```

Add exclude to `CsrfMiddleware` for Ecpay notify URL

```
// routes/front.route.php

    ->middleware(
        CsrfMiddleware::class,
        excludes: [
            // ...
            'front::event_payment_task',
        ]
    )
```

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance77

Regular maintenance activity

Popularity19

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~197 days

Total

4

Last Release

127d ago

PHP version history (2 changes)0.1.0PHP &gt;=8.2

0.2.0PHP &gt;=8.4.6

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1639206?v=4)[Simon Asika](/maintainers/asika32764)[@asika32764](https://github.com/asika32764)

---

Top Contributors

[![asika32764](https://avatars.githubusercontent.com/u/1639206?v=4)](https://github.com/asika32764 "asika32764 (36 commits)")

### Embed Badge

![Health badge](/badges/lyrasoft-event-booking/health.svg)

```
[![Health](https://phpackages.com/badges/lyrasoft-event-booking/health.svg)](https://phpackages.com/packages/lyrasoft-event-booking)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[ramsey/uuid

A PHP library for generating and working with universally unique identifiers (UUIDs).

12.6k745.0M4.0k](/packages/ramsey-uuid)[brick/money

Money and currency library

1.9k41.8M157](/packages/brick-money)[illuminate/database

The Illuminate Database package.

2.8k54.9M11.6k](/packages/illuminate-database)[flow-php/etl

PHP ETL - Extract Transform Load - Abstraction

378604.0k104](/packages/flow-php-etl)[illuminate/validation

The Illuminate Validation package.

18838.2M1.7k](/packages/illuminate-validation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
