person Table (6)

Persons

Fields

NameDescriptionTypeNull
person_idPrimary keyPK
contact_idOwning contact IDFK contact
rankDisplay sort sequence for default sort orderUShort
lastnameLast nameString(99)
firstnameFirst nameString(99)
mrmrse.g. Mrs sex_titleString(239)
titleTitleString(239)
text_idInfo tab contentsFK text
position_idxLink to Position listFK PersPos
year_of_birthBirth year (4 digit), 0 if not specifedUShort
month_of_birthBirth month (1-12), 0 if not specifiedUShort
day_of_birthBirth date (day of month), 0 if not specifiedUShort
phone_presentflag to show there are phone registrationsUShort
userdef_idUser defined table record 1FK udpersonSmall
registeredRegistered dateUtcDateTime
registered_associate_idRegistered by whomFK associate
updatedLast updated dateUtcDateTime
updated_associate_idLast updated by whomFK associate
person_numberAlphanumeric user fieldString(49)
kanalnameKana last name, used in Japanese versions onlyString(99)
kanafnameKana last name, used in Japanese versions onlyString(99)
post1Postal address, used in Japanese versions onlyString(99)
post2Postal address, used in Japanese versions onlyString(99)
post3Postal address, used in Japanese versions onlyString(99)
usepersonaddressIf 1, use person’s address for mailing instead of company addressUShort
middleNameMiddle name or ‘van’ etc.String(99)
sourceHow did we get this person? For future integration needsUShort
nomailingDo not send DM’s to this personBool
country_idCountryFK country
userdef2_idUser defined table record 2FK udpersonLarge
retired1 = the user is retired and should have no rights, not appear in lists, etc.UShort
activeInterestsNumber of records in pintr table; select count(*) from pintr pi where pi.person_id = this.person_id == activeInterests is always trueUShort
updatedCountNumber of times updatedUShort
associate_idOur contact, if this is a B2C person, otherwise mirror of contact.assoc_idId
group_idOur contact’s original group, if this is a B2C person, otherwise mirror of contact.group_idId
salutationAcademic title, populated from Salutation list but can be overwritten with anything at allString(239)
departmentInternal department addressString(254)
initialsWhere Pierre van Mever becomes P. van Mever. Actually, initials to be used in formal addresses, mostly in the Ducth marketString(63)
genderMale/female. No jokes please. To be used for selecting correct salutations & grammar. 0 = unknown, 1 = female, 2 = maleEnum PersonGender
business_idxBusiness if this is a B2C person, otherwise mirror of contact.business_idxFK Business
category_idxCategory if this is a B2C person, otherwise mirror of contact.category_idxFK Category
tzLocationIdDefault timezone location for this personFK TZLocation
sentInfoHas information on username/password been sent (ejournal)UShort
showContactTicketsShould tickets related to the company be shown to this personUShort
ticketPriorityIdDefault ticket priority for new ticketsFK ticket_priority
supportLanguageIdCustomers language (does not necessarily map to ISO languages)FK cust_lang
supportAssociateIdOur contact, but for support context, not sales/primary contactFK associate
dbi_agent_idIntegration agent (eJournal)FK dbi_agent
dbi_keyThe primary key for the integrated entry in the external datasource.String(255)
dbi_last_syncronizedLast external syncronization.DateTime
dbi_last_modifiedWhen the entry was last modified.DateTime
blockEmarketingDo not send E-marketing materials to this personBool
activeErpLinksThe number of Erp Sync connections this record is synced with; count of the ErpExternalKey+ErpInternalKey relationsInt
DeletedDateDatetime (utc) when this record was soft-deleted; if this value is set then the record should not be shownUtcDateTime
created_by_form_idThe form this person was created byFK form
modified_by_workflow_idThe workflow this person last was modified byFK workflow
modified_by_workflow_whenWhen the workflow modified this personUtcDateTime
leadstatus_idRefinement of categories of lead type. Empty if the category is not a lead type. If this person has a contact, the leadstatus is from the contact and not editable on the personFK leadstatus

person table relationship diagram

Indexes

FieldsTypesDescription
person_idPKClustered, Unique
contact_idFKIndex
lastnameString(99)Index
firstnameString(99)Index
userdef_idFKIndex
person_numberString(49)Index
kanalnameString(99)Index
kanafnameString(99)Index
sourceUShortIndex
userdef2_idFKIndex
business_idxFKIndex
category_idxFKIndex
dbi_agent_idFKIndex
dbi_keyString(255)Index
dbi_last_syncronizedDateTimeIndex
dbi_last_modifiedDateTimeIndex
contact_id, rankFK, UShortIndex
middleNameString(99)Index
DeletedDateUtcDateTimeIndex
created_by_form_idFKIndex
modified_by_workflow_idFKIndex
leadstatus_idFKIndex

