function getSearchOptions()
{
$tab = array();
$tab['common'] = __('Characteristics');
$tab[1]['table'] = $this->getTable();
$tab[1]['field'] = 'completename';
$tab[1]['name'] = __('Complete name');
$tab[1]['datatype'] = 'itemlink';
$tab[1]['massiveaction'] = false;
$tab[2]['table'] = $this->getTable();
$tab[2]['field'] = 'id';
$tab[2]['name'] = __('ID');
$tab[2]['massiveaction'] = false;
$tab[2]['datatype'] = 'number';
$tab[14]['table'] = $this->getTable();
$tab[14]['field'] = 'name';
$tab[14]['name'] = __('Name');
$tab[14]['datatype'] = 'itemlink';
$tab[14]['massiveaction'] = false;
$tab[3]['table'] = $this->getTable();
$tab[3]['field'] = 'address';
$tab[3]['name'] = __('Address');
$tab[3]['massiveaction'] = false;
$tab[3]['datatype'] = 'text';
$tab[4]['table'] = $this->getTable();
$tab[4]['field'] = 'website';
$tab[4]['name'] = __('Website');
$tab[4]['massiveaction'] = false;
$tab[4]['datatype'] = 'string';
$tab[5]['table'] = $this->getTable();
$tab[5]['field'] = 'phonenumber';
$tab[5]['name'] = __('Phone');
$tab[5]['massiveaction'] = false;
$tab[5]['datatype'] = 'string';
$tab[6]['table'] = $this->getTable();
$tab[6]['field'] = 'email';
$tab[6]['name'] = _n('Email', 'Emails', 1);
$tab[6]['datatype'] = 'email';
$tab[6]['massiveaction'] = false;
$tab[10]['table'] = $this->getTable();
$tab[10]['field'] = 'fax';
$tab[10]['name'] = __('Fax');
$tab[10]['massiveaction'] = false;
$tab[10]['datatype'] = 'string';
$tab[25]['table'] = $this->getTable();
$tab[25]['field'] = 'postcode';
$tab[25]['name'] = __('Postal code');
$tab[25]['datatype'] = 'string';
$tab[11]['table'] = $this->getTable();
$tab[11]['field'] = 'town';
$tab[11]['name'] = __('City');
$tab[11]['massiveaction'] = false;
$tab[11]['datatype'] = 'string';
$tab[12]['table'] = $this->getTable();
$tab[12]['field'] = 'state';
$tab[12]['name'] = _x('location', 'State');
$tab[12]['massiveaction'] = false;
$tab[12]['datatype'] = 'string';
$tab[13]['table'] = $this->getTable();
$tab[13]['field'] = 'country';
$tab[13]['name'] = __('Country');
$tab[13]['massiveaction'] = false;
$tab[13]['datatype'] = 'string';
$tab[16]['table'] = $this->getTable();
$tab[16]['field'] = 'comment';
$tab[16]['name'] = __('Comments');
$tab[16]['datatype'] = 'text';
$tab[122]['table'] = $this->getTable();
$tab[122]['field'] = 'date_mod';
$tab[122]['name'] = __('Last update');
$tab[122]['datatype'] = 'datetime';
$tab[122]['massiveaction'] = false;
$tab[121]['table'] = $this->getTable();
$tab[121]['field'] = 'date_creation';
$tab[121]['name'] = __('Creation date');
$tab[121]['datatype'] = 'datetime';
$tab[121]['massiveaction'] = false;
// add objectlock search options
$tab += ObjectLock::getSearchOptionsToAdd(get_class($this));
$tab += Notepad::getSearchOptionsToAdd();
$tab['advanced'] = __('Advanced information');
$tab[7]['table'] = $this->getTable();
$tab[7]['field'] = 'ldap_dn';
$tab[7]['name'] = __('LDAP directory information attribute representing the entity');
$tab[7]['massiveaction'] = false;
$tab[7]['datatype'] = 'string';
$tab[8]['table'] = $this->getTable();
$tab[8]['field'] = 'tag';
$tab[8]['name'] = __('Information in inventory tool (TAG) representing the entity');
$tab[8]['massiveaction'] = false;
$tab[8]['datatype'] = 'string';
$tab[9]['table'] = 'glpi_authldaps';
$tab[9]['field'] = 'name';
$tab[9]['name'] = __('LDAP directory of an entity');
$tab[9]['massiveaction'] = false;
$tab[9]['datatype'] = 'dropdown';
$tab[17]['table'] = $this->getTable();
$tab[17]['field'] = 'entity_ldapfilter';
$tab[17]['name'] = __('Search filter (if needed)');
$tab[17]['massiveaction'] = false;
$tab[17]['datatype'] = 'string';
$tab[20]['table'] = $this->getTable();
$tab[20]['field'] = 'mail_domain';
$tab[20]['name'] = __('Mail domain');
$tab[20]['massiveaction'] = false;
$tab[20]['datatype'] = 'string';
$tab['notif'] = __('Notification options');
$tab[60]['table'] = $this->getTable();
$tab[60]['field'] = 'delay_send_emails';
$tab[60]['name'] = __('Delay to send email notifications');
$tab[60]['massiveaction'] = false;
$tab[60]['nosearch'] = true;
$tab[60]['datatype'] = 'number';
$tab[60]['min'] = 0;
$tab[60]['max'] = 60;
$tab[60]['step'] = 1;
$tab[60]['unit'] = 'minute';
$tab[60]['toadd'] = array(self::CONFIG_PARENT => __('Inheritance of the parent entity'));
$tab[61]['table'] = $this->getTable();
$tab[61]['field'] = 'is_notif_enable_default';
$tab[61]['name'] = __('Enable notifications by default');
$tab[61]['massiveaction'] = false;
$tab[61]['nosearch'] = true;
$tab[61]['datatype'] = 'string';
$tab[18]['table'] = $this->getTable();
$tab[18]['field'] = 'admin_email';
$tab[18]['name'] = __('Administrator email');
$tab[18]['massiveaction'] = false;
$tab[18]['datatype'] = 'string';
$tab[19]['table'] = $this->getTable();
$tab[19]['field'] = 'admin_reply';
$tab[19]['name'] = __('Administrator reply-to email (if needed)');
$tab[19]['massiveaction'] = false;
$tab[19]['datatype'] = 'string';
$tab[21]['table'] = $this->getTable();
$tab[21]['field'] = 'notification_subject_tag';
$tab[21]['name'] = __('Prefix for notifications');
$tab[21]['datatype'] = 'string';
$tab[22]['table'] = $this->getTable();
$tab[22]['field'] = 'admin_email_name';
$tab[22]['name'] = __('Administrator name');
$tab[22]['datatype'] = 'string';
$tab[23]['table'] = $this->getTable();
$tab[23]['field'] = 'admin_reply_name';
$tab[23]['name'] = __('Response address (if needed)');
$tab[23]['datatype'] = 'string';
$tab[24]['table'] = $this->getTable();
$tab[24]['field'] = 'mailing_signature';
$tab[24]['name'] = __('Email signature');
$tab[24]['datatype'] = 'text';
$tab[26]['table'] = $this->getTable();
$tab[26]['field'] = 'cartridges_alert_repeat';
$tab[26]['name'] = __('Alarms on cartridges');
$tab[26]['massiveaction'] = false;
$tab[26]['nosearch'] = true;
$tab[26]['datatype'] = 'specific';
$tab[27]['table'] = $this->getTable();
$tab[27]['field'] = 'consumables_alert_repeat';
$tab[27]['name'] = __('Alarms on consumables');
$tab[27]['massiveaction'] = false;
$tab[27]['nosearch'] = true;
$tab[27]['datatype'] = 'specific';
$tab[29]['table'] = $this->getTable();
$tab[29]['field'] = 'use_licenses_alert';
$tab[29]['name'] = __('Alarms on expired licenses');
$tab[29]['massiveaction'] = false;
$tab[29]['nosearch'] = true;
$tab[29]['datatype'] = 'specific';
$tab[53]['table'] = $this->getTable();
$tab[53]['field'] = 'send_licenses_alert_before_delay';
$tab[53]['name'] = __('Send license alarms before');
$tab[53]['massiveaction'] = false;
$tab[53]['nosearch'] = true;
$tab[53]['datatype'] = 'specific';
$tab[30]['table'] = $this->getTable();
$tab[30]['field'] = 'use_contracts_alert';
$tab[30]['name'] = __('Alarms on contracts');
$tab[30]['massiveaction'] = false;
$tab[30]['nosearch'] = true;
$tab[30]['datatype'] = 'specific';
$tab[54]['table'] = $this->getTable();
$tab[54]['field'] = 'send_contracts_alert_before_delay';
$tab[54]['name'] = __('Send contract alarms before');
$tab[54]['massiveaction'] = false;
$tab[54]['nosearch'] = true;
$tab[54]['datatype'] = 'specific';
$tab[31]['table'] = $this->getTable();
$tab[31]['field'] = 'use_infocoms_alert';
$tab[31]['name'] = __('Alarms on financial and administrative information');
$tab[31]['massiveaction'] = false;
$tab[31]['nosearch'] = true;
$tab[31]['datatype'] = 'specific';
$tab[55]['table'] = $this->getTable();
$tab[55]['field'] = 'send_infocoms_alert_before_delay';
$tab[55]['name'] = __('Send financial and administrative information alarms before');
$tab[55]['massiveaction'] = false;
$tab[55]['nosearch'] = true;
$tab[55]['datatype'] = 'specific';
$tab[32]['table'] = $this->getTable();
$tab[32]['field'] = 'use_reservations_alert';
$tab[32]['name'] = __('Alerts on reservations');
$tab[32]['massiveaction'] = false;
$tab[32]['nosearch'] = true;
$tab[32]['datatype'] = 'specific';
$tab[48]['table'] = $this->getTable();
$tab[48]['field'] = 'default_contract_alert';
$tab[48]['name'] = __('Default value for alarms on contracts');
$tab[48]['massiveaction'] = false;
$tab[48]['nosearch'] = true;
$tab[48]['datatype'] = 'specific';
$tab[49]['table'] = $this->getTable();
$tab[49]['field'] = 'default_infocom_alert';
$tab[49]['name'] = __('Default value for alarms on financial and administrative information');
$tab[49]['massiveaction'] = false;
$tab[49]['nosearch'] = true;
$tab[49]['datatype'] = 'specific';
$tab[50]['table'] = $this->getTable();
$tab[50]['field'] = 'default_cartridges_alarm_threshold';
$tab[50]['name'] = __('Default threshold for cartridges count');
$tab[50]['massiveaction'] = false;
$tab[50]['nosearch'] = true;
$tab[50]['datatype'] = 'number';
$tab[52]['table'] = $this->getTable();
$tab[52]['field'] = 'default_consumables_alarm_threshold';
$tab[52]['name'] = __('Default threshold for consumables count');
$tab[52]['massiveaction'] = false;
$tab[52]['nosearch'] = true;
$tab[52]['datatype'] = 'number';
$tab['helpdesk'] = __('Assistance');
$tab[47]['table'] = $this->getTable();
$tab[47]['field'] = 'tickettemplates_id';
// not a dropdown because of special value
$tab[47]['name'] = _n('Ticket template', 'Ticket templates', 1);
$tab[47]['massiveaction'] = false;
$tab[47]['nosearch'] = true;
$tab[47]['datatype'] = 'specific';
$tab[33]['table'] = $this->getTable();
$tab[33]['field'] = 'autoclose_delay';
$tab[33]['name'] = __('Automatic closing of solved tickets after');
$tab[33]['massiveaction'] = false;
$tab[33]['nosearch'] = true;
$tab[33]['datatype'] = 'number';
$tab[33]['min'] = 1;
$tab[33]['max'] = 99;
$tab[33]['step'] = 1;
$tab[33]['unit'] = 'day';
$tab[33]['toadd'] = array(self::CONFIG_PARENT => __('Inheritance of the parent entity'), self::CONFIG_NEVER => __('Never'), 0 => __('Immediatly'));
$tab[34]['table'] = $this->getTable();
$tab[34]['field'] = 'notclosed_delay';
$tab[34]['name'] = __('Alerts on tickets which are not solved');
$tab[34]['massiveaction'] = false;
$tab[34]['nosearch'] = true;
$tab[34]['datatype'] = 'specific';
$tab[35]['table'] = $this->getTable();
$tab[35]['field'] = 'auto_assign_mode';
$tab[35]['name'] = __('Automatic assignment of tickets');
$tab[35]['massiveaction'] = false;
$tab[35]['nosearch'] = true;
$tab[35]['datatype'] = 'specific';
$tab[36]['table'] = $this->getTable();
$tab[36]['field'] = 'calendars_id';
// not a dropdown because of special value
$tab[36]['name'] = __('Calendar');
$tab[36]['massiveaction'] = false;
$tab[36]['nosearch'] = true;
$tab[36]['datatype'] = 'specific';
$tab[37]['table'] = $this->getTable();
$tab[37]['field'] = 'tickettype';
$tab[37]['name'] = __('Tickets default type');
$tab[37]['massiveaction'] = false;
$tab[37]['nosearch'] = true;
$tab[37]['datatype'] = 'specific';
$tab['helpdesk'] = __('Assets');
$tab[38]['table'] = $this->getTable();
$tab[38]['field'] = 'autofill_buy_date';
$tab[38]['name'] = __('Date of purchase');
$tab[38]['massiveaction'] = false;
$tab[38]['nosearch'] = true;
$tab[38]['datatype'] = 'specific';
$tab[39]['table'] = $this->getTable();
$tab[39]['field'] = 'autofill_order_date';
$tab[39]['name'] = __('Order date');
$tab[39]['massiveaction'] = false;
$tab[39]['nosearch'] = true;
$tab[39]['datatype'] = 'specific';
$tab[40]['table'] = $this->getTable();
$tab[40]['field'] = 'autofill_delivery_date';
$tab[40]['name'] = __('Delivery date');
$tab[40]['massiveaction'] = false;
$tab[40]['nosearch'] = true;
$tab[40]['datatype'] = 'specific';
$tab[41]['table'] = $this->getTable();
$tab[41]['field'] = 'autofill_use_date';
$tab[41]['name'] = __('Startup date');
$tab[41]['massiveaction'] = false;
$tab[41]['nosearch'] = true;
$tab[41]['datatype'] = 'specific';
$tab[42]['table'] = $this->getTable();
$tab[42]['field'] = 'autofill_warranty_date';
$tab[42]['name'] = __('Start date of warranty');
$tab[42]['massiveaction'] = false;
$tab[42]['nosearch'] = true;
$tab[42]['datatype'] = 'specific';
$tab[43]['table'] = $this->getTable();
$tab[43]['field'] = 'inquest_config';
$tab[43]['name'] = __('Satisfaction survey configuration');
$tab[43]['massiveaction'] = false;
$tab[43]['nosearch'] = true;
$tab[43]['datatype'] = 'specific';
$tab[44]['table'] = $this->getTable();
$tab[44]['field'] = 'inquest_rate';
$tab[44]['name'] = __('Satisfaction survey trigger rate');
$tab[44]['massiveaction'] = false;
$tab[44]['datatype'] = 'number';
$tab[45]['table'] = $this->getTable();
$tab[45]['field'] = 'inquest_delay';
$tab[45]['name'] = __('Create survey after');
$tab[45]['massiveaction'] = false;
$tab[45]['datatype'] = 'number';
$tab[46]['table'] = $this->getTable();
$tab[46]['field'] = 'inquest_URL';
$tab[46]['name'] = __('URL');
$tab[46]['massiveaction'] = false;
$tab[46]['datatype'] = 'string';
$tab[51]['table'] = $this->getTable();
$tab[51]['field'] = 'entities_id_software';
// not a dropdown because of special value
//TRANS: software in plural
$tab[51]['name'] = __('Entity for software creation');
$tab[51]['massiveaction'] = false;
$tab[51]['nosearch'] = true;
$tab[51]['datatype'] = 'specific';
$tab[56]['table'] = $this->getTable();
$tab[56]['field'] = 'autofill_decommission_date';
$tab[56]['name'] = __('Decommission date');
$tab[56]['massiveaction'] = false;
$tab[56]['nosearch'] = true;
$tab[56]['datatype'] = 'specific';
return $tab;
}