No description
Find a file
padreug a77145e08e
Some checks failed
lint / lint (push) Waiting to run
lint / lint (pull_request) Has been cancelled
fix: Use db.insert() for ticket creation to fix SQLite serialization
The previous implementation used db.execute() with a raw dict, which
failed on SQLite because the 'extra' field (TicketExtra model) was
passed as a Python dict that SQLite cannot serialize.

Using db.insert() with the Pydantic model ensures proper JSON
serialization of the extra field across all database backends
(SQLite, PostgreSQL, CockroachDB).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 17:48:46 +01:00
.github/workflows Update to use uv (#37) 2025-08-22 16:54:51 +02:00
static feat: add promo codes and conditional events (#40) 2025-12-31 12:52:32 +01:00
templates/events feat: add promo codes and conditional events (#40) 2025-12-31 12:52:32 +01:00
tests Adds public events endpoint and user tickets 2025-11-03 23:05:31 +01:00
.gitignore feat: code quality (#34) 2024-08-29 12:18:49 +02:00
.prettierrc feat: code quality (#34) 2024-08-29 12:18:49 +02:00
__init__.py Update to use uv (#37) 2025-08-22 16:54:51 +02:00
API_DOCUMENTATION.md Adds public events endpoint and user tickets 2025-11-03 23:05:31 +01:00
config.json fix: QR copy button (#38) 2025-09-04 07:10:49 +02:00
crud.py fix: Use db.insert() for ticket creation to fix SQLite serialization 2026-01-03 17:48:46 +01:00
description.md feat: code quality (#34) 2024-08-29 12:18:49 +02:00
LICENSE add license 2023-02-24 18:13:39 +01:00
Makefile Update to use uv (#37) 2025-08-22 16:54:51 +02:00
manifest.json [FEAT] add timestamp on register (#15) 2023-08-18 08:17:29 +02:00
migrations.py Fix SQLite migration syntax error in m007 2025-12-31 17:07:34 +01:00
models.py Adds public events endpoint and user tickets 2025-12-31 12:54:12 +01:00
package-lock.json feat: code quality (#34) 2024-08-29 12:18:49 +02:00
package.json feat: code quality (#34) 2024-08-29 12:18:49 +02:00
pyproject.toml fix: QR copy button (#38) 2025-09-04 07:10:49 +02:00
README.md Fix typos (#39) 2025-12-31 12:49:29 +01:00
services.py feat: add promo codes and conditional events (#40) 2025-12-31 12:52:32 +01:00
tasks.py Adds public events endpoint and user tickets 2025-11-03 23:05:31 +01:00
toc.md feat: code quality (#34) 2024-08-29 12:18:49 +02:00
uv.lock fix: QR copy button (#38) 2025-09-04 07:10:49 +02:00
views.py feat: add promo codes and conditional events (#40) 2025-12-31 12:52:32 +01:00
views_api.py feat: add promo codes and conditional events (#40) 2025-12-31 12:52:32 +01:00

Events - LNbits extension

For more about LNBits extension check this tutorial

Sell tickets for events and use the built-in scanner for registering attendees

Events alows you to make tickets for an event. Each ticket is in the form of a unique QR code. After registering, and paying for ticket, the user gets a QR code to present at registration/entrance.

Events includes a shareable ticket scanner, which can be used to register attendees.

Usage

  1. Create an event
    create event

  2. Fill out the event information:

    • event name
    • wallet (normally there's only one)
    • event information
    • closing date for event registration
    • begin and end date of the event

    event info

  3. Share the event registration link
    event ticket

    • ticket example
      ticket example

    • QR code ticket, presented after invoice paid, to present at registration
      event ticket

  4. Use the built-in ticket scanner to validate registered, and paid, attendees
    ticket scanner