Namespace: SuperOffice.WebApi.Data
Assembly: SuperOffice.WebApi.dllCarrier object for AppointmentEntity.
Appointments appear in the diary, and have links to a Contact/Person and possibly a Project or Sale. They have start and end time+date.
Get AppointmentEntity 123 using the WebApi client:
<pre><code class=“lang-csharp”>var configuration = new WebApiConfiguration(url);
var agent = new AppointmentAgent(configuration);
var appointmentEntity = agent.GetAppointmentEntity( 123 );</code></pre>
GUID for video meeting in central services – this is set when we create meetings from SuperOffice. It is blank for incoming meetings created from inbox.
public virtual string CentralserviceVideomeetId { get; set; }
Appointment Completed state. This property is the part of the Status property that is the completed state. Could be three state if the three state user preference is set.
NULL if unknown enum value.
Appointment Completed state. This property is the part of the Status property that is the completed state. Could be three state if the three state user preference is set.
Raw string enum value.
The contact associated with the appointment. It may also be null if no contact is associated with the appointment.
<p>Use MDO List name “contact_new” to get list items.</p>
Udef + Extra fields added to the carrier. Extra fields as defined by changes to database schema + user-defined fields as defined by admin.
Custom fields combines user defined fields and extra fields into one bucket.
The individual ExtraFields and UserDefinedFields properties are deprecated in favor of this
combined collection.
The value string is the encoded value: “[I:123]” or “[DT:2019-09-11]”.
public virtual StringDictionary CustomFields { get; set; }
The naming convention of the key string is as follows:
<table><tbody><tr><td class=“term”>Extra field data</td><td class=“description”>
[Extra field name]<p></p>
Example: <pre><code class=“lang-csharp”>‘x_gorp’ = ‘[I:123]’</code></pre>
</td></tr><tr><td class=“term”>User defined field data</td><td class=“description”>
[Prog-id name]<p></p>
Example: <pre><code class=“lang-csharp”>‘SuperOffice:1’ = ‘[I:123]’</code></pre><p></p>
</td></tr></tbody></table>
Deprecated: Use CustomFields instead.
Extra fields added to the carrier. This could be data from Plug-ins, the foreign key system, external applications, etc.
The value string is the encoded value: “[I:123]” or “[DT:2019-09-11]”.
public virtual StringDictionary ExtraFields { get; set; }
The naming convention of the key string is as follows:
<table><tbody><tr><td class=“term”>Plug-in data</td><td class=“description”>
[Plug-in name].[Property name]
Example: DocumentPlugin.DocumentType
</td></tr><tr><td class=“term”>Foreign key data</td><td class=“description”>
The device identity is appended directly to the device name if it exists.
This is not commonly used, but the database opens for this as a possibility to have several devices with the same name,
and hence we would ensure an unique key if this field is used.
Example: Audience.SecretService.DefaultCountry
</td></tr><tr><td class=“term”>User defined table data</td><td class=“description”>
[Table name].[Field name]
Example: Phunneling.AggregatedSales
</td></tr><tr><td class=“term”>Other</td><td class=“description”>
Other data sources must ensure an unique name. If the key already exists we do not add the data to the dictionary.
We also ensure that SuperOffice data are added first, so that existing data doesnt change when more data sources are added (with duplicate data keys).
</td></tr></tbody></table>
If the appointment is a booking, the invited persons may be your associates, but you are also able to invite contact persons from other companies to join your meeting. They do not receive an invitation, unless you send them one by email, but you can see in the appointment that persons other than your associates have been invited to a meeting. Each invited person will have an appointment slave record.
The owner of the mother appointment - the associate whose diary/checklist the mother appointment is in. The mother appointment is the one identified by the mother_id. If the mother_id is 0 or the same as this appointment_id, then the master associate will be the same as the ‘ordinary’ associate.
public virtual Associate MotherAssociate { get; set; }
ID of mother appointment; self if booking master, master ID if booking slave, 0 if normal appointment. However, if 0 and assoc_id != reg_id then this is an assigned appointment, indicated vt type = kBooking
An appointment may also be connected to a person; this must be a contact person registered on the current company. This does not mean however that a person is required.
<p>Use MDO List name “person” to get list items.</p>
It’s possible to give appointments different priorities. All the different priority types are saved in the priority table, and edited from the Admin. Client. An appointment does not require a priority.
<p>Use MDO List name “priority” to get list items.</p>
The confidentiality of appointments is shown as different types of “private” on the appointment. For an updated list of “private” types, see the database manual.
NULL if unknown enum value.
The confidentiality of appointments is shown as different types of “private” on the appointment. For an updated list of “private” types, see the database manual.
Raw string enum value.
An appointment may also be connected to a project, so you see the appointment both on the company card, and on the project card. This does not mean however that a project is required.
<p>Use MDO List name “project” to get list items.</p>
Why was this booking or assignment rejected, the RejectReason list is a source of suggestions but you can write anything here
<p>Use MDO List name “rejectReason” to get list items.</p>
An appointment may also be connected to a sale, so you see the appointment on the company card, on the project card and on the sale card. This does not mean however that a sale is required.
<p>Use MDO List name “sale” to get list items.</p>
The different types of appointment, if the appointment is supposed to be shown in the diary or checklist, or if it’s a document. See the different types of appointments in the database manual.
NULL if unknown enum value.
[JsonIgnore]public AppointmentType? Type { get; set; }
The different types of appointment, if the appointment is supposed to be shown in the diary or checklist, or if it’s a document. See the different types of appointments in the database manual.
Raw string enum value.
Deprecated: Use CustomFields instead.
Dictionary of user defined field data.
The key string is the ProgId of the UdefField, or if the ProgId is empty it is a string of the format “SuperOffice:[UdefFieldIdentity]”, e.g. “SuperOffice:1234”
The value string is the encoded value: “[I:123]” or “[DT:2019-09-11]”.
public virtual StringDictionary UserDefinedFields { get; set; }