<?php
namespace JanusHercules\DatawarehouseIntegration\Domain\Entity;
use App\Service\UsageEventService;
use App\Utility\DatabaseIdGenerator;
use App\Utility\DateTimeUtility;
use App\Utility\GuidUtility;
use App\Utility\ReflectionHelper;
use DateTime;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Exception;
use JanusHercules\DatawarehouseIntegration\Domain\Repository\BusinessEventRepository;
use ReflectionClass;
use ValueError;
/**
* This model deliberately stores its data in a strongly denormalized form in order to allow
* efficient retrieval, searching, and grouping for statistical purposes, therefore avoiding
* cross-references.
*
* IMPORTANT: Events of this type MUST NOT be used for non-statistical uses. Specifically, DO NOT use this data to make
* functional application decisions ("if there are more than X events of type Y for a user, do Z").
* Always treat this data as if it wasn't part of the application at all - because this might well become true in the
* future, when we need to move this data into a dedicated data warehouse for large-scale statistical analytics.
*
* If you need to base application behaviour on past user behaviour, @see UsageEventService instead.
*/
#[ORM\Entity(repositoryClass: BusinessEventRepository::class)]
#[ORM\Table(name: 'business_events')]
#[ORM\Index(columns: ['occured_at'], name: 'occured_at_idx')]
#[ORM\Index(columns: ['event_type', 'occured_at'], name: 'event_type_occured_at_idx')]
#[ORM\Index(columns: ['affected_user_is_jobofferer', 'occured_at', 'affected_user_registered_at', 'event_type'], name: 'jobofferer_idx')]
#[ORM\Index(columns: ['affected_user_is_jobseeker', 'occured_at', 'affected_user_registered_at', 'event_type'], name: 'jobseeker_idx')]
class BusinessEvent
{
public const EVENT_TYPE_USER_REMOVED_OWN_ACCOUNT = 0;
public const EVENT_TYPE_ACCOUNT_REMOVED_BY_ADMIN = 1;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_ACTIVATION = 2;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBSEEKER_BASE_PROFILE = 3;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_UNREAD_CONVERSATION_MESSAGES = 4;
public const EVENT_TYPE_NEW_USER_ACCOUNT_REGISTERED = 5;
public const EVENT_TYPE_NEW_USER_ACCOUNT_CONFIRMED = 6;
public const EVENT_TYPE_SENT_SINGLE_CONVERSATION_MESSAGE = 8;
public const EVENT_TYPE_SENT_MULTIPLE_CONVERSATION_MESSAGES = 9;
public const EVENT_TYPE_CONVERSATION_MESSAGE_WAS_REMOVED = 10;
public const EVENT_TYPE_CONVERSATION_WAS_REMOVED = 11;
public const EVENT_TYPE_CONVERSATION_MESSAGE_WAS_RESTORED = 12;
public const EVENT_TYPE_CONVERSATION_MESSAGE_WAS_READ = 13;
public const EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDALLCOOKIES = 14;
public const EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDONLYANALYTICSCOOKIES = 15;
public const EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDONLYMARKETINGCOOKIES = 16;
public const EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDNOCOOKIES = 17;
public const EVENT_TYPE_JOBSEEKERPROFILESSEARCH_ENOUGHRESULTS = 18;
public const EVENT_TYPE_JOBSEEKERPROFILESSEARCH_NOTENOUGHRESULTS = 19;
public const EVENT_TYPE_RECURRENTJOBSSEARCH_ENOUGHRESULTS = 20;
public const EVENT_TYPE_RECURRENTJOBSSEARCH_NOTENOUGHRESULTS = 21;
public const EVENT_TYPE_JOBOFFERER_REMOVED_OWN_ACCOUNT_nolongerused = 22;
public const EVENT_TYPE_JOBSEEKER_REMOVED_OWN_ACCOUNT_nolongerused = 23;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBS = 24;
public const EVENT_TYPE_BASE_PROFILE_COMPLETED = 25;
public const EVENT_TYPE_EXTENDED_PROFILE_COMPLETED = 26;
public const EVENT_TYPE_SUBSCRIPTION_COMPLETED = 27;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_SUBSCRIPTION_WITH_TRIAL = 28;
public const EVENT_TYPE_PAUSE_ACCOUNT = 29;
public const EVENT_TYPE_UNPAUSE_ACCOUNT = 30;
public const EVENT_TYPE_SEND_MAIL_NOTIFICATION_FOR_PAUSED = 31;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_SUBSCRIPTION_WITHOUT_TRIAL = 32;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBSEEKER_ACTIVITY = 33;
public const EVENT_TYPE_SENT_AUTOMATED_CONVERSATION_MESSAGE = 34;
public const EVENT_TYPE_USER_SET_OWN_PASSWORD = 35;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_SET_OWN_PASSWORD = 36;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_UNREAD_JOBRADAR_MATCHES = 37;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_EXTENDED_PROFILE_FIELDS = 38;
public const EVENT_TYPE_TRIGGERED_DIRECT_APPLICATION_FROM_CONVERSATION_MESSAGE = 39;
public const EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_RECEIVED_INCOMING = 40;
public const EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_SENT_OUTGOING = 41;
public const EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_COULD_NOT_EXTRACT_REPLY_FROM_INCOMING = 42;
public const EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_TRIGGERED_MAILBOMB_PROTECTION = 43;
public const EVENT_TYPE_BROWSER_PUSH_NOTIFICATION_CONFIRMED = 44;
public const EVENT_TYPE_BROWSER_PUSH_NOTIFICATION_WITHDRAWN = 45;
public const EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_COULD_NOT_DELIVER_REPLY_FROM_UNSUBSCRIBED_JOBOFFERER = 46;
public const EVENT_TYPE_EXTERNAL_PARTNERS_JOBOFFER_VISITED = 47;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBOFFERER_BASE_PROFILE = 48;
public const EVENT_TYPE_RECURRENTJOBSSEARCH_QUALITYSTATE_ENOUGHRESULTS = 49;
public const EVENT_TYPE_RECURRENTJOBSSEARCH_QUALITYSTATE_NOTENOUGHRESULTS = 50;
public const EVENT_TYPE_JOBSEEKERPROFILESSEARCH_QUALITYSTATE_ENOUGHRESULTS = 51;
public const EVENT_TYPE_JOBSEEKERPROFILESSEARCH_QUALITYSTATE_NOTENOUGHRESULTS = 52;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_SUBSCRIPTION_WITHOUT_TRIAL_DURING_CAMPAIGN = 53;
public const EVENT_TYPE_RATED_POSITIVE = 54;
public const EVENT_TYPE_RATED_NEGATIVE = 55;
public const EVENT_TYPE_USED_FACEBOOK_RATING_LINK = 56;
public const EVENT_TYPE_USED_GOOGLE_RATING_LINK = 57;
public const EVENT_TYPE_USED_TRUSTEDSHOPS_RATING_LINK = 58;
public const EVENT_TYPE_SEES_RATING_OPTION = 59;
public const EVENT_TYPE_SEES_POSITIVE_RATING_OPTION = 60;
public const EVENT_TYPE_SUBSCRIPTION_CANCELED = 61;
public const EVENT_TYPE_DETAILED_RECURRENT_JOB_VIEW_BUTTON_IS_CLICKED = 62;
public const EVENT_TYPE_RECURRENTJOB_CREATED = 63;
public const EVENT_TYPE_RECURRENTJOB_EDITED = 64;
public const EVENT_TYPE_PROFILE_EDITED = 65;
public const EVENT_TYPE_RECURRENTJOB_CREATED_DURING_PROFILE_CREATION = 66;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_JOBOFFERER_TIPS = 67;
public const EVENT_TYPE_PROFILE_PHOTO_WAS_ADDED = 68;
public const EVENT_TYPE_PROFILE_PHOTO_WAS_DELETED = 69;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_JOBSEEKER_TIPS = 70;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBSEEKER_1 = 71;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBSEEKER_2 = 72;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBSEEKER_3 = 73;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBOFFERER_1 = 74;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBOFFERER_2 = 75;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBOFFERER_3 = 76;
public const EVENT_TYPE_WANTEDJOBSSEARCH_ENOUGHRESULTS = 77;
public const EVENT_TYPE_WANTEDJOBSSEARCH_NOTENOUGHRESULTS = 78;
public const EVENT_TYPE_WANTEDJOBSSEARCH_QUALITYSTATE_ENOUGHRESULTS = 79;
public const EVENT_TYPE_WANTEDJOBSSEARCH_QUALITYSTATE_NOTENOUGHRESULTS = 80;
public const EVENT_TYPE_DETAILED_WANTED_JOB_VIEW_BUTTON_IS_CLICKED = 81;
public const EVENT_TYPE_WANTEDJOB_CREATED = 82;
public const EVENT_TYPE_WANTEDJOB_EDITED = 83;
public const EVENT_TYPE_WANTEDJOB_CREATED_DURING_PROFILE_CREATION = 84;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_WANTED_JOBS = 85;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBOFFERER_BASE_PLUS_PROFILE = 86;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBSEEKER_BASE_PLUS_PROFILE = 87;
public const EVENT_TYPE_JOBLIFT_JOBOFFER_CONTACTED = 88;
public const EVENT_TYPE_BASE_PLUS_PROFILE_COMPLETED = 89;
public const EVENT_TYPE_ABOUT_ME_WAS_ADDED = 90;
public const EVENT_TYPE_CV_WAS_ADDED = 91;
public const EVENT_TYPE_PHONE_NUMBER_WAS_ADDED = 92;
public const EVENT_TYPE_ADDITIONAL_DOCUMENT_WAS_ADDED = 93;
public const EVENT_TYPE_NEW_GOHIRING_JOBOFFER_INTEGRATED = 94;
public const EVENT_TYPE_GOHIRING_JOBOFFER_DELETED = 95;
public const EVENT_TYPE_GOHIRING_JOBOFFER_UPDATED = 96;
public const EVENT_TYPE_RECURRENT_JOB_SEARCH_CONTAINS_JOBLIFT_RESULTS = 97;
public const EVENT_TYPE_RECURRENT_JOB_SEARCH_DOES_NOT_CONTAIN_JOBLIFT_RESULTS = 98;
public const EVENT_TYPE_LINK_FROM_EBAY_AWAY_MESSAGE_CLICKED = 99;
public const EVENT_TYPE_MISSING_ACTIVATION_EMAIL_FROM_WEBDE_SENT = 100;
public const EVENT_TYPE_POPULAR_JOBS_BUTTON_CLICKED = 101;
public const EVENT_TYPE_SUGGESTED_POPULAR_JOB_CHOSEN = 102;
public const EVENT_TYPE_JOBRAPIDO_LINK_CLICKED = 103;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBOFFERER_ACTIVITY = 104;
public const EVENT_TYPE_CV_WAS_VIEWED_IN_PROFILE = 105;
public const EVENT_TYPE_CV_WAS_VIEWED_IN_SEARCH = 106;
public const EVENT_TYPE_TALENTCOM_LINK_CLICKED = 107;
public const EVENT_TYPE_CV_WAS_VIEWED_IN_UNREAD_MESSAGES = 108;
public const EVENT_TYPE_JOBSEEKER_CLICKED_SHARE_PROFILE_ICON = 109;
public const EVENT_TYPE_EXTERNAL_PARTNERS_JOBOFFER_INFO_PAGE_VISITED = 110;
public const EVENT_TYPE_EXTERNAL_PARTNERS_JOBOFFER_INFO_PAGE_VISITED_FROM_PREMIUM_JOB = 111;
public const EVENT_TYPE_JOBLIFT_LINK_CLICKED = 112;
public const EVENT_TYPE_INDEED_RECRUIT_DL_LANDINGPAGE_SHOWN = 113;
public const EVENT_TYPE_INDEED_RECRUIT_DL_FORM_COMPLETED = 114;
public const EVENT_TYPE_GOHIRING_INCOMING_NEW_FAILED_nolongerused = 115;
public const EVENT_TYPE_GOHIRING_INCOMING_UPDATE_FAILED_nolongerused = 116;
public const EVENT_TYPE_GOHIRING_INCOMING_DELETE_FAILED_nolongerused = 117;
public const EVENT_TYPE_JOBSEEKER_HAS_CLICKED_DOWNLOAD_DOCUMENT_TEMPLATE = 118;
public const EVENT_TYPE_USER_CLICKED_MAILTO_LINK_IN_CONVERSATION_MESSAGE_BODY = 119;
public const EVENT_TYPE_USER_CLICKED_MAILTO_LINK_IN_CONVERSATION_MESSAGE_BODY_OF_RECRUIT_DL_SENDER = 120;
public const EVENT_TYPE_JOBOFFERER_CLICKED_MENU_LINK_RECURRENT_JOB = 121;
public const EVENT_TYPE_JOBSEEKER_CLICKED_MENU_LINK_WANTED_JOB = 122;
public const EVENT_TYPE_EBAY_LINK_CLICKED = 123;
public const EVENT_TYPE_APP_STORE_ICON_CLICKED = 124;
public const EVENT_TYPE_PLAY_STORE_ICON_CLICKED = 125;
public const EVENT_TYPE_SELFDESCRIPTION_PROPOSAL_CHANGED = 126;
public const EVENT_TYPE_EXTERNAL_PARTNER_CUSTOMER_CREATED = 127;
public const EVENT_TYPE_EXTERNAL_PARTNER_CUSTOMER_QUOTA_CREATED = 128;
public const EVENT_TYPE_EXTERNAL_PARTNER_CUSTOMER_QUOTA_EDITED = 129;
public const EVENT_TYPE_EXTERNAL_PARTNER_CUSTOMER_QUOTA_DEACTIVATED = 130;
public const EVENT_TYPE_GERMAN_PERSONNEL_NEW_RECURRENT_JOB_CREATED = 131;
public const EVENT_TYPE_GERMAN_PERSONNEL_RECURRENT_JOB_REMOVED = 132;
public const EVENT_TYPE_IMMEDIATE_APPLICATION_FORM_COMPLETED = 133;
public const EVENT_TYPE_NEW_USER_VIA_IMMEDIATE_APPLICATION = 134;
public const EVENT_TYPE_REWE_NEW_RECURRENT_JOB_CREATED = 135;
public const EVENT_TYPE_REWE_RECURRENT_JOB_REMOVED = 136;
public const EVENT_TYPE_RECURRENT_JOBS_SEARCH_INFO_BUBBLE_CLICKED = 137;
public const EVENT_TYPE_NEW_BILLING_FOR_EXTERNAL_RECURRENT_JOB = 138;
public const EVENT_TYPE_EXTERNAL_RECURRENT_JOB_REMOVED_BECAUSE_NO_QUOTA = 139;
public const EVENT_TYPE_EXTENDED_PLUS_PROFILE_COMPLETED = 140;
public const EVENT_TYPE_DASHBOARD_ACTION = 141;
public const EVENT_TYPE_HAYS_NEW_RECURRENT_JOB_CREATED = 142;
public const EVENT_TYPE_HAYS_RECURRENT_JOB_REMOVED = 143;
public const EVENT_TYPE_RECURRENTJOB_FORWARDED_TO_EXTERNAL_APPLICATION_URL = 144;
public const EVENT_TYPE_EBAY_FEED_TRACKING = 145;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBSEEKER_4 = 146;
public const EVENT_TYPE_USED_QUOTA_VALUE_RAISED = 147;
public const EVENT_TYPE_MYSTAFFPILOT_NEW_RECURRENT_JOB_CREATED = 148;
public const EVENT_TYPE_MYSTAFFPILOT_RECURRENT_JOB_REMOVED = 149;
public const EVENT_TYPE_JOBWARE_LINK_CLICKED = 150;
public const EVENT_TYPE_FORWARDING_TO_EXTERNAL_COOPERATION_PARTNER_INITIATED = 151;
public const EVENT_TYPE_FORWARDED_TO_EXTERNAL_COOPERATION_PARTNER = 152;
public const EVENT_TYPE_INCOMING_CLICK_FROM_EXTERNAL_COOPERATION_PARTNER = 153;
public const EVENT_TYPE_INTEGRATED_EXTERNAL_PARTNER_CUSTOMER_PREMIUM_RADAR_LINK_CLICKED = 154;
public const EVENT_TYPE_RECURRENT_JOB_ADDED_TO_JOBLIFT_C_FEED = 155;
public const EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_JOBLIFT_C_FEED = 156;
public const EVENT_TYPE_RECURRENT_JOB_ADDED_TO_JOBRAPIDO_C_FEED = 157;
public const EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_JOBRAPIDO_C_FEED = 158;
public const EVENT_TYPE_RECURRENT_JOB_ADDED_TO_TALENTCOM_C_FEED = 159;
public const EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_TALENTCOM_C_FEED = 160;
public const EVENT_TYPE_SOFTGARDEN_RECURRENT_JOB_REMOVED = 161;
public const EVENT_TYPE_GOOGLE_INDEXING_API_INDEX_WAS_REQUESTED = 162;
public const EVENT_TYPE_GOOGLE_INDEXING_API_DELETE_WAS_REQUESTED = 163;
public const EVENT_TYPE_RECURRENT_JOB_DEACTIVATED = 164;
public const EVENT_TYPE_LENKZEIT_NEW_RECURRENT_JOB_CREATED = 165;
public const EVENT_TYPE_LENKZEIT_RECURRENT_JOB_REMOVED = 166;
public const EVENT_TYPE_RECURRENT_JOB_REACTIVATED = 167;
public const EVENT_TYPE_FEEDBACK_ABOUT_RECURRENT_JOB_DEACTIVATION = 168;
public const EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_KIMETA_C_FEED = 169;
public const EVENT_TYPE_RECURRENT_JOB_ADDED_TO_KIMETA_C_FEED = 170;
public const EVENT_TYPE_PMS_ARE_INFORMED_ABOUT_EXPIRING_QUOTA = 171;
public const EVENT_TYPE_RECURRENT_JOB_PRINT_BUTTON_HAS_BEEN_CLICKED = 172;
public const EVENT_TYPE_GOOGLE_FOR_JOBS_LINK_CLICKED = 173;
public const EVENT_TYPE_EXTENDED_APPLICATION_FORM_COMPLETED = 174;
public const EVENT_TYPE_NEW_USER_VIA_EXTENDED_APPLICATION = 175;
public const EVENT_TYPE_KIMETA_LINK_CLICKED = 176;
public const EVENT_TYPE_ARTEMIS_RECURRENT_JOB_REMOVED = 177;
public const EVENT_TYPE_AGENTUR_FUER_ARBEIT_LINK_CLICKED = 178;
public const EVENT_TYPE_JOBOO_ONLINE_LANDINGPAGE_SHOWN = 179;
public const EVENT_TYPE_JOBOO_ONLINE_FORM_COMPLETED = 180;
public const EVENT_TYPE_USER_CLICKED_ON_RECURRENT_JOB_ON_INDEED_SITE = 181;
public const EVENT_TYPE_NEW_USER_ACCOUNT_REGISTERED_VIA_GOOGLE_IDENTITY_OAUTH2 = 182;
public const EVENT_TYPE_NEW_USER_ACCOUNT_REGISTERED_VIA_GOOGLE_IDENTITY_GSI = 183;
public const EVENT_TYPE_FORWARDED_TO_ORGANIC_RECURRENT_JOB_EXTERNAL_APPLICATION_URL = 184;
public const EVENT_TYPE_RECURRENT_JOB_AUTOMATIC_RENEWAL_COMPONENT_SUBSCRIPTION_WAS_ACTIVATED = 185;
public const EVENT_TYPE_RECURRENT_JOB_AUTOMATIC_RENEWAL_COMPONENT_SUBSCRIPTION_WAS_DEACTIVATED = 186;
public const EVENT_TYPE_RECURRENT_JOB_COMPONENT_SUBSCRIPTION_WAS_BOOKED = 187;
public const EVENT_TYPE_RECURRENT_JOB_COMPONENT_SUBSCRIPTION_WAS_RENEWED = 188;
public const EVENT_TYPE_RECURRENT_JOB_REMOVAL_REQUESTED = 189;
public const EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDSELECTEDCOOKIES = 190;
public const EVENT_TYPE_FLASCHENPOST_RECURRENT_JOB_REMOVED = 191;
public const EVENT_TYPE_UNSUBSCRIBED_RECURRENT_JOB_WAS_ADDED_TO_INDEED_FEED_FOR_TEST = 192;
public const EVENT_TYPE_BLACKLISTING_WAS_ADDED = 193;
public const EVENT_TYPE_BLACKLISTING_WAS_REMOVED = 194;
public const EVENT_TYPE_RECURRENT_JOB_ADDED_TO_STELLENONLINE_C_FEED = 195;
public const EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_STELLENONLINE_C_FEED = 196;
public const EVENT_TYPE_WISAG_ISSUE = 197;
public const EVENT_TYPE_STELLENONLINE_LINK_CLICKED = 198;
public const EVENT_TYPE_RECRUIT_USER_WAS_CONVERTED_TO_JOBOO_USER_WITHOUT_DATA_IMPORT = 199;
public const EVENT_TYPE_RECRUIT_USER_CONVERTED_TO_JOBOO_USER_WITH_DATA_IMPORT = 200;
public const EVENT_TYPE_RECRUIT_DL_CONFIRMATION_LINK_WAS_CLICKED = 201;
public const EVENT_TYPE_RECURRENT_JOB_WAS_SHARED = 202;
public const EVENT_TYPE_SIMILAR_JOB_OFFER_CLICKED = 203;
public const EVENT_TYPE_HOFMANNS_CATERING_RECURRENT_JOB_REMOVED = 204;
public const EVENT_TYPE_DEUTSCHE_BAHN_AG_RECURRENT_JOB_REMOVED = 205;
public const EVENT_TYPE_MILCH_UND_ZUCKER_RECURRENT_JOB_REMOVED = 206;
public const EVENT_TYPE_RECURRENT_JOB_WAS_ADDED_FOR_AGENTUR_FUER_ARBEIT = 207;
public const EVENT_TYPE_RECURRENT_JOB_WAS_DELETED_FOR_AGENTUR_FUER_ARBEIT = 208;
public const EVENT_TYPE_RECURRENT_JOB_WAS_ADDED_FOR_AGENTUR_FUER_ARBEIT_CATEGORIZATION = 209;
public const EVENT_TYPE_RECURRENT_JOB_WAS_CATEGORIZED_FOR_AGENTUR_FUER_ARBEIT = 210;
public const EVENT_TYPE_RECURRENT_JOB_WAS_PERMANENTLY_REMOVED_FOR_AGENTUR_FUER_ARBEIT = 211;
public const EVENT_TYPE_LOG_IN_VIA_GOOGLE_BUTTON_WAS_PRESSED = 212;
public const EVENT_TYPE_USER_HAS_VISITED_EXTERNAL_JOBOFFER = 213;
public const EVENT_TYPE_CONCLUDIS_API_INFORMED_ABOUT_EXTENDED_APPLICATION = 214;
public const EVENT_TYPE_WHATSAPP_LANDINGPAGE_VISITED = 215;
public const EVENT_TYPE_RECURRENT_JOB_PUBLISHED = 216;
public const EVENT_TYPE_INFORMED_USER_ABOUT_UNREAD_ORGANIC_CONVERSATION_MESSAGE_VIA_WHATSAPP = 217;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_AGENTUR_FUER_ARBEIT = 218;
public const EVENT_TYPE_LOGIN_MAIL_SENT = 219;
public const EVENT_TYPE_KAUFLAND_FEED_RECURRENT_JOB_REMOVED = 220;
public const EVENT_TYPE_WHATSAPP_PERMISSION_GRANTED = 221;
public const EVENT_TYPE_WHATSAPP_PERMISSION_REMOVED = 222;
public const EVENT_TYPE_CELLIT_RECURRENT_JOB_REMOVED = 223;
public const EVENT_TYPE_RECURRENT_JOBS_SEARCH_ALL_JOBS_NOT_ENOUGH_RESULTS = 224;
public const EVENT_TYPE_INFORMED_USER_ABOUT_UNREAD_INTEGRATED_EXTERNAL_PARTNER_CUSTOMER_PREMIUM_RADAR_MESSAGE_VIA_WHATSAPP = 225;
public const EVENT_TYPE_USER_STARTED_APPLICATION_PROCESS = 226;
public const EVENT_TYPE_USER_STARTED_PHONE_CALL = 227;
public const EVENT_TYPE_RECURRENT_JOB_ADDED_TO_MEINESTADT_C_FEED = 228;
public const EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_MEINESTADT_C_FEED = 229;
public const EVENT_TYPE_MEINESTADT_LINK_CLICKED = 230;
public const EVENT_TYPE_RECURRENT_JOB_ADDED_TO_JOBIJOBA_C_FEED = 231;
public const EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_JOBIJOBA_C_FEED = 232;
public const EVENT_TYPE_JOBIJOBA_LINK_CLICKED = 233;
public const EVENT_TYPE_RECURRENT_JOB_ADDED_TO_WHATJOBS_C_FEED = 234;
public const EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_WHATJOBS_C_FEED = 235;
public const EVENT_TYPE_WHATJOBS_LINK_CLICKED = 236;
public const EVENT_TYPE_ADECCO_FEED_RECURRENT_JOB_REMOVED = 237;
public const EVENT_TYPE_RECURRENT_JOB_COMPONENT_SUBSCRIPTION_WAS_RENEWED_NONCONSECUTIVELY = 238;
public const EVENT_TYPE_BILLWERK_CONTRACT_ANNULLED = 239;
public const EVENT_TYPE_RECURRENT_JOB_ADDED_TO_JOOBLE_C_FEED = 240;
public const EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_JOOBLE_C_FEED = 241;
public const EVENT_TYPE_JOOBLE_LINK_CLICKED = 242;
public const EVENT_TYPE_LINKED_LINK_CLICKED = 243;
public const EVENT_TYPE_USER_SEES_CAPTCHA_PAGE_BEFORE_FORWARDING = 244;
public const EVENT_TYPE_TODO_ITEM_CREATED = 245;
public const EVENT_TYPE_TODO_ITEM_MARKED_AS_DONE = 246;
public const EVENT_TYPE_NEW_USER_EMAIL_ADDRESS_CONFIRMED = 247;
public const EVENT_TYPE_INVOICE_EMAIL_EDITED = 248;
public const EVENT_TYPE_SPARSE_RESULTS_AFTER_SEARCH = 249;
public const EVENT_TYPE_CLEARING_REQUEST_CREATED = 250;
public const EVENT_TYPE_CLEARING_REQUEST_APPROVED = 251;
public const EVENT_TYPE_CLEARING_REQUEST_REMOVED = 252;
public const EVENT_TYPE_JOBSEEKER_MEMBERSHIP_SUCCESSFULLY_CREATED = 253;
public const EVENT_TYPE_JOBSEEKER_MEMBERSHIP_CTA_TO_PAYMENT_FORM_WAS_CLICKED = 254;
public const EVENT_TYPE_DIRECT_FORWARD_TO_GOOGLE_RATING_PAGE = 255;
public const EVENT_TYPE_POTENTIAL_CUSTOMER_BUSINESS_INFO_CREATED = 256;
public const EVENT_TYPE_DIRECT_FORWARD_TO_TRUSTPILOT_RATING_PAGE = 257;
public const EVENT_TYPE_JOBRADAR_MATCH_PINNED = 258;
public const EVENT_TYPE_JOBRADAR_MATCH_UNPINNED = 259;
public const EVENT_TYPE_JOBRADAR_MATCH_JOBSEEKER_INTERESTED = 260;
public const EVENT_TYPE_JOBRADAR_MATCH_JOBSEEKER_DECLINED = 261;
public const EVENT_TYPE_JOBRADAR_MATCH_JOBOFFERER_BLOCKED = 262;
public const EVENT_TYPE_JOBRADAR_MATCH_JOBOFFERER_UNBLOCKED = 263;
public const EVENT_TYPE_USER_HAS_CLICKED_RECURRENT_JOB_WEBSITE = 264;
public const EVENT_TYPE_USER_HAS_CLICKED_MEMBERSHIP_BUTTON_FROM_RECURRENT_JOB_OVERVIEW = 265;
public const EVENT_TYPE_USER_HAS_CLICKED_MEMBERSHIP_BUTTON_FROM_FIXED_BOTTOM_ALERT = 266;
public const EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_TRIAL_ACTIVATION = 267;
public const EVENT_TYPE_DIRECT_FORWARD_TO_JOBBOERSENCHECK_RATING_PAGE = 268;
public const EVENT_TYPE_TERMS_AND_CONDITIONS_HAS_BEEN_ACCEPTED = 269;
public const EVENT_TYPE_NEW_EXTERNALLY_INCOMING_APPLICATION_ACCEPTED = 270;
public const EVENT_TYPE_NEW_WECLAPP_CONTRACT_INTEGRATED = 271;
public const EVENT_TYPE_WECLAPP_CONTRACT_EDITED = 272;
public const EVENT_TYPE_WECLAPP_CONTRACT_REMOVED = 273;
public const EVENT_TYPE_DIRECT_FORWARD_TO_FACEBOOK_RATING_PAGE = 274;
public const EVENT_TYPE_RECURRENT_JOB_DUPLICATED_BY_ADMIN = 275;
public const EVENT_TYPE_CONTRACT_CANCELLATION_FEEDBACK_SUBMITTED = 276;
public const EVENT_TYPE_USER_MEMBERSHIP_PAUSE_REQUESTED = 277;
public const EVENT_TYPE_USER_MEMBERSHIP_PAUSE_REMOVED = 278;
public const EVENT_TYPE_STEPSTONE_FEED_RECURRENT_JOB_REMOVED = 279;
public const EVENT_TYPE_COUPON_CODE_APPLY = 280;
public const EVENT_TYPE_APETITO_FEED_RECURRENT_JOB_REMOVED = 281;
public const EVENT_TYPE_JOBOFFERER_LINK_TO_PROJOBOODE_CLICKED = 282;
public const EVENT_TYPE_JOBOFFERER_LINK_TO_PROJOBOODE_PRICE_CLICKED = 283;
public const EVENT_TYPE_JOBOFFERER_LINK_TO_CONTENTJOBOODE_CLICKED = 284;
public const EVENT_TYPE_VONQ_FEED_RECURRENT_JOB_REMOVED = 285;
public const EVENT_TYPE_JOBOFFERER_ONBOARDING_FINISHED = 286;
public const EVENT_TYPE_WEBFLOW_PAGE_REQUEST_WITH_GOOGLE_ADS_DATA = 287;
public const EVENT_TYPE_XING_FEED_RECURRENT_JOB_REMOVED = 288;
public const array ORDERED_EVENT_TYPES = [
self::EVENT_TYPE_NEW_USER_ACCOUNT_REGISTERED,
self::EVENT_TYPE_NEW_USER_ACCOUNT_CONFIRMED,
self::EVENT_TYPE_BASE_PROFILE_COMPLETED,
self::EVENT_TYPE_EXTENDED_PLUS_PROFILE_COMPLETED,
self::EVENT_TYPE_SUBSCRIPTION_COMPLETED,
self::EVENT_TYPE_USER_REMOVED_OWN_ACCOUNT,
self::EVENT_TYPE_ACCOUNT_REMOVED_BY_ADMIN,
self::EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_RECEIVED_INCOMING,
self::EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_SENT_OUTGOING,
self::EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_COULD_NOT_EXTRACT_REPLY_FROM_INCOMING,
self::EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_TRIGGERED_MAILBOMB_PROTECTION,
self::EVENT_TYPE_SENT_SINGLE_CONVERSATION_MESSAGE,
self::EVENT_TYPE_SENT_MULTIPLE_CONVERSATION_MESSAGES,
self::EVENT_TYPE_SENT_AUTOMATED_CONVERSATION_MESSAGE,
self::EVENT_TYPE_CONVERSATION_MESSAGE_WAS_READ,
self::EVENT_TYPE_CONVERSATION_MESSAGE_WAS_REMOVED,
self::EVENT_TYPE_CONVERSATION_WAS_REMOVED,
self::EVENT_TYPE_CONVERSATION_MESSAGE_WAS_RESTORED,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_ACTIVATION,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_SET_OWN_PASSWORD,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBSEEKER_BASE_PROFILE,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_EXTENDED_PROFILE_FIELDS,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBS,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_SUBSCRIPTION_WITH_TRIAL,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_SUBSCRIPTION_WITHOUT_TRIAL,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_UNREAD_CONVERSATION_MESSAGES,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_UNREAD_JOBRADAR_MATCHES,
self::EVENT_TYPE_SEND_MAIL_NOTIFICATION_FOR_PAUSED,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBSEEKER_ACTIVITY,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBOFFERER_BASE_PROFILE,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBOFFERER_BASE_PLUS_PROFILE,
self::EVENT_TYPE_RECURRENTJOBSSEARCH_ENOUGHRESULTS,
self::EVENT_TYPE_RECURRENTJOBSSEARCH_NOTENOUGHRESULTS,
self::EVENT_TYPE_RECURRENTJOBSSEARCH_QUALITYSTATE_ENOUGHRESULTS,
self::EVENT_TYPE_RECURRENTJOBSSEARCH_QUALITYSTATE_NOTENOUGHRESULTS,
self::EVENT_TYPE_JOBSEEKERPROFILESSEARCH_ENOUGHRESULTS,
self::EVENT_TYPE_JOBSEEKERPROFILESSEARCH_NOTENOUGHRESULTS,
self::EVENT_TYPE_JOBSEEKERPROFILESSEARCH_QUALITYSTATE_ENOUGHRESULTS,
self::EVENT_TYPE_JOBSEEKERPROFILESSEARCH_QUALITYSTATE_NOTENOUGHRESULTS,
self::EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDALLCOOKIES,
self::EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDONLYANALYTICSCOOKIES,
self::EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDONLYMARKETINGCOOKIES,
self::EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDNOCOOKIES,
self::EVENT_TYPE_USER_SET_OWN_PASSWORD,
self::EVENT_TYPE_TRIGGERED_DIRECT_APPLICATION_FROM_CONVERSATION_MESSAGE,
self::EVENT_TYPE_BROWSER_PUSH_NOTIFICATION_CONFIRMED,
self::EVENT_TYPE_BROWSER_PUSH_NOTIFICATION_WITHDRAWN,
self::EVENT_TYPE_DIRECT_EMAIL_COMMUNICATION_COULD_NOT_DELIVER_REPLY_FROM_UNSUBSCRIBED_JOBOFFERER,
self::EVENT_TYPE_EXTERNAL_PARTNERS_JOBOFFER_VISITED,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_SUBSCRIPTION_WITHOUT_TRIAL_DURING_CAMPAIGN,
self::EVENT_TYPE_RATED_POSITIVE,
self::EVENT_TYPE_RATED_NEGATIVE,
self::EVENT_TYPE_USED_FACEBOOK_RATING_LINK,
self::EVENT_TYPE_USED_GOOGLE_RATING_LINK,
self::EVENT_TYPE_USED_TRUSTEDSHOPS_RATING_LINK,
self::EVENT_TYPE_SEES_RATING_OPTION,
self::EVENT_TYPE_SEES_POSITIVE_RATING_OPTION,
self::EVENT_TYPE_SUBSCRIPTION_CANCELED,
self::EVENT_TYPE_DETAILED_RECURRENT_JOB_VIEW_BUTTON_IS_CLICKED,
self::EVENT_TYPE_RECURRENTJOB_CREATED,
self::EVENT_TYPE_RECURRENTJOB_EDITED,
self::EVENT_TYPE_PROFILE_EDITED,
self::EVENT_TYPE_RECURRENTJOB_CREATED_DURING_PROFILE_CREATION,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_JOBOFFERER_TIPS,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_JOBSEEKER_TIPS,
self::EVENT_TYPE_PROFILE_PHOTO_WAS_ADDED,
self::EVENT_TYPE_PROFILE_PHOTO_WAS_DELETED,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBSEEKER_1,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBSEEKER_2,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBSEEKER_3,
self::EVENT_TYPE_WANTEDJOBSSEARCH_ENOUGHRESULTS,
self::EVENT_TYPE_WANTEDJOBSSEARCH_NOTENOUGHRESULTS,
self::EVENT_TYPE_WANTEDJOBSSEARCH_QUALITYSTATE_ENOUGHRESULTS,
self::EVENT_TYPE_WANTEDJOBSSEARCH_QUALITYSTATE_NOTENOUGHRESULTS,
self::EVENT_TYPE_DETAILED_WANTED_JOB_VIEW_BUTTON_IS_CLICKED,
self::EVENT_TYPE_WANTEDJOB_CREATED,
self::EVENT_TYPE_WANTEDJOB_EDITED,
self::EVENT_TYPE_WANTEDJOB_CREATED_DURING_PROFILE_CREATION,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_WANTED_JOBS,
self::EVENT_TYPE_JOBLIFT_JOBOFFER_CONTACTED,
self::EVENT_TYPE_BASE_PLUS_PROFILE_COMPLETED,
self::EVENT_TYPE_ABOUT_ME_WAS_ADDED,
self::EVENT_TYPE_CV_WAS_ADDED,
self::EVENT_TYPE_PHONE_NUMBER_WAS_ADDED,
self::EVENT_TYPE_ADDITIONAL_DOCUMENT_WAS_ADDED,
self::EVENT_TYPE_NEW_GOHIRING_JOBOFFER_INTEGRATED,
self::EVENT_TYPE_GOHIRING_JOBOFFER_DELETED,
self::EVENT_TYPE_GOHIRING_JOBOFFER_UPDATED,
self::EVENT_TYPE_RECURRENT_JOB_SEARCH_CONTAINS_JOBLIFT_RESULTS,
self::EVENT_TYPE_RECURRENT_JOB_SEARCH_DOES_NOT_CONTAIN_JOBLIFT_RESULTS,
self::EVENT_TYPE_LINK_FROM_EBAY_AWAY_MESSAGE_CLICKED,
self::EVENT_TYPE_MISSING_ACTIVATION_EMAIL_FROM_WEBDE_SENT,
self::EVENT_TYPE_POPULAR_JOBS_BUTTON_CLICKED,
self::EVENT_TYPE_SUGGESTED_POPULAR_JOB_CHOSEN,
self::EVENT_TYPE_JOBRAPIDO_LINK_CLICKED,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_JOBOFFERER_ACTIVITY,
self::EVENT_TYPE_CV_WAS_VIEWED_IN_PROFILE,
self::EVENT_TYPE_CV_WAS_VIEWED_IN_SEARCH,
self::EVENT_TYPE_CV_WAS_VIEWED_IN_UNREAD_MESSAGES,
self::EVENT_TYPE_JOBSEEKER_CLICKED_SHARE_PROFILE_ICON,
self::EVENT_TYPE_EXTERNAL_PARTNERS_JOBOFFER_INFO_PAGE_VISITED,
self::EVENT_TYPE_EXTERNAL_PARTNERS_JOBOFFER_INFO_PAGE_VISITED_FROM_PREMIUM_JOB,
self::EVENT_TYPE_JOBLIFT_LINK_CLICKED,
self::EVENT_TYPE_INDEED_RECRUIT_DL_LANDINGPAGE_SHOWN,
self::EVENT_TYPE_INDEED_RECRUIT_DL_FORM_COMPLETED,
self::EVENT_TYPE_GOHIRING_INCOMING_NEW_FAILED_nolongerused,
self::EVENT_TYPE_GOHIRING_INCOMING_UPDATE_FAILED_nolongerused,
self::EVENT_TYPE_GOHIRING_INCOMING_DELETE_FAILED_nolongerused,
self::EVENT_TYPE_JOBSEEKER_HAS_CLICKED_DOWNLOAD_DOCUMENT_TEMPLATE,
self::EVENT_TYPE_USER_CLICKED_MAILTO_LINK_IN_CONVERSATION_MESSAGE_BODY,
self::EVENT_TYPE_USER_CLICKED_MAILTO_LINK_IN_CONVERSATION_MESSAGE_BODY_OF_RECRUIT_DL_SENDER,
self::EVENT_TYPE_EBAY_LINK_CLICKED,
self::EVENT_TYPE_APP_STORE_ICON_CLICKED,
self::EVENT_TYPE_PLAY_STORE_ICON_CLICKED,
self::EVENT_TYPE_SELFDESCRIPTION_PROPOSAL_CHANGED,
self::EVENT_TYPE_PLAY_STORE_ICON_CLICKED,
self::EVENT_TYPE_EXTERNAL_PARTNER_CUSTOMER_CREATED,
self::EVENT_TYPE_EXTERNAL_PARTNER_CUSTOMER_QUOTA_CREATED,
self::EVENT_TYPE_EXTERNAL_PARTNER_CUSTOMER_QUOTA_EDITED,
self::EVENT_TYPE_EXTERNAL_PARTNER_CUSTOMER_QUOTA_DEACTIVATED,
self::EVENT_TYPE_GERMAN_PERSONNEL_NEW_RECURRENT_JOB_CREATED,
self::EVENT_TYPE_GERMAN_PERSONNEL_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_IMMEDIATE_APPLICATION_FORM_COMPLETED,
self::EVENT_TYPE_NEW_USER_VIA_IMMEDIATE_APPLICATION,
self::EVENT_TYPE_REWE_NEW_RECURRENT_JOB_CREATED,
self::EVENT_TYPE_REWE_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_HAYS_NEW_RECURRENT_JOB_CREATED,
self::EVENT_TYPE_HAYS_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_RECURRENT_JOBS_SEARCH_INFO_BUBBLE_CLICKED,
self::EVENT_TYPE_NEW_BILLING_FOR_EXTERNAL_RECURRENT_JOB,
self::EVENT_TYPE_EXTENDED_PROFILE_COMPLETED,
self::EVENT_TYPE_DASHBOARD_ACTION,
self::EVENT_TYPE_RECURRENTJOB_FORWARDED_TO_EXTERNAL_APPLICATION_URL,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBSEEKER_4,
self::EVENT_TYPE_USED_QUOTA_VALUE_RAISED,
self::EVENT_TYPE_MYSTAFFPILOT_NEW_RECURRENT_JOB_CREATED,
self::EVENT_TYPE_MYSTAFFPILOT_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_JOBWARE_LINK_CLICKED,
self::EVENT_TYPE_MYSTAFFPILOT_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_MISSING_PROFILE_FIELDS_JOBSEEKER_4,
self::EVENT_TYPE_FORWARDING_TO_EXTERNAL_COOPERATION_PARTNER_INITIATED,
self::EVENT_TYPE_FORWARDED_TO_EXTERNAL_COOPERATION_PARTNER,
self::EVENT_TYPE_INTEGRATED_EXTERNAL_PARTNER_CUSTOMER_PREMIUM_RADAR_LINK_CLICKED,
self::EVENT_TYPE_RECURRENT_JOB_ADDED_TO_JOBLIFT_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_JOBLIFT_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_ADDED_TO_JOBRAPIDO_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_JOBRAPIDO_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_ADDED_TO_TALENTCOM_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_TALENTCOM_C_FEED,
self::EVENT_TYPE_GOOGLE_INDEXING_API_INDEX_WAS_REQUESTED,
self::EVENT_TYPE_GOOGLE_INDEXING_API_DELETE_WAS_REQUESTED,
self::EVENT_TYPE_RECURRENT_JOB_DEACTIVATED,
self::EVENT_TYPE_RECURRENT_JOB_REACTIVATED,
self::EVENT_TYPE_FEEDBACK_ABOUT_RECURRENT_JOB_DEACTIVATION,
self::EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_KIMETA_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_ADDED_TO_KIMETA_C_FEED,
self::EVENT_TYPE_PMS_ARE_INFORMED_ABOUT_EXPIRING_QUOTA,
self::EVENT_TYPE_RECURRENT_JOB_PRINT_BUTTON_HAS_BEEN_CLICKED,
self::EVENT_TYPE_GOOGLE_FOR_JOBS_LINK_CLICKED,
self::EVENT_TYPE_EXTENDED_APPLICATION_FORM_COMPLETED,
self::EVENT_TYPE_NEW_USER_VIA_EXTENDED_APPLICATION,
self::EVENT_TYPE_KIMETA_LINK_CLICKED,
self::EVENT_TYPE_ARTEMIS_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_JOBOO_ONLINE_LANDINGPAGE_SHOWN,
self::EVENT_TYPE_JOBOO_ONLINE_FORM_COMPLETED,
self::EVENT_TYPE_USER_CLICKED_ON_RECURRENT_JOB_ON_INDEED_SITE,
self::EVENT_TYPE_NEW_USER_ACCOUNT_REGISTERED_VIA_GOOGLE_IDENTITY_OAUTH2,
self::EVENT_TYPE_NEW_USER_ACCOUNT_REGISTERED_VIA_GOOGLE_IDENTITY_GSI,
self::EVENT_TYPE_FORWARDED_TO_ORGANIC_RECURRENT_JOB_EXTERNAL_APPLICATION_URL,
self::EVENT_TYPE_RECURRENT_JOB_AUTOMATIC_RENEWAL_COMPONENT_SUBSCRIPTION_WAS_ACTIVATED,
self::EVENT_TYPE_RECURRENT_JOB_AUTOMATIC_RENEWAL_COMPONENT_SUBSCRIPTION_WAS_DEACTIVATED,
self::EVENT_TYPE_RECURRENT_JOB_COMPONENT_SUBSCRIPTION_WAS_BOOKED,
self::EVENT_TYPE_RECURRENT_JOB_COMPONENT_SUBSCRIPTION_WAS_RENEWED,
self::EVENT_TYPE_RECURRENT_JOB_REMOVAL_REQUESTED,
self::EVENT_TYPE_COOKIEPREFERENCES_USERACCEPTEDSELECTEDCOOKIES,
self::EVENT_TYPE_FLASCHENPOST_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_BLACKLISTING_WAS_ADDED,
self::EVENT_TYPE_BLACKLISTING_WAS_REMOVED,
self::EVENT_TYPE_RECURRENT_JOB_ADDED_TO_STELLENONLINE_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_STELLENONLINE_C_FEED,
self::EVENT_TYPE_WISAG_ISSUE,
self::EVENT_TYPE_STELLENONLINE_LINK_CLICKED,
self::EVENT_TYPE_RECRUIT_USER_WAS_CONVERTED_TO_JOBOO_USER_WITHOUT_DATA_IMPORT,
self::EVENT_TYPE_RECRUIT_USER_CONVERTED_TO_JOBOO_USER_WITH_DATA_IMPORT,
self::EVENT_TYPE_RECRUIT_DL_CONFIRMATION_LINK_WAS_CLICKED,
self::EVENT_TYPE_RECURRENT_JOB_WAS_SHARED,
self::EVENT_TYPE_SIMILAR_JOB_OFFER_CLICKED,
self::EVENT_TYPE_HOFMANNS_CATERING_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_DEUTSCHE_BAHN_AG_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_MILCH_UND_ZUCKER_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_LOG_IN_VIA_GOOGLE_BUTTON_WAS_PRESSED,
self::EVENT_TYPE_USER_HAS_VISITED_EXTERNAL_JOBOFFER,
self::EVENT_TYPE_CONCLUDIS_API_INFORMED_ABOUT_EXTENDED_APPLICATION,
self::EVENT_TYPE_WHATSAPP_LANDINGPAGE_VISITED,
self::EVENT_TYPE_RECURRENT_JOB_PUBLISHED,
self::EVENT_TYPE_INFORMED_USER_ABOUT_UNREAD_ORGANIC_CONVERSATION_MESSAGE_VIA_WHATSAPP,
self::EVENT_TYPE_SENT_MAIL_NOTIFICATION_FOR_AGENTUR_FUER_ARBEIT,
self::EVENT_TYPE_LOGIN_MAIL_SENT,
self::EVENT_TYPE_KAUFLAND_FEED_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_WHATSAPP_PERMISSION_GRANTED,
self::EVENT_TYPE_WHATSAPP_PERMISSION_REMOVED,
self::EVENT_TYPE_CONCLUDIS_API_INFORMED_ABOUT_EXTENDED_APPLICATION,
self::EVENT_TYPE_CELLIT_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_RECURRENT_JOBS_SEARCH_ALL_JOBS_NOT_ENOUGH_RESULTS,
self::EVENT_TYPE_INFORMED_USER_ABOUT_UNREAD_INTEGRATED_EXTERNAL_PARTNER_CUSTOMER_PREMIUM_RADAR_MESSAGE_VIA_WHATSAPP,
self::EVENT_TYPE_USER_STARTED_APPLICATION_PROCESS,
self::EVENT_TYPE_USER_STARTED_PHONE_CALL,
self::EVENT_TYPE_RECURRENT_JOB_ADDED_TO_MEINESTADT_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_MEINESTADT_C_FEED,
self::EVENT_TYPE_JOBIJOBA_LINK_CLICKED,
self::EVENT_TYPE_RECURRENT_JOB_ADDED_TO_JOBIJOBA_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_JOBIJOBA_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_ADDED_TO_WHATJOBS_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_WHATJOBS_C_FEED,
self::EVENT_TYPE_WHATJOBS_LINK_CLICKED,
self::EVENT_TYPE_ADECCO_FEED_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_RECURRENT_JOB_COMPONENT_SUBSCRIPTION_WAS_RENEWED_NONCONSECUTIVELY,
self::EVENT_TYPE_BILLWERK_CONTRACT_ANNULLED,
self::EVENT_TYPE_JOOBLE_LINK_CLICKED,
self::EVENT_TYPE_RECURRENT_JOB_ADDED_TO_JOOBLE_C_FEED,
self::EVENT_TYPE_RECURRENT_JOB_REMOVED_FROM_JOOBLE_C_FEED,
self::EVENT_TYPE_LINKED_LINK_CLICKED,
self::EVENT_TYPE_TODO_ITEM_CREATED,
self::EVENT_TYPE_TODO_ITEM_MARKED_AS_DONE,
self::EVENT_TYPE_NEW_USER_EMAIL_ADDRESS_CONFIRMED,
self::EVENT_TYPE_INVOICE_EMAIL_EDITED,
self::EVENT_TYPE_JOBRADAR_MATCH_PINNED,
self::EVENT_TYPE_JOBRADAR_MATCH_UNPINNED,
self::EVENT_TYPE_JOBRADAR_MATCH_JOBSEEKER_INTERESTED,
self::EVENT_TYPE_JOBRADAR_MATCH_JOBSEEKER_DECLINED,
self::EVENT_TYPE_JOBRADAR_MATCH_JOBOFFERER_BLOCKED,
self::EVENT_TYPE_JOBRADAR_MATCH_JOBOFFERER_UNBLOCKED,
self::EVENT_TYPE_CLEARING_REQUEST_CREATED,
self::EVENT_TYPE_CLEARING_REQUEST_APPROVED,
self::EVENT_TYPE_CLEARING_REQUEST_REMOVED,
self::EVENT_TYPE_JOBSEEKER_MEMBERSHIP_SUCCESSFULLY_CREATED,
self::EVENT_TYPE_JOBSEEKER_MEMBERSHIP_CTA_TO_PAYMENT_FORM_WAS_CLICKED,
self::EVENT_TYPE_DIRECT_FORWARD_TO_GOOGLE_RATING_PAGE,
self::EVENT_TYPE_POTENTIAL_CUSTOMER_BUSINESS_INFO_CREATED,
self::EVENT_TYPE_DIRECT_FORWARD_TO_TRUSTPILOT_RATING_PAGE,
self::EVENT_TYPE_USER_HAS_CLICKED_RECURRENT_JOB_WEBSITE,
self::EVENT_TYPE_USER_HAS_CLICKED_MEMBERSHIP_BUTTON_FROM_RECURRENT_JOB_OVERVIEW,
self::EVENT_TYPE_USER_HAS_CLICKED_MEMBERSHIP_BUTTON_FROM_FIXED_BOTTOM_ALERT,
self::EVENT_TYPE_DIRECT_FORWARD_TO_JOBBOERSENCHECK_RATING_PAGE,
self::EVENT_TYPE_TERMS_AND_CONDITIONS_HAS_BEEN_ACCEPTED,
self::EVENT_TYPE_NEW_EXTERNALLY_INCOMING_APPLICATION_ACCEPTED,
self::EVENT_TYPE_NEW_WECLAPP_CONTRACT_INTEGRATED,
self::EVENT_TYPE_WECLAPP_CONTRACT_EDITED,
self::EVENT_TYPE_WECLAPP_CONTRACT_REMOVED,
self::EVENT_TYPE_DIRECT_FORWARD_TO_FACEBOOK_RATING_PAGE,
self::EVENT_TYPE_RECURRENT_JOB_DUPLICATED_BY_ADMIN,
self::EVENT_TYPE_STEPSTONE_FEED_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_RECURRENT_JOB_DUPLICATED_BY_ADMIN,
self::EVENT_TYPE_CONTRACT_CANCELLATION_FEEDBACK_SUBMITTED,
self::EVENT_TYPE_USER_MEMBERSHIP_PAUSE_REQUESTED,
self::EVENT_TYPE_USER_MEMBERSHIP_PAUSE_REMOVED,
self::EVENT_TYPE_COUPON_CODE_APPLY,
self::EVENT_TYPE_APETITO_FEED_RECURRENT_JOB_REMOVED,
self::EVENT_TYPE_JOBOFFERER_LINK_TO_PROJOBOODE_CLICKED,
self::EVENT_TYPE_JOBOFFERER_LINK_TO_PROJOBOODE_PRICE_CLICKED,
self::EVENT_TYPE_JOBOFFERER_LINK_TO_CONTENTJOBOODE_CLICKED,
self::EVENT_TYPE_JOBOFFERER_ONBOARDING_FINISHED,
self::EVENT_TYPE_WEBFLOW_PAGE_REQUEST_WITH_GOOGLE_ADS_DATA,
self::EVENT_TYPE_XING_FEED_RECURRENT_JOB_REMOVED
];
/**
* @throws Exception
*/
public function __construct(
int $eventType,
?string $additionalData
) {
if (!ReflectionHelper::hasConstWithValue(
self::class,
'EVENT_TYPE_',
$eventType
)) {
throw new ValueError("Unknown event type '$eventType'.");
}
$this->eventType = $eventType;
$this->additionalData = is_null($additionalData) ? null : mb_substr($additionalData, 0, 4096);
$this->occuredAt = DateTimeUtility::createDateTimeUtc();
}
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'CUSTOM')]
#[ORM\CustomIdGenerator(class: DatabaseIdGenerator::class)]
#[ORM\Column(
type : Types::GUID,
unique: true
)]
private ?string $id;
public function setId(string $id): void
{
GuidUtility::validOrThrow($id);
$this->id = $id;
}
public function getId(): ?string
{
return $this->id;
}
#[ORM\Column(
type : Types::SMALLINT,
nullable: false
)]
private int $eventType;
public function getEventType(): int
{
return $this->eventType;
}
/**
* @throws Exception
*/
public function getEventTypeTitle(): string
{
$refl = new ReflectionClass(BusinessEvent::class);
$constants = $refl->getConstants();
foreach ($constants as $constantName => $constantValue) {
if (substr($constantName, 0, 11) === 'EVENT_TYPE_' && $constantValue === $this->getEventType()) {
return strtolower(str_replace('_', '-', substr($constantName, 11)));
}
}
throw new Exception('Cannot resolve title for event type ' . $this->getEventType());
}
#[ORM\Column(
type : Types::DATETIME_MUTABLE,
nullable: false
)]
private DateTime $occuredAt;
public function setOccuredAt(DateTime $occuredAt): void
{
$this->occuredAt = $occuredAt;
}
public function getOccuredAt(): DateTime
{
return $this->occuredAt;
}
/**
* We don't make this a foreign key on purpose, we don't need the integrity and don't want to delete event data
* if a user is deleted.
*/
#[ORM\Column(
type : Types::GUID,
nullable: true
)]
private ?string $affectedUserId = null;
public function setAffectedUserId(?string $userId): void
{
GuidUtility::validOrThrow($userId, true);
$this->affectedUserId = $userId;
}
public function getAffectedUserId(): ?string
{
return $this->affectedUserId;
}
#[ORM\Column(
type : Types::BOOLEAN,
nullable: false
)]
private bool $affectedUserIsJobofferer = false;
public function setAffectedUserIsJobofferer(bool $affectedUserIsJobofferer): void
{
$this->affectedUserIsJobofferer = $affectedUserIsJobofferer;
}
public function getAffectedUserIsJobofferer(): bool
{
return $this->affectedUserIsJobofferer;
}
#[ORM\Column(
type : Types::BOOLEAN,
nullable: false
)]
private bool $affectedUserIsJobseeker = false;
public function setAffectedUserIsJobseeker(bool $affectedUserIsJobseeker): void
{
$this->affectedUserIsJobseeker = $affectedUserIsJobseeker;
}
public function getAffectedUserIsJobseeker(): bool
{
return $this->affectedUserIsJobseeker;
}
/**
* In order to show statistics related to the cohorte of all users registered on day X, we need this field.
*
* E.g. "from all user registered on 2018-04-07, how many deleted themselves later?"
*/
#[ORM\Column(
type : Types::DATETIME_MUTABLE,
nullable: true
)]
private ?DateTime $affectedUserRegisteredAt = null;
public function setAffectedUserRegisteredAt(?DateTime $affectedUserRegisteredAt): void
{
$this->affectedUserRegisteredAt = $affectedUserRegisteredAt;
}
public function getAffectedUserRegisteredAt(): ?DateTime
{
return $this->affectedUserRegisteredAt;
}
/**
* We don't make this a foreign key on purpose, we don't need the integrity and don't want to delete event data
* if a user is deleted.
*/
#[ORM\Column(
type : Types::GUID,
nullable: true
)]
private ?string $relatedRecurrentJobId = null;
public function setRelatedRecurrentJobId(?string $relatedRecurrentJobId = null): void
{
GuidUtility::validOrThrow($relatedRecurrentJobId, true);
$this->relatedRecurrentJobId = $relatedRecurrentJobId;
}
public function getRelatedRecurrentJobId(): ?string
{
return $this->relatedRecurrentJobId;
}
/**
* We don't make this a foreign key on purpose, we don't need the integrity and don't want to delete event data
* if a user is deleted.
*/
#[ORM\Column(
type : Types::GUID,
nullable: true
)]
private ?string $relatedWantedJobId = null;
public function setRelatedWantedJobId(?string $relatedWantedJobId = null): void
{
GuidUtility::validOrThrow($relatedWantedJobId, true);
$this->relatedWantedJobId = $relatedWantedJobId;
}
public function getRelatedWantedJobId(): ?string
{
return $this->relatedWantedJobId;
}
#[ORM\Column(
type : Types::TEXT,
length : 4096,
nullable: true
)]
private ?string $additionalData;
public function getAdditionalData(): ?string
{
return $this->additionalData;
}
#[ORM\Column(
type : Types::TEXT,
length : 256,
nullable: true
)]
private ?string $requestId = null;
public function setRequestId(?string $requestId = null): void
{
$this->requestId = $requestId;
}
public function getRequestId(): ?string
{
return $this->requestId;
}
#[ORM\Column(
type : Types::TEXT,
length : 256,
nullable: true
)]
private ?string $sessionId = null;
public function setSessionId(?string $sessionId = null): void
{
$this->sessionId = $sessionId;
}
public function getSessionId(): ?string
{
return $this->sessionId;
}
#[ORM\Column(
type : Types::TEXT,
length : 64,
nullable: true
)]
private ?string $clientId = null;
public function setClientId(?string $clientId = null): void
{
$this->clientId = $clientId;
}
public function getClientId(): ?string
{
return $this->clientId;
}
#[ORM\Column(
type : Types::BOOLEAN,
nullable: false
)]
private bool $isMeerbuschOfficeRequest = false;
public function getIsMeerbuschOfficeRequest(): bool
{
return $this->isMeerbuschOfficeRequest;
}
public function setIsMeerbuschOfficeRequest(bool $isMeerbuschOfficeRequest): void
{
$this->isMeerbuschOfficeRequest = $isMeerbuschOfficeRequest;
}
#[ORM\Column(
type : Types::BOOLEAN,
nullable: true
)]
private ?bool $isProbablyBotRequest = null;
public function getIsProbablyBotRequest(): ?bool
{
return $this->isProbablyBotRequest;
}
public function setIsProbablyBotRequest(?bool $isProbablyBotRequest): void
{
$this->isProbablyBotRequest = $isProbablyBotRequest;
}
}