
eedm.constituent-contact-preferences.v1.0.0.constituent-contact-preferences.json Maven / Gradle / Ivy
{
"title" : "Constituent Contact Preferences",
"description" : "The contact preferences specified by constituents.",
"version" : "1.0.0",
"type" : "object",
"properties" : {
"metadata" : {
"$ref" : "resource:/eedm/metadata.json"
},
"id" : {
"title" : "ID",
"description" : "The global identifier of the constituent contact preference.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
},
"constituent" : {
"title" : "Constituent",
"description" : "The constituent for whom the contact preference is specified.",
"oneOf" : [ {
"title" : "Person",
"description" : "",
"type" : "object",
"properties" : {
"person" : {
"title" : "Person",
"description" : "The person for whom the contact preference is specified.",
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Person.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/constituent-persons/{id}",
"targetSchema" : {
"$ref" : "constituent-persons.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}
},
"additionalProperties" : false,
"required" : [ "person" ]
}, {
"title" : "Organization",
"description" : "",
"type" : "object",
"properties" : {
"organization" : {
"title" : "Organization",
"description" : "The organization for which the contact preference is specified.",
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Organization.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/constituent-organizations/{id}",
"targetSchema" : {
"$ref" : "constituent-organizations.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}
},
"additionalProperties" : false,
"required" : [ "organization" ]
} ]
},
"type" : {
"title" : "Type",
"description" : "The contact preference type (e.g. solicitations, events, fundraising).",
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Type.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/advancement-contact-preference-types/{id}",
"targetSchema" : {
"$ref" : "advancement-contact-preference-types.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
},
"status" : {
"title" : "Status",
"description" : "The status of the contact preference.",
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Status.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/advancement-statuses/{id}",
"targetSchema" : {
"$ref" : "advancement-statuses.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
},
"method" : {
"title" : "Method",
"description" : "The preferred method of contact.",
"oneOf" : [ {
"type" : "string",
"enum" : [ "phone", "appointment", "letter", "fax", "email", "message", "all" ]
}, {
"type" : "string",
"maxLength" : 0
} ]
},
"source" : {
"title" : "Source",
"description" : "The source of the constituent contact preference.",
"oneOf" : [ {
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Source.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/advancement-sources/{id}",
"targetSchema" : {
"$ref" : "advancement-sources.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}, {
"type" : "object",
"maxProperties" : 0
} ]
},
"college" : {
"title" : "College",
"description" : "The college associated with the contact preference.",
"oneOf" : [ {
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the College.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/educational-institution-units/{id}",
"targetSchema" : {
"$ref" : "educational-institution-units.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}, {
"type" : "object",
"maxProperties" : 0
} ]
},
"department" : {
"title" : "Department",
"description" : "The department associated with the contact preference.",
"oneOf" : [ {
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Department.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/educational-institution-units/{id}",
"targetSchema" : {
"$ref" : "educational-institution-units.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}, {
"type" : "object",
"maxProperties" : 0
} ]
},
"usage" : {
"title" : "Usage",
"description" : "The usage details associated with the contact preferences.",
"oneOf" : [ {
"title" : "Contact Details",
"description" : "Indicates which contact details should be used.",
"type" : "object",
"properties" : {
"preferredContact" : {
"title" : "Preferred Contact",
"description" : "Indicates whether the existing preferred contact details should be used.",
"oneOf" : [ {
"type" : "string",
"enum" : [ "use", "doNotUse" ]
}, {
"type" : "string",
"maxLength" : 0
} ]
},
"nonPreferredContactDetails" : {
"title" : "Non Preferred Contact Details",
"description" : "The non preferred contact details.",
"type" : "object",
"properties" : {
"address" : {
"title" : "Address",
"description" : "The address and type associated with the non preferred contact.",
"oneOf" : [ {
"type" : "object",
"properties" : {
"detail" : {
"title" : "Detail",
"description" : "The address associated with the non preferred contact.",
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Detail.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/constituent-addresses/{id}",
"targetSchema" : {
"$ref" : "constituent-addresses.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
},
"type" : {
"title" : "Type",
"description" : "The type of address.",
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Type.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/address-types/{id}",
"targetSchema" : {
"$ref" : "address-types.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}
},
"additionalProperties" : false,
"required" : [ "detail", "type" ]
}, {
"type" : "object",
"maxProperties" : 0
} ]
},
"email" : {
"title" : "Email",
"description" : "The email address and type associated with the non preferred contact.",
"oneOf" : [ {
"type" : "object",
"properties" : {
"address" : {
"title" : "Address",
"description" : "The email address associated with the non preferred contact.",
"type" : "string",
"minLength" : 1
},
"type" : {
"title" : "Type",
"description" : "The type of email address.",
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Type.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/email-types/{id}",
"targetSchema" : {
"$ref" : "email-types.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}
},
"additionalProperties" : false,
"required" : [ "address", "type" ]
}, {
"type" : "object",
"maxProperties" : 0
} ]
},
"phone" : {
"title" : "Phone",
"description" : "The phone number and type associated with the non preferred contact.",
"oneOf" : [ {
"type" : "object",
"properties" : {
"number" : {
"title" : "Number",
"description" : "The number assigned to the phone.",
"type" : "string",
"minLength" : 1
},
"extension" : {
"title" : "Extension",
"description" : "The extension used to connect to the phone when multiple phones share the same primary number.",
"type" : "string"
},
"type" : {
"title" : "Type",
"description" : "The type of phone.",
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Type.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/phone-types/{id}",
"targetSchema" : {
"$ref" : "phone-types.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}
},
"additionalProperties" : false,
"required" : [ "number", "type" ]
}, {
"type" : "object",
"maxProperties" : 0
} ]
}
},
"additionalProperties" : false
}
},
"additionalProperties" : false
}, {
"title" : "Restriction",
"description" : "The details of a restriction associated with the contact preferences.",
"type" : "object",
"properties" : {
"restriction" : {
"title" : "Restriction",
"description" : "The details of a restriction associated with the contact preferences.",
"type" : "object",
"properties" : {
"type" : {
"title" : "Type",
"description" : "The type of restriction.",
"oneOf" : [ {
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Type.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/advancement-contact-restriction-types/{id}",
"targetSchema" : {
"$ref" : "advancement-contact-restriction-types.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}, {
"type" : "object",
"maxProperties" : 0
} ]
},
"duration" : {
"title" : "Duration",
"description" : "An indication as to whether the restriction is temporary.",
"oneOf" : [ {
"type" : "string",
"enum" : [ "temporary" ]
}, {
"type" : "string",
"maxLength" : 0
} ]
},
"reason" : {
"title" : "Reason",
"description" : "The reason for the restriction.",
"oneOf" : [ {
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Reason.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/advancement-contact-restriction-reasons/{id}",
"targetSchema" : {
"$ref" : "advancement-contact-restriction-reasons.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}, {
"type" : "object",
"maxProperties" : 0
} ]
},
"startOn" : {
"title" : "Start On",
"description" : "The first date that the restriction is active.",
"oneOf" : [ {
"type" : "string",
"format" : "date",
"pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])$"
}, {
"type" : "string",
"maxLength" : 0
} ]
},
"removalReason" : {
"title" : "Removal Reason",
"description" : "The reason for the removal of the restriction.",
"oneOf" : [ {
"type" : "object",
"properties" : {
"id" : {
"title" : "ID",
"description" : "The global identifier for the Removal Reason.",
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
},
"links" : [ {
"rel" : "self",
"href" : "/advancement-contact-restriction-reasons/{id}",
"targetSchema" : {
"$ref" : "advancement-contact-restriction-reasons.json#"
}
} ],
"additionalProperties" : false,
"required" : [ "id" ]
}, {
"type" : "object",
"maxProperties" : 0
} ]
},
"removeOn" : {
"title" : "Remove On",
"description" : "The date that the restriction is to be removed.",
"oneOf" : [ {
"type" : "string",
"format" : "date",
"pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])$"
}, {
"type" : "string",
"maxLength" : 0
} ]
}
},
"additionalProperties" : false
}
},
"additionalProperties" : false,
"required" : [ "restriction" ]
} ]
},
"comment" : {
"title" : "Comment",
"description" : "The comment associated with the constituent contact preference.",
"type" : "string"
}
},
"required" : [ "id", "constituent", "type", "status" ],
"additionalProperties" : false
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy