Merge pull request #22925 from colemanw/booleanFields
[civicrm-core.git] / CRM / Event / DAO / Event.php
index fe3a66fa99f32e7aeded3bfe8d8136a7ccb445b0..3a93606064c1c6d4a98d1012500f677c36dfb611 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Event.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:51b2702ee6856d74a9f38e9cf86da5bf)
+ * (GenCodeChecksum:6a26fb9bb9dfd05cdbecc91904f4b1d4)
  */
 
 /**
@@ -58,484 +58,631 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
   /**
    * Event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Event Title (e.g. Fall Fundraiser Dinner)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $summary;
 
   /**
    * Full description of event. Text and html allowed. Displayed on built-in Event Information screens.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Event Type ID.Implicit FK to civicrm_option_value where option_group = event_type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_type_id;
 
   /**
    * Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $participant_listing_id;
 
   /**
    * Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_public;
 
   /**
    * Date and time that event starts.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date and time that event ends. May be NULL if no defined end date/time
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * If true, include registration link on Event Info page.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_online_registration;
 
   /**
    * Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registration_link_text;
 
   /**
    * Date and time that online registration starts.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registration_start_date;
 
   /**
    * Date and time that online registration ends.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registration_end_date;
 
   /**
    * Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_participants;
 
   /**
    * Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_full_text;
 
   /**
    * If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_monetary;
 
   /**
    * Financial type assigned to paid event registrations for this event. Required if is_monetary is true.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Payment Processors configured for this Event (if is_monetary is true)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor;
 
   /**
    * Include a map block on the Event Information page when geocode info is available and a mapping provider has been specified?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_map;
 
   /**
    * Is this Event enabled or disabled/cancelled?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_label;
 
   /**
    * If true, show event location.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_show_location;
 
   /**
    * FK to Location Block ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $loc_block_id;
 
   /**
    * Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_role_id;
 
   /**
    * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $intro_text;
 
   /**
    * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $footer_text;
 
   /**
    * Title for Confirmation page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_title;
 
   /**
    * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_text;
 
   /**
    * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_footer_text;
 
   /**
    * If true, confirmation is automatically emailed to contact on successful registration.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_email_confirm;
 
   /**
    * text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_email_text;
 
   /**
    * FROM email name used for confirmation emails.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_from_name;
 
   /**
    * FROM email address used for confirmation emails.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_from_email;
 
   /**
    * comma-separated list of email addresses to cc each time a confirmation is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cc_confirm;
 
   /**
    * comma-separated list of email addresses to bcc each time a confirmation is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bcc_confirm;
 
   /**
    * FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_fee_id;
 
   /**
    * FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_discount_fee_id;
 
   /**
    * Title for ThankYou page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_title;
 
   /**
    * ThankYou Text.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_text;
 
   /**
    * Footer message.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_footer_text;
 
   /**
    * if true - allows the user to send payment directly to the org later
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
    * The text displayed to the user in the main form
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_text;
 
   /**
    * The receipt sent to the user instead of the normal receipt text
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_receipt;
 
   /**
    * is partial payment enabled for this event
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_partial_payment;
 
   /**
    * Initial amount label for partial payment
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_label;
 
   /**
    * Initial amount help text for partial payment
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_help_text;
 
   /**
    * Minimum initial amount for partial payment
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_initial_amount;
 
   /**
    * if true - allows the user to register multiple participants for event
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_multiple_registrations;
 
   /**
    * Maximum number of additional participants that can be registered on a single booking
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_additional_participants;
 
   /**
    * if true - allows the user to register multiple registrations from same email address.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $allow_same_participant_emails;
 
   /**
    * Whether the event has waitlist support.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $has_waitlist;
 
   /**
    * Whether participants require approval before they can finish registering.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $requires_approval;
 
   /**
    * Expire pending but unconfirmed registrations after this many hours.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expiration_time;
 
   /**
    * Allow self service cancellation or transfer for event?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $allow_selfcancelxfer;
 
   /**
    * Number of hours prior to event start date to allow self-service cancellation or transfer.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $selfcancelxfer_time;
 
   /**
    * Text to display when the event is full, but participants can signup for a waitlist.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $waitlist_text;
 
   /**
    * Text to display when the approval is required to complete registration for an event.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approval_req_text;
 
   /**
    * whether the event has template
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_template;
 
   /**
    * Event Template Title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $template_title;
 
   /**
    * FK to civicrm_contact, who created this event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time that event was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * The campaign for which this event has been created.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Can people share the event through social media?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_share;
 
   /**
    * If false, the event booking confirmation screen gets skipped
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_confirm_enabled;
 
   /**
    * Implicit FK to civicrm_event: parent event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_event_id;
 
   /**
    * Subevent slot label. Implicit FK to civicrm_option_value where option_group = conference_slot.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $slot_label_id;
 
   /**
    * Rule to use when matching registrations for this event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dedupe_rule_group_id;
 
   /**
    * if true than billing block is required this event
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing_required;
 
+  /**
+   * Event's native time zone
+   *
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $event_tz;
+
   /**
    * Class constructor.
    */
