A contact campaign appointment. If the Title, First Name or Surname are all left blank, these will automatically be populated based on the ContactId. If all the address fields are left blank, they will be automatically populated with the main address of the Contact.

Name Type Description Required
Id Int32 (Nullable) No
CampaignId Int32 The Id of the campaign this appointment should belong to. Yes
CampaignContactId Int32 The Id of the contact within the campaign. This automatically gets set. No
ContactId Int32 The Id of the campaign this appointment should belong to. Yes
StartDate DateTime The start date of the appointment. Yes
EndDate DateTime The end date of the appointment. Yes
TypeId Int32 Determines if the appointment is a call or a visit. Yes
CategoryId Int32 The Id of the ContactCampaignAppointmentCategory. No
SubCategoryId Int32 The Id of the ContactCampaignAppointmentSubCategory. No
ChangedTypeId Int32 The Id of the ContactCampaignAppointmentChangedType. No
ResultTypeId Int32 The Id of the ContactCampaignAppointmentResultType. No
Caller_UserId Int32 The Id of the User who will be calling. Yes
Visitor_UserId Int32 (Nullable) The Id of the User who will be visiting. No
TargetAmount Decimal The target amount for the appointment. No
Count_ThisCampaign Int32 The number of appointments of the same type within this campaign. This is automatically set. No
Count_AllCampaigns Int32 The number of appointments of the same type for all campaigns. This is automatically set. No
ShowInSchedule_Caller Boolean Should the appointment show in the schedule for the caller. No
ShowInSchedule_Visitor Boolean Should the appointment show in the schedule for the visitor. No
Title String No
FirstName String No
Surname String No
Address_Position String No
Address_Department String No
Address_Organisation String No
Address_AddressLine1 String No
Address_AddressLine2 String No
Address_AddressLine3 String No
Address_Town String No
Address_CountyId Int32 No
Address_Postcode String No
Address_CountryId Int32 No
Address_Telephone String No
Address_EveningTelephone String No
Address_Mobile String No
Address_Email String No
Notes String No
DateArranged DateTime (Nullable) The date the appointment was arranaged. No
CampaignAppointmentConfirmationIds List<Int32> The Ids of CampaignAppointmentConfirmation. No
DiaryAppointmentDetails DiaryAppointmentDetails The diary appointment details for this appointment. No
Url Actions Description
https://subscribercrmapi.iliberty.org.uk/api/contactcampaignappointment POST Adds or updates a contact campaign appointment.

Here is a Json example of the ContactCampaignAppointment object.

{
"Id": null,
"CampaignId": 1,
"CampaignContactId": 0,
"ContactId": 12345,
"StartDate": "2026-06-11T13:42:03.8111416+00:00",
"EndDate": "2026-06-11T13:52:03.8111416+00:00",
"TypeId": 0,
"CategoryId": -1,
"SubCategoryId": -1,
"ChangedTypeId": -1,
"ResultTypeId": -1,
"Caller_UserId": 0,
"Visitor_UserId": null,
"TargetAmount": 0.0,
"Count_ThisCampaign": 0,
"Count_AllCampaigns": 0,
"ShowInSchedule_Caller": false,
"ShowInSchedule_Visitor": false,
"Title": "",
"FirstName": "",
"Surname": "",
"Address_Position": "",
"Address_Department": "",
"Address_Organisation": "",
"Address_AddressLine1": "",
"Address_AddressLine2": "",
"Address_AddressLine3": "",
"Address_Town": "",
"Address_CountyId": -1,
"Address_Postcode": "",
"Address_CountryId": -1,
"Address_Telephone": "",
"Address_EveningTelephone": "",
"Address_Mobile": "",
"Address_Email": "",
"Notes": "",
"DateArranged": null,
"CampaignAppointmentConfirmationIds": [
1,
2,
3
],
"DiaryAppointmentDetails": {
"IncludeInDiary": true,
"ReminderEnabled": true,
"ReminderUnits": 0,
"ReminderTimeInterval": 15,
"UserId": -1
}
}