Table : contacts

This table contains GDPR identifiers

Raw table description

Fields

id id

{
  "name": "id",
  "type": "primaryKey"
}

identifier G

{
  "name": "identifier",
  "type": "text",
  "maxLength": 60,
  "hint": {
    "gdpr": "identifier"
  }
}

extraIdentifier

{
  "name": "extraIdentifier",
  "type": "text",
  "maxLength": 60
}

externalIdentifier

{
  "name": "externalIdentifier",
  "type": "text",
  "maxLength": 150
}

firstName M

{
  "name": "firstName",
  "type": "text",
  "maxLength": 60,
  "mandatory": "true"
}

lastName M

{
  "name": "lastName",
  "type": "text",
  "maxLength": 60,
  "mandatory": "true"
}

co

{
  "name": "co",
  "type": "text",
  "maxLength": 100
}

gender E

{
  "name": "gender",
  "type": "enum",
  "enums": [
    "ENUMS_GENDER_WOMAN (Kvinna)",
    "ENUMS_GENDER_MAN (Man)",
    "ENUMS_GENDER_UNDEFINED (Okänt)"
  ]
}

companyName

{
  "name": "companyName",
  "type": "text",
  "maxLength": 120
}

streetAddress

{
  "name": "streetAddress",
  "type": "text",
  "maxLength": 100
}

postalCode

{
  "name": "postalCode",
  "type": "text",
  "maxLength": 20
}

city

{
  "name": "city",
  "type": "text",
  "maxLength": 100
}

email G

{
  "name": "email",
  "type": "text",
  "maxLength": 80,
  "hint": {
    "gdpr": "identifier"
  }
}

phoneNumber G

{
  "name": "phoneNumber",
  "type": "text",
  "maxLength": 25,
  "hint": {
    "gdpr": "identifier"
  }
}

homePhoneNumber

{
  "name": "homePhoneNumber",
  "type": "text",
  "maxLength": 25
}

faxNumber

{
  "name": "faxNumber",
  "type": "text",
  "maxLength": 25
}

websiteUrl

{
  "name": "websiteUrl",
  "type": "text",
  "maxLength": 150
}

createdDate

{
  "name": "createdDate",
  "type": "timestamp"
}

createdByUserId  → userAccounts

{
  "name": "createdByUserId",
  "type": "foreignKey",
  "table": "userAccounts",
  "schema": "mspx_admin"
}

description

{
  "name": "description",
  "type": "text"
}

countryId  → countries

{
  "name": "countryId",
  "type": "foreignKey",
  "table": "countries",
  "schema": "mspx_admin"
}

registeredResidenceCountryId  → countries

{
  "name": "registeredResidenceCountryId",
  "type": "foreignKey",
  "table": "countries",
  "schema": "mspx_admin"
}

passportNumber G

{
  "name": "passportNumber",
  "type": "text",
  "maxLength": 20,
  "hint": {
    "gdpr": "identifier"
  }
}

birthDate

{
  "name": "birthDate",
  "type": "date"
}

shouldBeContactedDate   (When the contact should be contacted next)

{
  "name": "shouldBeContactedDate",
  "type": "date",
  "note": "When the contact should be contacted next"
}

timelinessDate   (When the contact was last contacted)

{
  "name": "timelinessDate",
  "type": "date",
  "note": "When the contact was last contacted"
}

isLegalEntity bit

{
  "name": "isLegalEntity",
  "type": "bit"
}

languageId  → languages

{
  "name": "languageId",
  "type": "foreignKey",
  "table": "languages",
  "schema": "mspx_admin"
}

PUL bit

{
  "name": "PUL",
  "type": "bit"
}

noCommercialInformation bit

{
  "name": "noCommercialInformation",
  "type": "bit"
}

fullNameAuthorizedToSignForCompany

{
  "name": "fullNameAuthorizedToSignForCompany",
  "type": "text",
  "maxLength": 60
}

authorizedToSignForCompanyControlledBy E

{
  "name": "authorizedToSignForCompanyControlledBy",
  "type": "enum",
  "enums": [
    "ENUMS_CONTACTS_COMPANY_CONTROLLED_BY_EXTRACT_FROM_TRADE_REGISTER (Utdrag från bolagsverket)",
    "ENUMS_CONTACTS_COMPANY_CONTROLLED_BY_ANNUAL_GENERAL_MEETING (Protokoll från bolagsstämma)"
  ]
}

newDevelopmentDealId  → deals  (If set, the contact is bound to the deal. And will only be displayed on that deal.)

{
  "name": "newDevelopmentDealId",
  "type": "foreignKey",
  "table": "deals",
  "note": "If set, the contact is bound to the deal. And will only be displayed on that deal."
}

housingAssociationId  → housingAssociations  (If set, the contact is bound to the housingAssociation. And will only be displayed on that housingAssociation.)

{
  "name": "housingAssociationId",
  "type": "foreignKey",
  "table": "housingAssociations",
  "note": "If set, the contact is bound to the housingAssociation. And will only be displayed on that housingAssociation."
}

isExternalContact bit

{
  "name": "isExternalContact",
  "type": "bit"
}

externalId

