Class Group
- Namespace
- Crews.PlanningCenter.Api.Groups.V2018_08_01
- Assembly
- Crews.PlanningCenter.Api.dll
Attributes for the Group resource.
public record Group : IEquatable<Group>
- Inheritance
-
Group
- Implements
- Inherited Members
Constructors
Group()
public Group()
Group(Group)
protected Group(Group original)
Parameters
originalGroup
Properties
ArchivedAt
The date and time the group was archived.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("archived_at")]
public DateTime? ArchivedAt { get; init; }
Property Value
CanCreateConversation
A boolean representing the current user's authorization to start a new conversation in the group.
Only available when requested with the ?fields param
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("can_create_conversation")]
public bool? CanCreateConversation { get; init; }
Property Value
- bool?
CanCreateConversationReasonCode
A code representing why the current user can or cannot start a new conversation in the group.
Possible values: chat_disabled, group_archived, non_member, leaders_only.
Nil when the user is permitted to create a conversation.
Only available when requested with the ?fields param
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("can_create_conversation_reason_code")]
public string? CanCreateConversationReasonCode { get; init; }
Property Value
ChatEnabled
A boolean representing whether or not the group has Chat enabled.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("chat_enabled")]
public bool? ChatEnabled { get; init; }
Property Value
- bool?
ContactEmail
If a contact_email is provided, we will display a contact button on the public page
where potential members can ask questions before joining the group.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("contact_email")]
public string? ContactEmail { get; init; }
Property Value
CreatedAt
The date and time the group was created.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("created_at")]
public DateTime? CreatedAt { get; init; }
Property Value
Description
A longform description of the group. Can contain HTML markup.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("description")]
public string? Description { get; init; }
Property Value
DescriptionAsPlainText
The plain text version of the group description.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("description_as_plain_text")]
public string? DescriptionAsPlainText { get; init; }
Property Value
EnrollmentOpen
Calculated value. Either true or false.
It will be false if any of these conditions are true:
* The group is archived
* The group is full (has reached specified enrollment limit)
* Enrollment Strategy is closed
* Enrollment deadline has passed
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("enrollment_open")]
public bool? EnrollmentOpen { get; init; }
Property Value
- bool?
EnrollmentStrategy
The enrollment strategy for the group.
See documentation
for more information about group enrollment settings.
Possible values: closed, request_to_join, or open_signup
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("enrollment_strategy")]
public string? EnrollmentStrategy { get; init; }
Property Value
EqualityContract
protected virtual Type EqualityContract { get; }
Property Value
EventsListed
Whether or not events are visible to the public on Church Center
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("events_listed")]
public bool? EventsListed { get; init; }
Property Value
- bool?
EventsVisibility
The visibility of events for the group.
Possible values: public or members
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("events_visibility")]
public string? EventsVisibility { get; init; }
Property Value
HeaderImage
A hash of header image URLs. The keys are thumbnail, medium, and original.<code>json<br />{<br /> "thumbnail": "https://groups-production.s3.amazonaws.com/uploads/group/header_image/1986065/thumbnail_image-1676676396838.jpg",<br /> "medium": "https://groups-production.s3.amazonaws.com/uploads/group/header_image/1986065/medium_image-1676676396838.jpg",<br /> "original": "https://groups-production.s3.amazonaws.com/uploads/group/header_image/1986065/image-1676676396838.jpg"<br />}<br /></code>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("header_image")]
public JsonElement? HeaderImage { get; init; }
Property Value
LeadersCanSearchPeopleDatabase
Whether or not group leaders have access to the entire
church database on the admin side of Groups. (Not recommended)
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("leaders_can_search_people_database")]
public bool? LeadersCanSearchPeopleDatabase { get; init; }
Property Value
- bool?
Listed
Whether or not the group is visible on Church Center
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("listed")]
public bool? Listed { get; init; }
Property Value
- bool?
LocationTypePreference
The location type preference for the group.
Possible values: physical or virtual
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("location_type_preference")]
public string? LocationTypePreference { get; init; }
Property Value
MembersAreConfidential
Whether or not group members can see other members' info
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("members_are_confidential")]
public bool? MembersAreConfidential { get; init; }
Property Value
- bool?
MembershipsCount
The number of members in the group, includes leaders.
Does not include membership requests.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("memberships_count")]
public int? MembershipsCount { get; init; }
Property Value
- int?
Name
The name/title of the group.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("name")]
public string? Name { get; init; }
Property Value
PublicChurchCenterWebUrl
The public URL for the group on Church Center.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("public_church_center_web_url")]
public string? PublicChurchCenterWebUrl { get; init; }
Property Value
Schedule
A text summary of the group's typical meeting schedule.
Can be a string like "Sundays at 9:30am" or "Every other Tuesday at 7pm".
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("schedule")]
public string? Schedule { get; init; }
Property Value
TagIds
The IDs of the tags associated with the group.
Only available when requested with the ?fields param
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("tag_ids")]
public int? TagIds { get; init; }
Property Value
- int?
VirtualLocationUrl
The URL for the group's virtual location. A zoom link, for example.
This could be set even if location_type_preference is physical.
This is useful if you want to display a zoom link even if the group is meeting in person.
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("virtual_location_url")]
public string? VirtualLocationUrl { get; init; }
Property Value
WidgetStatus
DEPRECATED: This is a private attribute used by Home widgets that we plan to remove soon.
Only available when requested with the ?fields param
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("widget_status")]
public JsonElement? WidgetStatus { get; init; }
Property Value
Methods
Equals(Group?)
public virtual bool Equals(Group? other)
Parameters
otherGroup
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
PrintMembers(StringBuilder)
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
builderStringBuilder
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(Group?, Group?)
public static bool operator ==(Group? left, Group? right)
Parameters
Returns
operator !=(Group?, Group?)
public static bool operator !=(Group? left, Group? right)