Contact information structure
See pages:
show-results;
contacts;
contact;
break;
channels-shared;
Contact information is a superset of Candidate information,
so those fields will not be duplicated here.
The LSV holds an array of these, indexed by CanNum.
CanNum is an integer starting from 1. CanNum remains the identifier whether or not the other party has been contacted.
CanNum is not called CanID, because it is personal to each user, and sequential,
the better to avoid confusion with the GUID for that user.
CanNum is stored and transmitted as a Key Variable, but CanNum is also stored in the structure in localStorage, as well as being used to create the name for that local storage.
So there is some duplication, hopefully helpful rather than confusing.
- CanNum: the contact's number for current user
- CanRegDate: date that the contact registered on the system
- ContactDate: date on which contact agreed
- ContactStatus: status for that contact for me (see below)
- ContactStatus: my status with that contact (see below)
- CoNick: what I want to call this contact
- CoName: what the contact wants me to call them (their MyName)
- MyName: what I want them to call me (shows up for them as CoName)
- CoChannels: shared channels (for contacts)
- CoEmail: contact e-mail
- CoEIDs: array of Enq ID that fit contact (see enquiry)
- for each corresponding Enq ID in CoEIDs:
- CoELat
- CoELong
- CanELocFit: may be stored for convenience, though dependent
- for each Q asked by contact and used in any correspondence:
- for each for each Q asked by me and used in correspondence
- CoBreakNote: (for contacts)
- MyBreakNote: (for contacts)
- AbuseB: (for contacts)
- AbuseNote: (for contacts)
- AbuseType: (for contacts)
contact table on local server
- my LUID
- my contact number
- my status for that contact
- their GUID
When I am asking about a contact, I send my contact number (and my LUID)
local server looks up their GUID to send to hub.
When information comes via hub, local server translates to my contact number.
Contacts
- CONNECTED
- THEYBREAK
- IBREAK
- BROKEN
Transition rules
- When contact is agreed, Candidate becomes a Contact and ContactStatus is CONNECTED
- If ContactStatus is CONNECTED, but I want no more contact, I can change ContactStatus to IBREAK
- If ContactStatus is IBREAK, I can change it back to CONNECTED
- If ContactStatus is IBREAK, and Co accepts break, ContactStatus becomes BROKEN, and candidate is no longer a contact
- If ContactStatus is CONNECTED, but they want no more contact, ContactStatus becomes THEYBREAK
- If ContactStatus is THEYBREAK, and I accept no more contact, ContactStatus becomes BROKEN
The other values of ContactStatus are treated in candidate-info.