{
  "name": "externalId",
  "type": "text",
  "maxLength": 100
}

tags

{
  "name": "tags",
  "type": "text",
  "maxLength": 100
}

ignoreDuplicateCheck bit

{
  "name": "ignoreDuplicateCheck",
  "type": "bit"
}

isDeceased bit

{
  "name": "isDeceased",
  "type": "bit"
}

hasSecretIdentity bit

{
  "name": "hasSecretIdentity",
  "type": "bit"
}

contactSecretIdentityId  → contactSecretIdentities

{
  "name": "contactSecretIdentityId",
  "type": "foreignKey",
  "table": "contactSecretIdentities"
}

isIdentifierVerified bit

{
  "name": "isIdentifierVerified",
  "type": "bit",
  "readOnly": true
}

invoiceAddress

{
  "name": "invoiceAddress",
  "type": "text"
}

gdprForgottenDate

{
  "name": "gdprForgottenDate",
  "type": "date"
}

gdprLatestExport

{
  "name": "gdprLatestExport",
  "type": "date"
}

gdprApprovalDate

{
  "name": "gdprApprovalDate",
  "type": "date"
}

gdprValidUntil

{
  "name": "gdprValidUntil",
  "type": "date"
}

gdprFlaggedForInvestigationDate

{
  "name": "gdprFlaggedForInvestigationDate",
  "type": "date"
}

gdprReminderToApproveDate

{
  "name": "gdprReminderToApproveDate",
  "type": "date"
}

gdprInformationSendDate

{
  "name": "gdprInformationSendDate",
  "type": "date"
}

gdprDirectMarketingAllowedUntil

{
  "name": "gdprDirectMarketingAllowedUntil",
  "type": "date"
}

userAccountId  → userAccounts  (userAccount points to a contact and contact points to a userAccount. Two way bind.)

{
  "name": "userAccountId",
  "type": "foreignKey",
  "table": "userAccounts",
  "schema": "mspx_admin",
  "unique": true,
  "readOnly": true,
  "note": "userAccount points to a contact and contact points to a userAccount. Two way bind."
}

title

{
  "name": "title",
  "type": "text",
  "maxLength": 20
}

initials

{
  "name": "initials",
  "type": "text",
  "maxLength": 6
}

alias   (Only used for contacts that are systemUsers)

{
  "name": "alias",
  "type": "text",
  "maxLength": 3,
  "note": "Only used for contacts that are systemUsers"
}

profilePictureId  → files

{
  "name": "profilePictureId",
  "type": "foreignKey",
  "table": "files"
}

isRegisteredBrokerAtFMI bit

{
  "name": "isRegisteredBrokerAtFMI",
  "type": "bit",
  "note": ""
}

workTitle

{
  "name": "workTitle",
  "type": "text",
  "maxLength": 60
}

isPublished bit  (Used to mark brokers that should be displayed on website)

{
  "name": "isPublished",
  "type": "bit",
  "note": "Used to mark brokers that should be displayed on website"
}

presentation   (Text to be displayed with the broker on website)

{
  "name": "presentation",
  "type": "text",
  "note": "Text to be displayed with the broker on website"
}

updatedDate

{
  "name": "updatedDate",
  "type": "updated"
}

Collections

[
  "bankAccountRoles",
  "bankAccounts",
  "buyers",
  "contactInformation",
  "contactOrganizationUnits",
  "files",
  "matchings",
  "sellers",
  "teamRoles"
]

Unique Fields

 The fields identifier and newDevelopmentDealId together.
 The fields extraIdentifier and newDevelopmentDealId together.
 The fields identifier and housingAssociationId together.
 The fields extraIdentifier and housingAssociationId together.

Referenced by

bankAccountRoles as contactId
buyers as contactId
commissionCuts as contactId
communicateContacts as contactId
communicationContacts as contactId
companyContacts as companyContactId, employeeContactId (connection table looping back)
contactBankAccounts as contactId (connection table to bankAccounts via bankAccountId)
contactComments as contactId (connection table to comments via commentId)
contactContactInformation as contactId (connection table to contactInformation via contactInformationId)
contactLogs as contactId
contactMatchings as contactId (connection table to matchings via matchingId)
contactOrganizationUnits as contactId (connection table to organizationUnits via organizationUnitId)
contactSignatures as contactId
contactSmsNumbers as contactId
dealContacts as contactId
dealReceipts as recipientContactId, signeeContactId
deals as mainBrokerContactId, accessOfficerContactId, accessLocationContactId, buyerAccessOfficerContactId, buyerAccessLocationContactId
emailContacts as contactId
filesInContacts as contactId (connection table to files via fileId)
formInvitationContacts as contactId
housingAssociationContacts as contactId
housingAssociations as updatedByContactId
incomingSmsContacts as contactId
invoices as referenceContactId, recipientContactId
letters as senderContactId, recipientContactId
marketValuationCustomers as contactId (connection table to marketValuations via marketValuationId)
marketValuations as officerContactId
outgoingEmails as contactId
outgoingSms as contactId
sellers as contactId
servicesInDeals as contactId
teamRoles as contactId
versionContactSignatures as contactId
viewings as hostContactId, externalBookingTriggerRecipientContactId