@@ -705,6 +852,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is Event Public'),
           'description' => ts('Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_public',
           'default' => '1',
           'table_name' => 'civicrm_event',
@@ -718,13 +866,15 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'event_start_date' => [
           'name' => 'start_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Event Start Date'),
           'description' => ts('Date and time that event starts.'),
+          'required' => FALSE,
           'import' => TRUE,
           'where' => 'civicrm_event.start_date',
           'headerPattern' => '/^start|(s(tart\s)?date)$/i',
           'export' => TRUE,
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -737,13 +887,15 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'event_end_date' => [
           'name' => 'end_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Event End Date'),
           'description' => ts('Date and time that event ends. May be NULL if no defined end date/time'),
+          'required' => FALSE,
           'import' => TRUE,
           'where' => 'civicrm_event.end_date',
           'headerPattern' => '/^end|(e(nd\s)?date)$/i',
           'export' => TRUE,
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -759,6 +911,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is Online Registration'),
           'description' => ts('If true, include registration link on Event Info page.'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_online_registration',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -789,10 +942,12 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'registration_start_date' => [
           'name' => 'registration_start_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Registration Start Date'),
           'description' => ts('Date and time that online registration starts.'),
+          'required' => FALSE,
           'where' => 'civicrm_event.registration_start_date',
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -806,10 +961,12 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'registration_end_date' => [
           'name' => 'registration_end_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Registration End Date'),
           'description' => ts('Date and time that online registration ends.'),
+          'required' => FALSE,
           'where' => 'civicrm_event.registration_end_date',
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -859,6 +1016,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is this a PAID event?'),
           'description' => ts('If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_monetary',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -920,6 +1078,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Map Enabled'),
           'description' => ts('Include a map block on the Event Information page when geocode info is available and a mapping provider has been specified?'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_map',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -936,6 +1095,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is Active'),
           'description' => ts('Is this Event enabled or disabled/cancelled?'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_active',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -971,6 +1131,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('show location'),
           'description' => ts('If true, show event location.'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_show_location',
           'default' => '1',
           'table_name' => 'civicrm_event',
@@ -1111,6 +1272,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is confirm email'),
           'description' => ts('If true, confirmation is automatically emailed to contact on successful registration.'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_email_confirm',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -1290,6 +1452,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Pay Later Allowed'),
           'description' => ts('if true - allows the user to send payment directly to the org later'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_pay_later',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -1336,6 +1499,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Partial Payments Enabled'),
           'description' => ts('is partial payment enabled for this event'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_partial_payment',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -1403,6 +1567,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Allow Multiple Registrations'),
           'description' => ts('if true - allows the user to register multiple participants for event'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_multiple_registrations',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -1432,6 +1597,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Does Event allow multiple registrations from same email address?'),
           'description' => ts('if true - allows the user to register multiple registrations from same email address.'),
+          'required' => TRUE,
           'where' => 'civicrm_event.allow_same_participant_emails',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -1448,7 +1614,9 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Waitlist Enabled'),
           'description' => ts('Whether the event has waitlist support.'),
+          'required' => TRUE,
           'where' => 'civicrm_event.has_waitlist',
+          'default' => '0',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -1463,7 +1631,9 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Requires Approval'),
           'description' => ts('Whether participants require approval before they can finish registering.'),
+          'required' => TRUE,
           'where' => 'civicrm_event.requires_approval',
+          'default' => '0',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -1495,6 +1665,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Allow Self-service Cancellation or Transfer'),
           'description' => ts('Allow self service cancellation or transfer for event?'),
+          'required' => TRUE,
           'where' => 'civicrm_event.allow_selfcancelxfer',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -1681,6 +1852,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is shared through social media'),
           'description' => ts('Can people share the event through social media?'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_share',
           'default' => '1',
           'table_name' => 'civicrm_event',
@@ -1697,6 +1869,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is the booking confirmation screen enabled?'),
           'description' => ts('If false, the event booking confirmation screen gets skipped'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_confirm_enabled',
           'default' => '1',
           'table_name' => 'civicrm_event',
@@ -1769,6 +1942,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is billing block required'),
           'description' => ts('if true than billing block is required this event'),
+          'required' => TRUE,
           'where' => 'civicrm_event.is_billing_required',
           'default' => '0',
           'table_name' => 'civicrm_event',
@@ -1780,6 +1954,27 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           ],
           'add' => '4.6',
         ],
+        'event_tz' => [
+          'name' => 'event_tz',
+          'type' => CRM_Utils_Type::T_TEXT,
+          'title' => ts('Event Time Zone'),
+          'description' => ts('Event\'s native time zone'),
+          'import' => TRUE,
+          'where' => 'civicrm_event.event_tz',
+          'export' => TRUE,
+          'default' => NULL,
+          'table_name' => 'civicrm_event',
+          'entity' => 'Event',
+          'bao' => 'CRM_Event_BAO_Event',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'Select',
+          ],
+          'pseudoconstant' => [
+            'callback' => 'CRM_Core_SelectValues::timezone',
+          ],
+          'add' => '5.47',
+        ],
       ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }