<?php
/**
 * @package Hafenstudios\Leadlotse
 */

namespace Hafenstudios\Leadlotse\Templates;

defined( 'ABSPATH' ) || exit;

/**
 * Die 9 Zweck-Vorlagen (BAUPLAN 12, UX-KONZEPT 3A): Kontakt, Beratungsgespraech,
 * Anfrage, Newsletter-Anmeldung, Download, Rueckruf, Angebot, Event,
 * Veranstaltungs-Anmeldung (event_rsvp, L-R1 mit Ticket und QR-Check-in).
 *
 * Vorlagen sind DATEN mit Sprachfeld (BAUPLAN 22), keine gettext-Strings: Der
 * Betreiber waehlt die Sprache pro Formular, die Texte landen als Startwerte in
 * der Formular-Definition und sind dort frei editierbar. Datenminimierung als
 * Prinzip: jede Vorlage startet mit Minimalfeldern. Keine Em Dashes.
 *
 * Empfaenger-Default: leer = Admin-Mail der Site (wird beim Anlegen befuellt).
 */
final class PurposeTemplates {

	/**
	 * Liefert alle Vorlagen fuer eine Sprache.
	 *
	 * @param string $language "de" oder "en".
	 * @return array<string, array<string, mixed>> key => Vorlage.
	 */
	public static function all( string $language = 'de' ): array {
		$language  = 'en' === $language ? 'en' : 'de';
		$templates = array();
		foreach ( self::data() as $key => $languages ) {
			$templates[ $key ] = $languages[ $language ];
		}
		return $templates;
	}

	/**
	 * Liefert eine Vorlage.
	 *
	 * @param string $key      Vorlagen-Schluessel, z.B. "newsletter".
	 * @param string $language "de" oder "en".
	 * @return array<string, mixed>|null
	 */
	public static function get( string $key, string $language = 'de' ): ?array {
		$all = self::all( $language );
		return $all[ $key ] ?? null;
	}

	/**
	 * Baut aus einer Vorlage eine Formular-Definition (Startwerte fuer den Builder).
	 *
	 * @param string $key      Vorlagen-Schluessel.
	 * @param string $language Sprache.
	 * @return array<string, mixed>|null
	 */
	public static function to_definition( string $key, string $language = 'de' ): ?array {
		$template = self::get( $key, $language );
		if ( null === $template ) {
			return null;
		}

		return array(
			'version'  => 1,
			'purpose'  => $key,
			'language' => $language,
			'fields'   => $template['fields'],
			'settings' => array(
				'recipients'      => array(),
				'notification'    => array(
					'enabled' => true,
					'subject' => '',
				),
				'confirmation'    => array(
					'enabled' => true,
					'subject' => $template['confirmation_subject'],
					'body'    => $template['confirmation_body'],
				),
				'doi'             => array(
					'enabled' => ! empty( $template['doi'] ),
				),
				'success_message' => $template['success_message'],
				'redirect_url'    => '',
				'spam'            => array( 'min_seconds' => 3 ),
				// Veranstaltungs-Daten (L-R1): bei der RSVP-Vorlage aktiv,
				// Titel/Datum/Ort pflegt der Betreiber im Builder.
				'event'           => array(
					'enabled'  => ! empty( $template['event'] ),
					'title'    => '',
					'date'     => '',
					'location' => '',
					'url'      => '',
					'capacity' => 0,
				),
			),
		);
	}

	/**
	 * Kurzhilfe: Standard-Felder Name + E-Mail.
	 *
	 * @param string $language Sprache.
	 * @return array<int, array<string, mixed>>
	 */
	private static function base_fields( string $language ): array {
		$de = 'de' === $language;
		return array(
			array(
				'id'       => 'name',
				'type'     => 'text',
				'label'    => $de ? 'Name' : 'Name',
				'required' => true,
			),
			array(
				'id'       => 'email',
				'type'     => 'email',
				'label'    => $de ? 'E-Mail-Adresse' : 'Email address',
				'required' => true,
			),
		);
	}

	/**
	 * Einwilligungs-Feld mit Zweck-Text.
	 *
	 * @param string $text Einwilligungstext.
	 * @return array<string, mixed>
	 */
	private static function consent_field( string $text ): array {
		return array(
			'id'           => 'consent',
			'type'         => 'consent',
			'label'        => '',
			'required'     => true,
			'consent_text' => $text,
			'text_version' => '1',
		);
	}

	/**
	 * UTM-Hidden-Felder (Attribution, BAUPLAN 15).
	 *
	 * @return array<int, array<string, mixed>>
	 */
	private static function utm_fields(): array {
		return array(
			array(
				'id'      => 'utm_source',
				'type'    => 'hidden',
				'label'   => '',
				'capture' => 'utm_source',
			),
			array(
				'id'      => 'utm_campaign',
				'type'    => 'hidden',
				'label'   => '',
				'capture' => 'utm_campaign',
			),
		);
	}

	/**
	 * Die Vorlagen-Daten: key => [ 'de' => ..., 'en' => ... ].
	 *
	 * @return array<string, array<string, array<string, mixed>>>
	 */
	private static function data(): array {
		return array(
			'contact'      => array(
				'de' => array(
					'name'                 => 'Kontakt',
					'description'          => 'Das klassische Kontaktformular. Kurz, freundlich, ohne Huerden.',
					'fields'               => array_merge(
						self::base_fields( 'de' ),
						array(
							array(
								'id'       => 'message',
								'type'     => 'textarea',
								'label'    => 'Ihre Nachricht',
								'required' => true,
							),
						),
						array( self::consent_field( 'Ich willige ein, dass meine Angaben zur Bearbeitung meiner Anfrage gespeichert und verarbeitet werden. Die Einwilligung kann ich jederzeit widerrufen. Details stehen in der Datenschutzerklaerung.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Wir haben Ihre Nachricht erhalten',
					'confirmation_body'    => "Guten Tag {name},\n\nvielen Dank fuer Ihre Nachricht. Wir haben sie erhalten und melden uns so schnell wie moeglich bei Ihnen.\n\nFreundliche Gruesse\n{site}",
					'success_message'      => 'Vielen Dank. Ihre Nachricht wurde gesendet. Wir melden uns so schnell wie moeglich bei Ihnen.',
				),
				'en' => array(
					'name'                 => 'Contact',
					'description'          => 'The classic contact form. Short, friendly, no hurdles.',
					'fields'               => array_merge(
						self::base_fields( 'en' ),
						array(
							array(
								'id'       => 'message',
								'type'     => 'textarea',
								'label'    => 'Your message',
								'required' => true,
							),
						),
						array( self::consent_field( 'I consent to my details being stored and processed in order to handle my request. I can withdraw this consent at any time. Details can be found in the privacy policy.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'We have received your message',
					'confirmation_body'    => "Hello {name},\n\nthank you for your message. We have received it and will get back to you as soon as possible.\n\nBest regards\n{site}",
					'success_message'      => 'Thank you. Your message has been sent. We will get back to you as soon as possible.',
				),
			),
			'consultation' => array(
				'de' => array(
					'name'                 => 'Beratungsgespraech',
					'description'          => 'Interessenten buchen ein unverbindliches Erstgespraech an.',
					'fields'               => array_merge(
						self::base_fields( 'de' ),
						array(
							array(
								'id'    => 'phone',
								'type'  => 'phone',
								'label' => 'Telefonnummer',
								'help'  => 'Fuer die Terminabstimmung.',
							),
							array(
								'id'      => 'topic',
								'type'    => 'textarea',
								'label'   => 'Worum geht es?',
								'help'    => 'Ein kurzer Satz genuegt.',
							),
						),
						array( self::consent_field( 'Ich willige ein, dass meine Angaben zur Vereinbarung eines Beratungsgespraechs gespeichert und verarbeitet werden. Die Einwilligung kann ich jederzeit widerrufen. Details stehen in der Datenschutzerklaerung.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Ihre Anfrage fuer ein Beratungsgespraech',
					'confirmation_body'    => "Guten Tag {name},\n\nvielen Dank fuer Ihr Interesse an einem Beratungsgespraech. Wir melden uns kurzfristig bei Ihnen, um einen Termin abzustimmen.\n\nFreundliche Gruesse\n{site}",
					'success_message'      => 'Vielen Dank. Wir melden uns kurzfristig bei Ihnen, um einen Termin abzustimmen.',
				),
				'en' => array(
					'name'                 => 'Consultation',
					'description'          => 'Prospects request a free initial consultation.',
					'fields'               => array_merge(
						self::base_fields( 'en' ),
						array(
							array(
								'id'    => 'phone',
								'type'  => 'phone',
								'label' => 'Phone number',
								'help'  => 'For scheduling the appointment.',
							),
							array(
								'id'    => 'topic',
								'type'  => 'textarea',
								'label' => 'What is it about?',
								'help'  => 'One short sentence is enough.',
							),
						),
						array( self::consent_field( 'I consent to my details being stored and processed in order to arrange a consultation. I can withdraw this consent at any time. Details can be found in the privacy policy.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Your consultation request',
					'confirmation_body'    => "Hello {name},\n\nthank you for your interest in a consultation. We will contact you shortly to arrange an appointment.\n\nBest regards\n{site}",
					'success_message'      => 'Thank you. We will contact you shortly to arrange an appointment.',
				),
			),
			'inquiry'      => array(
				'de' => array(
					'name'                 => 'Anfrage',
					'description'          => 'Konkrete Projekt- oder Produktanfragen mit etwas mehr Kontext.',
					'fields'               => array_merge(
						self::base_fields( 'de' ),
						array(
							array(
								'id'       => 'subject',
								'type'     => 'text',
								'label'    => 'Betreff',
								'required' => true,
							),
							array(
								'id'       => 'details',
								'type'     => 'textarea',
								'label'    => 'Ihre Anfrage',
								'required' => true,
							),
						),
						array( self::consent_field( 'Ich willige ein, dass meine Angaben zur Bearbeitung meiner Anfrage gespeichert und verarbeitet werden. Die Einwilligung kann ich jederzeit widerrufen. Details stehen in der Datenschutzerklaerung.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Ihre Anfrage ist eingegangen',
					'confirmation_body'    => "Guten Tag {name},\n\nvielen Dank fuer Ihre Anfrage. Wir pruefen sie und melden uns mit einer Rueckmeldung bei Ihnen.\n\nFreundliche Gruesse\n{site}",
					'success_message'      => 'Vielen Dank. Ihre Anfrage ist eingegangen. Wir melden uns mit einer Rueckmeldung bei Ihnen.',
				),
				'en' => array(
					'name'                 => 'Inquiry',
					'description'          => 'Specific project or product inquiries with a bit more context.',
					'fields'               => array_merge(
						self::base_fields( 'en' ),
						array(
							array(
								'id'       => 'subject',
								'type'     => 'text',
								'label'    => 'Subject',
								'required' => true,
							),
							array(
								'id'       => 'details',
								'type'     => 'textarea',
								'label'    => 'Your inquiry',
								'required' => true,
							),
						),
						array( self::consent_field( 'I consent to my details being stored and processed in order to handle my inquiry. I can withdraw this consent at any time. Details can be found in the privacy policy.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'We have received your inquiry',
					'confirmation_body'    => "Hello {name},\n\nthank you for your inquiry. We will review it and get back to you.\n\nBest regards\n{site}",
					'success_message'      => 'Thank you. We have received your inquiry and will get back to you.',
				),
			),
			'newsletter'   => array(
				'de' => array(
					'name'                 => 'Newsletter-Anmeldung',
					'description'          => 'Anmeldung mit Double-Opt-in. Rechtssicher und minimal.',
					'doi'                  => true,
					'fields'               => array_merge(
						array(
							array(
								'id'       => 'email',
								'type'     => 'email',
								'label'    => 'E-Mail-Adresse',
								'required' => true,
							),
						),
						array( self::consent_field( 'Ich moechte den Newsletter erhalten und willige ein, dass meine E-Mail-Adresse dafuer gespeichert wird. Die Anmeldung wird erst nach Bestaetigung per E-Mail wirksam (Double-Opt-in). Ich kann mich jederzeit abmelden. Details stehen in der Datenschutzerklaerung.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Bitte bestaetigen Sie Ihre Anmeldung',
					'confirmation_body'    => "Guten Tag,\n\nvielen Dank fuer Ihre Anmeldung. Bitte bestaetigen Sie Ihre E-Mail-Adresse ueber den Link in dieser E-Mail. Erst danach ist die Anmeldung wirksam.\n\nFreundliche Gruesse\n{site}",
					'success_message'      => 'Vielen Dank. Bitte pruefen Sie Ihr Postfach und bestaetigen Sie Ihre Anmeldung ueber den Link in der E-Mail.',
				),
				'en' => array(
					'name'                 => 'Newsletter signup',
					'description'          => 'Signup with double opt-in. Legally safe and minimal.',
					'doi'                  => true,
					'fields'               => array_merge(
						array(
							array(
								'id'       => 'email',
								'type'     => 'email',
								'label'    => 'Email address',
								'required' => true,
							),
						),
						array( self::consent_field( 'I would like to receive the newsletter and consent to my email address being stored for this purpose. The signup only becomes effective after confirmation by email (double opt-in). I can unsubscribe at any time. Details can be found in the privacy policy.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Please confirm your signup',
					'confirmation_body'    => "Hello,\n\nthank you for signing up. Please confirm your email address using the link in this email. Your signup only becomes effective after confirmation.\n\nBest regards\n{site}",
					'success_message'      => 'Thank you. Please check your inbox and confirm your signup using the link in the email.',
				),
			),
			'download'     => array(
				'de' => array(
					'name'                 => 'Download',
					'description'          => 'Whitepaper, Checkliste oder Broschuere gegen E-Mail-Adresse.',
					'fields'               => array_merge(
						array(
							array(
								'id'       => 'email',
								'type'     => 'email',
								'label'    => 'E-Mail-Adresse',
								'required' => true,
							),
						),
						array( self::consent_field( 'Ich willige ein, dass meine E-Mail-Adresse zur Bereitstellung des Downloads gespeichert und verarbeitet wird. Die Einwilligung kann ich jederzeit widerrufen. Details stehen in der Datenschutzerklaerung.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Ihr Download',
					'confirmation_body'    => "Guten Tag,\n\nvielen Dank fuer Ihr Interesse. Den Link zum Download finden Sie in dieser E-Mail. Bei Fragen antworten Sie einfach auf diese Nachricht.\n\nFreundliche Gruesse\n{site}",
					'success_message'      => 'Vielen Dank. Der Download-Link ist unterwegs in Ihr Postfach.',
				),
				'en' => array(
					'name'                 => 'Download',
					'description'          => 'Whitepaper, checklist or brochure in exchange for an email address.',
					'fields'               => array_merge(
						array(
							array(
								'id'       => 'email',
								'type'     => 'email',
								'label'    => 'Email address',
								'required' => true,
							),
						),
						array( self::consent_field( 'I consent to my email address being stored and processed in order to provide the download. I can withdraw this consent at any time. Details can be found in the privacy policy.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Your download',
					'confirmation_body'    => "Hello,\n\nthank you for your interest. You will find the download link in this email. If you have any questions, simply reply to this message.\n\nBest regards\n{site}",
					'success_message'      => 'Thank you. The download link is on its way to your inbox.',
				),
			),
			'callback'     => array(
				'de' => array(
					'name'                 => 'Rueckruf',
					'description'          => 'Besucher hinterlassen ihre Nummer, Sie rufen zurueck.',
					'fields'               => array_merge(
						array(
							array(
								'id'       => 'name',
								'type'     => 'text',
								'label'    => 'Name',
								'required' => true,
							),
							array(
								'id'       => 'phone',
								'type'     => 'phone',
								'label'    => 'Telefonnummer',
								'required' => true,
							),
							array(
								'id'      => 'best_time',
								'type'    => 'select',
								'label'   => 'Wann erreichen wir Sie am besten?',
								'options' => array( 'Vormittags', 'Mittags', 'Nachmittags', 'Abends' ),
							),
						),
						array( self::consent_field( 'Ich willige ein, dass meine Angaben fuer den gewuenschten Rueckruf gespeichert und verarbeitet werden. Die Einwilligung kann ich jederzeit widerrufen. Details stehen in der Datenschutzerklaerung.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Ihr Rueckruf-Wunsch ist eingegangen',
					'confirmation_body'    => "Guten Tag {name},\n\nvielen Dank fuer Ihre Anfrage. Wir rufen Sie so bald wie moeglich zurueck.\n\nFreundliche Gruesse\n{site}",
					'success_message'      => 'Vielen Dank. Wir rufen Sie so bald wie moeglich zurueck.',
				),
				'en' => array(
					'name'                 => 'Callback',
					'description'          => 'Visitors leave their number, you call them back.',
					'fields'               => array_merge(
						array(
							array(
								'id'       => 'name',
								'type'     => 'text',
								'label'    => 'Name',
								'required' => true,
							),
							array(
								'id'       => 'phone',
								'type'     => 'phone',
								'label'    => 'Phone number',
								'required' => true,
							),
							array(
								'id'      => 'best_time',
								'type'    => 'select',
								'label'   => 'When is the best time to reach you?',
								'options' => array( 'Morning', 'Noon', 'Afternoon', 'Evening' ),
							),
						),
						array( self::consent_field( 'I consent to my details being stored and processed for the requested callback. I can withdraw this consent at any time. Details can be found in the privacy policy.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'We have received your callback request',
					'confirmation_body'    => "Hello {name},\n\nthank you for your request. We will call you back as soon as possible.\n\nBest regards\n{site}",
					'success_message'      => 'Thank you. We will call you back as soon as possible.',
				),
			),
			'quote'        => array(
				'de' => array(
					'name'                 => 'Angebot',
					'description'          => 'Angebotsanfragen mit den wichtigsten Eckdaten.',
					'fields'               => array_merge(
						self::base_fields( 'de' ),
						array(
							array(
								'id'       => 'request',
								'type'     => 'textarea',
								'label'    => 'Was benoetigen Sie?',
								'required' => true,
								'help'     => 'Beschreiben Sie kurz, wofuer Sie ein Angebot wuenschen.',
							),
							array(
								'id'    => 'deadline',
								'type'  => 'date',
								'label' => 'Bis wann benoetigen Sie das Angebot?',
							),
						),
						array( self::consent_field( 'Ich willige ein, dass meine Angaben zur Erstellung eines Angebots gespeichert und verarbeitet werden. Die Einwilligung kann ich jederzeit widerrufen. Details stehen in der Datenschutzerklaerung.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Ihre Angebotsanfrage ist eingegangen',
					'confirmation_body'    => "Guten Tag {name},\n\nvielen Dank fuer Ihre Anfrage. Wir erstellen Ihr Angebot und melden uns bei Ihnen.\n\nFreundliche Gruesse\n{site}",
					'success_message'      => 'Vielen Dank. Wir erstellen Ihr Angebot und melden uns bei Ihnen.',
				),
				'en' => array(
					'name'                 => 'Quote',
					'description'          => 'Quote requests with the most important key data.',
					'fields'               => array_merge(
						self::base_fields( 'en' ),
						array(
							array(
								'id'       => 'request',
								'type'     => 'textarea',
								'label'    => 'What do you need?',
								'required' => true,
								'help'     => 'Briefly describe what you would like a quote for.',
							),
							array(
								'id'    => 'deadline',
								'type'  => 'date',
								'label' => 'By when do you need the quote?',
							),
						),
						array( self::consent_field( 'I consent to my details being stored and processed in order to prepare a quote. I can withdraw this consent at any time. Details can be found in the privacy policy.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'We have received your quote request',
					'confirmation_body'    => "Hello {name},\n\nthank you for your request. We will prepare your quote and get back to you.\n\nBest regards\n{site}",
					'success_message'      => 'Thank you. We will prepare your quote and get back to you.',
				),
			),
			'event'        => array(
				'de' => array(
					'name'                 => 'Event',
					'description'          => 'Anmeldungen fuer Veranstaltungen, Webinare oder Termine vor Ort.',
					'fields'               => array_merge(
						self::base_fields( 'de' ),
						array(
							array(
								'id'      => 'participants',
								'type'    => 'select',
								'label'   => 'Anzahl der Teilnehmenden',
								'options' => array( '1', '2', '3', '4', '5 oder mehr' ),
							),
							array(
								'id'    => 'note',
								'type'  => 'textarea',
								'label' => 'Anmerkungen',
							),
						),
						array( self::consent_field( 'Ich willige ein, dass meine Angaben zur Organisation der Veranstaltung gespeichert und verarbeitet werden. Die Einwilligung kann ich jederzeit widerrufen. Details stehen in der Datenschutzerklaerung.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Ihre Anmeldung ist eingegangen',
					'confirmation_body'    => "Guten Tag {name},\n\nvielen Dank fuer Ihre Anmeldung. Sie erhalten von uns rechtzeitig alle Details zur Veranstaltung.\n\nFreundliche Gruesse\n{site}",
					'success_message'      => 'Vielen Dank. Ihre Anmeldung ist eingegangen. Alle Details erhalten Sie rechtzeitig per E-Mail.',
				),
				'en' => array(
					'name'                 => 'Event',
					'description'          => 'Registrations for events, webinars or on-site appointments.',
					'fields'               => array_merge(
						self::base_fields( 'en' ),
						array(
							array(
								'id'      => 'participants',
								'type'    => 'select',
								'label'   => 'Number of participants',
								'options' => array( '1', '2', '3', '4', '5 or more' ),
							),
							array(
								'id'    => 'note',
								'type'  => 'textarea',
								'label' => 'Notes',
							),
						),
						array( self::consent_field( 'I consent to my details being stored and processed in order to organise the event. I can withdraw this consent at any time. Details can be found in the privacy policy.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'We have received your registration',
					'confirmation_body'    => "Hello {name},\n\nthank you for registering. You will receive all event details from us in good time.\n\nBest regards\n{site}",
					'success_message'      => 'Thank you. Your registration has been received. You will get all details by email in good time.',
				),
			),
			'event_rsvp'   => array(
				'de' => array(
					'name'                 => 'Veranstaltungs-Anmeldung',
					'description'          => 'Anmeldung mit Bestaetigung per E-Mail, Ticket und QR-Code fuer den Check-in. Mit Kapazitaetsgrenze.',
					'doi'                  => true,
					'event'                => true,
					'fields'               => array_merge(
						array(
							array(
								'id'       => 'first_name',
								'type'     => 'text',
								'label'    => 'Vorname',
								'required' => true,
							),
							array(
								'id'       => 'email',
								'type'     => 'email',
								'label'    => 'E-Mail-Adresse',
								'required' => true,
							),
							array(
								'id'    => 'phone',
								'type'  => 'phone',
								'label' => 'Telefonnummer',
								'help'  => 'Optional, fuer kurzfristige Aenderungen.',
							),
							array(
								'id'      => 'companions',
								'type'    => 'number',
								'label'   => 'Anzahl Begleitpersonen',
								'default' => '0',
								'min'     => 0,
								'help'    => 'Wie viele Personen bringen Sie mit?',
							),
						),
						array( self::consent_field( 'Ich willige ein, dass meine Angaben zur Organisation der Veranstaltung gespeichert und verarbeitet werden. Die Anmeldung wird erst nach Bestaetigung per E-Mail wirksam. Die Einwilligung kann ich jederzeit widerrufen. Details stehen in der Datenschutzerklaerung.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Bitte bestaetigen Sie Ihre Anmeldung',
					'confirmation_body'    => "Guten Tag {first_name},\n\nvielen Dank fuer Ihre Anmeldung. Bitte bestaetigen Sie Ihre E-Mail-Adresse ueber den Link in dieser E-Mail. Danach erhalten Sie Ihr Ticket.\n\nFreundliche Gruesse\n{site}",
					'success_message'      => 'Vielen Dank. Bitte pruefen Sie Ihr Postfach und bestaetigen Sie Ihre Anmeldung. Danach erhalten Sie Ihr Ticket per E-Mail.',
				),
				'en' => array(
					'name'                 => 'Event registration',
					'description'          => 'Registration with email confirmation, ticket and QR code for check-in. With capacity limit.',
					'doi'                  => true,
					'event'                => true,
					'fields'               => array_merge(
						array(
							array(
								'id'       => 'first_name',
								'type'     => 'text',
								'label'    => 'First name',
								'required' => true,
							),
							array(
								'id'       => 'email',
								'type'     => 'email',
								'label'    => 'Email address',
								'required' => true,
							),
							array(
								'id'    => 'phone',
								'type'  => 'phone',
								'label' => 'Phone number',
								'help'  => 'Optional, for short-notice changes.',
							),
							array(
								'id'      => 'companions',
								'type'    => 'number',
								'label'   => 'Number of accompanying persons',
								'default' => '0',
								'min'     => 0,
								'help'    => 'How many people are you bringing?',
							),
						),
						array( self::consent_field( 'I consent to my details being stored and processed in order to organise the event. The registration only becomes effective after confirmation by email. I can withdraw this consent at any time. Details can be found in the privacy policy.' ) ),
						self::utm_fields()
					),
					'confirmation_subject' => 'Please confirm your registration',
					'confirmation_body'    => "Hello {first_name},\n\nthank you for registering. Please confirm your email address using the link in this email. You will then receive your ticket.\n\nBest regards\n{site}",
					'success_message'      => 'Thank you. Please check your inbox and confirm your registration. You will then receive your ticket by email.',
				),
			),
		);
	}
}
