Welcome to the ZSGW Web-App

Login:

If you are an RPTU member (students & staff), you can log in using your RPTU name (without @rptu.de), even if it is your first time logging in. If you are not an RPTU member, you can create a guest account (see 'New account for guests' below). You can then login to your account using your email address. In case of technical difficulties, please send us an e-mail to zsgw-it(at)rptu.de.


Regulars KL
Regulars LD
Workshops KL
Workshops LD
Competitions KL
Competitions LD
Outdoor sports camps
Children
Facilities KL
Subscriptions
Semester cards
Day tickets
Climbing cards
HTTP Request
method
GET
scheme
https
host
zsgwapp-dev.rz.rptu.de
port
443
base
/
path
query
lang=en
language
en
Routing Result
path
route
handler
main.get_index
name
home
options
GET
controller
App\Controllers\MainController
method
get_index
parameters
HTTP Response
class
RHRK\Framework\Responses\ViewResponse
status code
200
data length
32640
view
main/home.twig
Set-Cookie: PHPSESSID=rg6krcdq2a4i25f8aur7hddt8u; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Execution Times
middleware before
   65.28 ms
controller method
    1.79 ms
middleware after
    0.02 ms
view rendering
  134.83 ms
total
  206.47 ms
array(30) {
  ["HTTPS"] string(2) "on"
  ["HTTP_HOST"] string(22) "zsgwapp-dev.rz.rptu.de"
  ["HTTP_X_FORWARDED_PROTO"] string(5) "https"
  ["HTTP_CONNECTION"] string(5) "close"
  ["HTTP_ACCEPT"] string(3) "*/*"
  ["HTTP_USER_AGENT"] string(103) "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
  ["HTTP_ACCEPT_ENCODING"] string(23) "gzip, br, zstd, deflate"
  ["PATH"] string(60) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
  ["SERVER_SIGNATURE"] string(84) "<address>Apache/2.4.62 (Debian) Server at zsgwapp-dev.rz.rptu.de Port 443</address>
"
  ["SERVER_SOFTWARE"] string(22) "Apache/2.4.62 (Debian)"
  ["SERVER_NAME"] string(22) "zsgwapp-dev.rz.rptu.de"
  ["SERVER_ADDR"] string(37) "2001:638:208:ef61:2405:94ff:fe38:cbd5"
  ["SERVER_PORT"] string(3) "443"
  ["REMOTE_ADDR"] string(11) "3.136.22.31"
  ["DOCUMENT_ROOT"] string(10) "/srv/empty"
  ["REQUEST_SCHEME"] string(5) "https"
  ["CONTEXT_PREFIX"] string(1) "/"
  ["CONTEXT_DOCUMENT_ROOT"] string(35) "/srv/www/www-zsgwapp-dev/data/http/"
  ["SERVER_ADMIN"] string(17) "www-adm@uni-kl.de"
  ["SCRIPT_FILENAME"] string(44) "/srv/www/www-zsgwapp-dev/data/http/index.php"
  ["REMOTE_PORT"] string(5) "50748"
  ["GATEWAY_INTERFACE"] string(7) "CGI/1.1"
  ["SERVER_PROTOCOL"] string(8) "HTTP/1.1"
  ["REQUEST_METHOD"] string(3) "GET"
  ["QUERY_STRING"] string(7) "lang=en"
  ["REQUEST_URI"] string(9) "/?lang=en"
  ["SCRIPT_NAME"] string(10) "/index.php"
  ["PHP_SELF"] string(10) "/index.php"
  ["REQUEST_TIME_FLOAT"] float(1734632606.667582)
  ["REQUEST_TIME"] int(1734632606)
}
array(1) {
  ["lang"] string(2) "en"
}
array(0) {}
array(0) {}
array(1) {
  ["lang"] string(2) "en"
}
Global Middleware 9
RHRK\Framework\Middleware\ErrorHandler
    0.01 ms
    0.00 ms
RHRK\Framework\Middleware\OutputBuffer
    0.00 ms
    0.01 ms
RHRK\Framework\Middleware\ExecuteProviders
   61.06 ms
    0.00 ms
RHRK\Framework\Middleware\Maintenance
    0.01 ms
    0.00 ms
RHRK\Framework\Middleware\SanitizeInput
    0.01 ms
    0.00 ms
RHRK\Framework\Middleware\Validation
    0.01 ms
    0.00 ms
RHRK\Framework\Middleware\Routing
    1.65 ms
    0.00 ms
App\Middleware\DatabaseInitialisation
    2.35 ms
    0.00 ms
