Table of Contents

Class Group

Namespace
Crews.PlanningCenter.Api.Groups.V2023_07_10
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

original Group

Properties

ArchivedAt

The date and time the group was archived.

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("archived_at")]
public DateTime? ArchivedAt { get; init; }

Property Value

DateTime?

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

string

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

string

CreatedAt

The date and time the group was created.

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("created_at")]
public DateTime? CreatedAt { get; init; }

Property Value

DateTime?

Description

A longform description of the group. Can contain HTML markup.

[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
[JsonPropertyName("description")]
public string? Description { get; init; }

Property Value

string

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

string

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

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

string

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

JsonElement?

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

string

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

string

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

string

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

string

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

string

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

JsonElement?

Methods

Equals(Group?)

public virtual bool Equals(Group? other)

Parameters

other Group

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

PrintMembers(StringBuilder)

protected virtual bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

ToString()

public override string ToString()

Returns

string

Operators

operator ==(Group?, Group?)

public static bool operator ==(Group? left, Group? right)

Parameters

left Group
right Group

Returns

bool

operator !=(Group?, Group?)

public static bool operator !=(Group? left, Group? right)

Parameters

left Group
right Group

Returns

bool