Relationships

TableDescription
addressContact and Person addresses
appointmentTasks, appointments, followups, phone calls; and documents (document_id != 0). An appointment always has a corresponding record in VisibleFor specifying who may see this.
associateEmployees, resources and other users - except for External persons
BusinessBusiness list table
CategoryCategory list table
chat_sessionThis table contains chat sessions.
ConsentPersonLink table that defines who has which consents
contactCompanies and Organizations.
CounterValueVisible for rights
countryCountry information
CredentialsAlternative credentials
cust_langThis table contains entries for customer languages.
dbi_agentDBI agent settings
ej_messageThis table contains the messages listed under tickets.
EmailEmail addresses for contacts, projects and persons
email_itemEmail data
formA form which can be published on a webpage and submitted by visitors
form_submissionA form submission
invoiceThis table contains invoice entries, normally created when an invoice is sent to a customer, and we want to update the balance.
invoice_sumThis table is used temporarily when listing invoice statistics. It is used because we need to sort balances from both customers and companies.
kb_entry_commentComments to entries in the knowledge base, typically made by customers
leadstatusList items of lead status that is selectable for contacts and persons that have specific category
login_customerThis table contains entries for customer sessions. At first only used for Soap logins, but will later also be used for web logins
message_customersThis table contains all cutomers who are involved in a message
notifyThis table contains the pop-up messages displayed for users for various events, such as 'new ticket', etc.
personinterestNote: If you add or remove rows in this table, you will need to update the interestCount field in the person table accordingly. This field should always reflect the number of interest records a person has, to enable the correct setting of the interest indicator on the tab in the person dialog. Replication note: The combination of person_id and pinterest_idx is unique. If a duplicate is made on a replicated database, the system will replace the record in the target database with the one derived from the source database during replication. Therefore, do not assume that a record in this table will retain its ID indefinitely, even if the person keeps the interest.
PersPosPersPos list table. Contact person position list
phoneContact and Person phonenumbers (+fax)
projectmemberProject members. Link-table between person and project
s_bounce_shipmentEmail bounces from customers
s_link_customerA connection between a customer and a link. Registered customers are identified when clicking on a link
s_list_customerElements in a customer list.
s_sent_messageEmarketeer message control
s_shipment_addrAddresses that are ready to be sent in a shipment.
saleSales For every Sale record edited through the SuperOffice GUI, a copy of the current version of the record will be saved in the SaleHist table. This also applies to editing done through the SaleModel COM interface, but not to editing done through the OLE DB Provider or other channels.
SaleHistMirror image of the Sale table, providing a full transaction history. Every time you edit a sale, the current record of the sale is also saved here.
SaleStakeholderStakeholders in the sale, very similar to project members
selectionmemberSelection detail table Each row in a selection is represented by one record in this table. Contact_id is always filled in, person_id is optional, but if used, must point to a person belonging to the contact in contact_id.
ShipmentTypeReservationShipmentTypes a person has reserved against. Note that the absense of a record here implies acceptance of a mailings of this type
smsThis table will hold outgoing sms messages when transmitted with WebServices
StatusValueValues for statuses
TemporaryKeyTemporary keys for lightweight authentications such as changing ones subscriptions
textLong text fields from all over the system
ticketThis table contains the tickets (requests) of the system. Its purpose should be evident.
ticket_customersThis table allows several customers to be connected to several tickets (many-to-many)
ticket_log_actionThis table contains actions for the tickets.
ticket_priorityThis table contains the ticket priorities.
TZLocationTime zone location
udpersonLargeUser-defined fields
udpersonSmallUser-defined fields
URLUnified Resource Locators, URL to contacts, persons or projects.
user_candidateThis table will hold user candidate secrets
utm_parametersTable for utm parameters collected from visits and formsubmissions
workflowSuperOffice specific info about a workflow
workflow_instanceA set of properties related to the workflow instance of one participant going through the flow

Replication Flags

  • Area Management controlled table. Contents replicated to satellites and traveller databases.
  • Replicate changes UP from satellites and travellers back to central.
  • Copy to satellite and travel prototypes.
  • Cache table during filtering.

Security Flags

  • Sentry controls access to items in this table using user’s Role and data rights matrix.