App\Middleware\RequiredApproval
    0.01 ms
    0.00 ms
Route Middleware 1
App\Middleware\UserInfo
    0.00 ms
    0.00 ms
Normal Providers 10
App\Providers\DatabaseProvider
    1.71 ms
App\Providers\AuthProvider
    0.04 ms
App\Providers\FormProvider
    0.08 ms
App\Providers\LogProvider
    0.02 ms
App\Providers\TwigProvider
    0.41 ms
App\Providers\ValidatorProvider
    0.02 ms
App\Providers\LanguageProvider
    0.60 ms
App\Providers\TemplateToolProvider
   57.83 ms
App\Providers\MailProvider
    0.07 ms
App\Providers\SanitizeProvider
    0.04 ms
Deferred Providers 0
Before Twig 45
CREATE TABLE IF NOT EXISTS `log` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NULL,
    `level` VARCHAR(50) NOT NULL,
    `message` TEXT NOT NULL,
    `data` TEXT NULL,
    `method` VARCHAR(50) NULL,
    `url` TEXT NULL,
    `file` TEXT NULL,
    `line` INT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `images` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `type` VARCHAR(100) NOT NULL,
    `name` VARCHAR(100) NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `user_codes` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `code_type_id` BIGINT UNSIGNED NOT NULL,
    `code` VARCHAR(255) NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `statuses` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `name` VARCHAR(255) NOT NULL UNIQUE,
    `name_de` VARCHAR(100) NOT NULL,
    `name_en` VARCHAR(100) NOT NULL,
    `verification_type` VARCHAR(50) NOT NULL,
    `visibility` VARCHAR(50) NOT NULL,
    `info_de` TEXT NULL,
    `info_en` TEXT NULL,
    `document_de` VARCHAR(255) NULL,
    `document_en` VARCHAR(255) NULL,
    `notes` TEXT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `users_statuses` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `status_id` BIGINT UNSIGNED NOT NULL,
    `status_verified` BOOLEAN NULL,
    `verification_expiration` DATE NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `code_types` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `name` VARCHAR(100) NOT NULL UNIQUE,
    `description` VARCHAR(255) NULL,
    `expires_after` VARCHAR(50) NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `verification_documents` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_status_id` BIGINT UNSIGNED NOT NULL,
    `display_name` VARCHAR(255) NOT NULL,
    `type` VARCHAR(100) NOT NULL,
    `name` VARCHAR(100) NOT NULL,
    `status` VARCHAR(50) NOT NULL,
    `comment` TEXT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `consent_forms` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `display_name` VARCHAR(255) NOT NULL,
    `type` VARCHAR(100) NOT NULL,
    `name` VARCHAR(100) NOT NULL,
    `status` VARCHAR(50) NOT NULL,
    `comment` TEXT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `price_cats` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `name` VARCHAR(100) NOT NULL UNIQUE,
    `name_de` VARCHAR(100) NOT NULL,
    `name_en` VARCHAR(100) NOT NULL,
    `description` TEXT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `status_price_cats` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `status_id` BIGINT UNSIGNED NOT NULL UNIQUE,
    `price_cat_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `cards` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `name_de` VARCHAR(100) NOT NULL,
    `name_en` VARCHAR(100) NOT NULL,
    `exclude_guests` BOOLEAN NOT NULL,
    `description_de` TEXT NULL,
    `description_en` TEXT NULL,
    `min_duration` VARCHAR(50) NULL,
    `min_age` INT NULL,
    `max_age` INT NULL,
    `subscription` BOOLEAN NOT NULL,
    `require_group` BIGINT(20) NULL,
    `usable` INT NULL,
    `dead_time` INT NULL,
    `creates_qr` INT NOT NULL,
    `amount_limit` INT NULL,
    `active` BOOLEAN NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `card_groups` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `name_de` VARCHAR(100) NOT NULL,
    `name_en` VARCHAR(100) NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `card_group_memberships` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `card_group_id` BIGINT UNSIGNED NOT NULL,
    `card_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `card_bookings` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `card_id` BIGINT UNSIGNED NOT NULL,
    `valid_from` DATE NULL,
    `valid_until` DATE NULL,
    `sub_cancelled_at` DATE NULL,
    `usable` INT NULL,
    `purchase_id` BIGINT UNSIGNED NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `tags` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `name_de` VARCHAR(100) NOT NULL,
    `name_en` VARCHAR(100) NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `places` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `name_de` VARCHAR(100) NOT NULL,
    `name_en` VARCHAR(100) NOT NULL,
    `description` TEXT NULL,
    `capacity` INT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `course_cards` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `course_id` BIGINT UNSIGNED NOT NULL,
    `card_group_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `course_tags` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `tag_id` BIGINT UNSIGNED NOT NULL,
    `course_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `course_statuses` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `status_id` BIGINT UNSIGNED NOT NULL,
    `course_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `course_dates` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `course_id` BIGINT UNSIGNED NOT NULL,
    `start` DATETIME NOT NULL,
    `end` DATETIME NOT NULL,
    `place_id` BIGINT UNSIGNED NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `course_date_instructors` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `course_date_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `course_bookings` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `course_date_id` BIGINT UNSIGNED NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `status` VARCHAR(100) NULL,
    `purchase_id` BIGINT UNSIGNED NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `course_options` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `course_id` BIGINT UNSIGNED NOT NULL,
    `type` VARCHAR(50) NOT NULL,
    `prompt_de` TEXT NOT NULL,
    `prompt_en` TEXT NOT NULL,
    `options_de` TEXT NULL,
    `options_en` TEXT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `products` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `course_id` BIGINT UNSIGNED NULL,
    `card_id` BIGINT UNSIGNED NULL,
    `kostenstelle` VARCHAR(7) NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `product_prices` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `product_id` BIGINT UNSIGNED NULL,
    `price_cat_id` BIGINT UNSIGNED NOT NULL,
    `taxrate` NUMERIC(15,2) NOT NULL,
    `amount` NUMERIC(15,2) NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `course_booking_options` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `course_booking_id` BIGINT UNSIGNED NOT NULL,
    `course_option_id` BIGINT UNSIGNED NOT NULL,
    `response` TEXT NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `purchases` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `product_price_id` BIGINT UNSIGNED NOT NULL,
    `payment_state` VARCHAR(13) NOT NULL,
    `refund_state` VARCHAR(20) NOT NULL,
    `payment_method` VARCHAR(255) NOT NULL,
    `cancelled_at` DATETIME NULL,
    `note` TEXT NULL,
    `suggested_refund` NUMERIC(15,2) NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `refunds` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `purchase_id` BIGINT UNSIGNED NOT NULL,
    `amount` NUMERIC(15,2) NOT NULL,
    `release_date` DATE NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `users` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `account` VARCHAR(50) NULL,
    `email` VARCHAR(100) NULL,
    `password` VARCHAR(100) NULL,
    `is_guest_account` BOOLEAN NOT NULL,
    `first_name` VARCHAR(100) NULL,
    `last_name` VARCHAR(100) NULL,
    `street` VARCHAR(255) NULL,
    `post_code` VARCHAR(50) NULL,
    `city` VARCHAR(100) NULL,
    `gender` SET("MALE", "FEMALE", "OTHER") NULL,
    `birthday` DATE NULL,
    `phone` VARCHAR(50) NULL,
    `language` VARCHAR(10) NULL,
    `recovery_email` VARCHAR(100) NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `children_parents` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `parent_id` BIGINT UNSIGNED NOT NULL,
    `child_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `courses` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `template_name` VARCHAR(100) NULL,
    `type` VARCHAR(50) NOT NULL,
    `name_de` VARCHAR(255) NOT NULL,
    `name_en` VARCHAR(255) NOT NULL,
    `min_age` INT NULL,
    `max_age` INT NULL,
    `allowed_genders` VARCHAR(10) NULL,
    `max_participants` INT NULL,
    `visible_from` DATETIME NULL,
    `visible_until` DATETIME NULL,
    `bookable_from` DATETIME NULL,
    `bookable_until` DATETIME NULL,
    `info_de` TEXT NULL,
    `info_en` TEXT NULL,
    `book_text_de` TEXT NULL,
    `book_text_en` TEXT NULL,
    `default_mail_sender_id` BIGINT UNSIGNED NULL,
    `level` VARCHAR(100) NULL,
    `campus` VARCHAR(100) NULL,
    `active` BOOLEAN NOT NULL,
    `registration_type` VARCHAR(50) NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `email_addresses` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `address` VARCHAR(100) NOT NULL,
    `description` TEXT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `booking_qr_codes` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `booking_id` BIGINT UNSIGNED NOT NULL,
    `hash` VARCHAR(64) NOT NULL,
    `parent_ticket` BOOLEAN NOT NULL,
    `last_used` DATETIME NULL,
    `rand_number` INT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `facilities` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `name_de` VARCHAR(255) NOT NULL,
    `name_en` VARCHAR(255) NOT NULL,
    `max_capacity` INT NOT NULL,
    `description_de` TEXT NULL,
    `description_en` TEXT NULL,
    `explanation_de` TEXT NULL,
    `explanation_en` TEXT NULL,
    `campus` VARCHAR(50) NOT NULL,
    `opening_start` TIME NOT NULL,
    `opening_end` TIME NOT NULL,
    `weekly_quota` INT NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `timeslots` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `facility_id` BIGINT UNSIGNED NOT NULL,
    `start` DATETIME NOT NULL,
    `capacity` INT NOT NULL,
    `closed` BOOLEAN NOT NULL,
    `comment` TEXT NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `reservations` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `timeslot_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `quotas` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `facility_id` BIGINT UNSIGNED NOT NULL,
    `week` VARCHAR(7) NOT NULL,
    `quota` INT NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `checkins` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `facility_id` BIGINT UNSIGNED NOT NULL,
    `start_time` DATETIME NOT NULL,
    `end_time` DATETIME NOT NULL,
    `parent` BOOLEAN NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `facility_card_groups` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `facility_id` BIGINT UNSIGNED NOT NULL,
    `card_group_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `required_approvals` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `name_de` VARCHAR(255) NOT NULL,
    `name_en` VARCHAR(255) NOT NULL,
    `text_de` TEXT NOT NULL,
    `text_en` TEXT NOT NULL,
    `link_de` VARCHAR(255) NOT NULL,
    `link_en` VARCHAR(255) NOT NULL,
    `accept_text_de` TEXT NOT NULL,
    `accept_text_en` TEXT NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `user_approvals` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `required_approval_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `muttizettels` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `parent_id` BIGINT UNSIGNED NOT NULL,
    `child_id` BIGINT UNSIGNED NOT NULL,
    `parent_phone` VARCHAR(255) NOT NULL,
    `child_phone` VARCHAR(255) NULL,
    `first_name` VARCHAR(255) NULL,
    `last_name` VARCHAR(255) NULL,
    `birthday` DATE NULL,
    `street` VARCHAR(255) NULL,
    `post_code` VARCHAR(255) NULL,
    `city` VARCHAR(255) NULL,
    `phone` VARCHAR(255) NULL,
    `valid_until` DATE NULL,
    `no_supervision` BOOLEAN NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL,
    `deleted_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `admin_qr_codes` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `card_id` BIGINT UNSIGNED NOT NULL,
    `hash` VARCHAR(64) NOT NULL,
    `usable` INT NULL,
    `valid_from` DATETIME NULL,
    `valid_until` DATETIME NULL,
    `user_id` BIGINT UNSIGNED NULL,
    `needs_activation` BOOLEAN NOT NULL,
    `comment` VARCHAR(255) NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `favourites` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `user_id` BIGINT UNSIGNED NOT NULL,
    `course_id` BIGINT UNSIGNED NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
