Logo Developer Documentation
  • REST API
  • Plugin & core development
    • Concepts and Terminology
    • Development setup
    • Contributing to pretix
    • Implementation and Utilities
      • Data model
      • Working with URLs
      • Internationalization
      • Settings storage
      • Background tasks
      • Sending Email
      • Permissions
      • Logging and notifications
      • Resource locking
      • Time machine mode
    • Algorithms
    • Plugin development
    • Directory structure
    • Translating pretix
    • NFC media
2025.5
pretix
  • Docs »
  • Plugin & core development »
  • Implementation and Utilities
  • View page source

Implementation and Utilities¶

This chapter describes the various inner workings that power pretix, most of them living in pretix.base. If you want to develop around pretix’s core or advanced plugins, this aims to describe everything you absolutely need to know.

Contents:

  • Data model
    • User model
    • Organizers and events
    • Items
    • Carts and Orders
    • Logging
    • Invoicing
    • Vouchers
  • Working with URLs
    • URL routing
    • URL reversal
    • Implementation details
  • Internationalization
    • Forms
    • Useful utilities
  • Settings storage
    • SettingsSandbox
    • Forms
    • Defaults in plugins
  • Background tasks
    • Implementing a task
    • Tasks in the request-response flow
  • Sending Email
    • mail()
  • Permissions
    • Requiring permissions for a view
    • Requiring permissions in the REST API
    • Checking permission in code
    • Staff sessions
  • Logging and notifications
    • Logging changes
    • Sending notifications
    • Logging technical information
  • Resource locking
  • Time machine mode
    • time_machine_now()
    • Background tasks
Next Previous

© Copyright 2014-2025, rami.io GmbH.

Built with Sphinx using a theme that is based on a theme provided by Read the Docs. Imprint · Privacy