Enquiry information structure
See
enquiry-basics
and
forming-enquiry
ui pages
Enquiry basic info
- EnqID: sequential integer for each user, starting with 1
- ETypeCode: type of the enquiry
- EnqActB: enquiry active or not; boolean
- EnqName: enquiry name; supplied by user in own language;
length limited, used as link text
- EnqNote: enquiry notes; supplied by user in own language
Enquiry location info
see location info for details of the location information by itself.
User's location for enquiry
For each enquiry, the enquirer must specified a location for that enquiry.
One possible location is "No location". If not no location,
they may also specify a required maximum distance for the other party.
- EnqLID: user's location ID for enquiry
- If this is the special "no location" value, it is like saying the enquiry is not linked to any specific location.
The enquiry will not match any that specifies a maximum distance,
and that it will show up bottom if the other party has closeness as required.
This is equivalent to withholding one's location from the enquiry.
- Another special value of EnqLID means the current device location.
Location wants
- ELocB: one boolean meaning "I'm setting a maximum distance" or not –
if set, a maximum distance must be supplied; if not set, any max distance is ignored.
- EMaxDist: an optional maximum distance.
Thus:
- EnqLID is special "no location" value
- implies ELocB must be false
- EnqLID is not "no location"; ELocB is false
- means "I'm at EnqLID, but I don't mind where the other person is"
- EnqLID is not "no location"; ELocB true
- means "I'm at EnqLID, and use EMaxDist to filter others".
This doesn't deal with every conceivable option, but hopefully good enough.
Enquiry want info
See want-in-enquiry ui page.
Questions here include all questions:
- asked as a requirement
- just under consideration, not currently being asked as a requirement
-
EQList is a list of QIDs for this Enquiry.
For each QID:
(see question info):
- MyEQWNote: description of what is sought in this particular question (optional)
- EQGrade: required / considering
- EQGradLabel is not stored, but recreated from EQGrade and Lang
- MyEQWants: bit pattern, limits, etc., depending on EType
- EQAllB;
EQExtB: (all options required; extra options accepted)
- neither: for single option questions
- just EQAllB: exact match needed
- just EQExtB: some overlap wanted
- EQAllB; EQExtB: all must be covered, accept more
Muting behaviour
- EQMuteB: whether answer is muted in this enquiry
An answer that has been given can be withheld (muted) or supplied (unmuted) in each enquiry.
EQMuteB behaves as follows:
A muted answer will not show up in any correspondence,
so will not show up in any answer history either.
If it is subsequently unmuted, the history will again show up in correspondences.
Periods of muting are transparent, as the answer itself has not changed.
Muting information is stored here in the Question section of the enquiry.
Using EQMuteB is currently envisaged: an alternative could be to store a list of muted QID for the enquiry.