CREATE TABLE IF NOT EXISTS `parent_requests` (
    `id` SERIAL PRIMARY KEY NOT NULL,
    `requester_id` BIGINT UNSIGNED NOT NULL,
    `requested_id` BIGINT UNSIGNED NOT NULL,
    `child_id` BIGINT UNSIGNED NOT NULL,
    `status` VARCHAR(50) NOT NULL,
    `created_at` TIMESTAMP NULL,
    `updated_at` TIMESTAMP NULL
);
     --- ms
During Twig 0

Deprecated: Return type of cklamm\ORM\Model::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /srv/www/www-zsgwapp-dev/data/include/zsgw/vendor/rhrk-webdev/orm/src/Model.php on line 86

Deprecated: Return type of RHRK\Form\Element::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /srv/www/www-zsgwapp-dev/data/include/zsgw/vendor/rhrk-webdev/form/src/Element.php on line 45

Deprecated: Return type of RHRK\Form\Element::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /srv/www/www-zsgwapp-dev/data/include/zsgw/vendor/rhrk-webdev/form/src/Element.php on line 66

Deprecated: Return type of RHRK\Form\Element::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /srv/www/www-zsgwapp-dev/data/include/zsgw/vendor/rhrk-webdev/form/src/Element.php on line 76

Deprecated: Return type of RHRK\Sanitize\Sanitize::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /srv/www/www-zsgwapp-dev/data/include/zsgw/vendor/rhrk-webdev/sanitize/src/Sanitize.php on line 29

Deprecated: RHRK\Sanitize\Sanitize implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /srv/www/www-zsgwapp-dev/data/include/zsgw/vendor/rhrk-webdev/sanitize/src/Sanitize.php on line 11