Table of Contents

Class GroupSettings

Namespace
Crews.PlanningCenter.Api.Groups
Assembly
Crews.PlanningCenter.Api.dll

Represents the settings for a Group.

[ExcludeFromCodeCoverage(Justification = "This type is a DTO with no logic to test.")]
public record GroupSettings : IEquatable<GroupSettings>
Inheritance
GroupSettings
Implements
Inherited Members

Constructors

GroupSettings()

public GroupSettings()

GroupSettings(GroupSettings)

protected GroupSettings(GroupSettings original)

Parameters

original GroupSettings

Properties

AttendanceReplyToPersonId

The ID of the Person to whom attendance reply notifications should be sent for events in this group.

[JsonPropertyName("attendance_reply_to_person_id")]
public string? AttendanceReplyToPersonId { get; init; }

Property Value

string

CommunicationEnabled

Unknown setting; use with caution.

[JsonPropertyName("communication_enabled")]
public bool? CommunicationEnabled { get; init; }

Property Value

bool?

ContactEmail

The email address for the party responsible for the group.

[JsonPropertyName("contact_email")]
public string? ContactEmail { get; init; }

Property Value

string

DefaultEventAutomatedRemindersEnabled

Whether alerts for upcoming events should be automatically sent to group members.

[JsonConverter(typeof(BoolFromStringConverter))]
[JsonPropertyName("default_event_automated_reminders_enabled")]
public bool? DefaultEventAutomatedRemindersEnabled { get; init; }

Property Value

bool?

DefaultEventAutomatedRemindersScheduleOffset

How long before an event's start time automated reminders should be sent to group members.

[JsonConverter(typeof(TimeSpanFromSecondsConverter))]
[JsonPropertyName("default_event_automated_reminders_schedule_offset")]
public TimeSpan? DefaultEventAutomatedRemindersScheduleOffset { get; init; }

Property Value

TimeSpan?

DefaultEventRsvpsEnabled

Whether to automatically enable RSVP for events in this group.

[JsonPropertyName("default_event_rsvps_enabled")]
public bool? DefaultEventRsvpsEnabled { get; init; }

Property Value

bool?

Description

A description of the group, represented in HTML.

[JsonPropertyName("description")]
public string? Description { get; init; }

Property Value

string

EnrollmentLimit

The maximum number of members that can be enrolled in the group.

[JsonPropertyName("enrollment_limit")]
public int? EnrollmentLimit { get; init; }

Property Value

int?

EnrollmentLimitIncludePending

Whether pending enrollments should be included in the enrollment limit count.

[JsonConverter(typeof(BoolFromStringConverter))]
[JsonPropertyName("enrollment_limit_include_pending")]
public bool? EnrollmentLimitIncludePending { get; init; }

Property Value

bool?

EnrollmentOpenUntil

The date until which enrollment is open for the group.

[JsonPropertyName("enrollment_open_until")]
public DateOnly? EnrollmentOpenUntil { get; init; }

Property Value

DateOnly?

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

EventsVisibility

The visibility level of the group.

[JsonPropertyName("events_visibility")]
public string? EventsVisibility { get; init; }

Property Value

string

LeaderNameVisibleOnPublicPage

Whether to publicly display the name of the group leader on the group page.

[JsonPropertyName("leader_name_visible_on_public_page")]
public bool? LeaderNameVisibleOnPublicPage { get; init; }

Property Value

bool?

LeadersCanSearchPeopleDatabase

Whether leaders of the group can search the entire People database when managing group members and attendance.

[JsonPropertyName("leaders_can_search_people_database")]
public bool? LeadersCanSearchPeopleDatabase { get; init; }

Property Value

bool?

LocationId

The ID of the Location associated with the group.

[JsonPropertyName("location_id")]
public string? LocationId { get; init; }

Property Value

string

LocationTypePreference

The group's preference for location type.

[JsonPropertyName("location_type_preference")]
public string? LocationTypePreference { get; init; }

Property Value

string

MemberLimitMaximumAlert

The number of members that can be enrolled in the group before an alert is triggered.

[JsonPropertyName("member_limit_maximum_alert")]
public int? MemberLimitMaximumAlert { get; init; }

Property Value

int?

MembersAreConfidential

Whether the members of the group should be publicly visible on the group page.

[JsonPropertyName("members_are_confidential")]
public bool? MembersAreConfidential { get; init; }

Property Value

bool?

MembersCanCreateForumTopics

Unknown setting; use with caution.

[JsonPropertyName("members_can_create_forum_topics")]
public bool? MembersCanCreateForumTopics { get; init; }

Property Value

bool?

PubliclyDisplayMeetingSchedule

Whether to publicly display the group's meeting schedule on the group page.

[JsonPropertyName("publicly_display_meeting_schedule")]
public bool? PubliclyDisplayMeetingSchedule { get; init; }

Property Value

bool?

RequestEventAttendanceFromLeaders

Whether to request that leaders record attendance for events in this group.

[JsonPropertyName("request_event_attendance_from_leaders")]
public bool? RequestEventAttendanceFromLeaders { get; init; }

Property Value

bool?

ScamPreventionAlertsDisabled

Whether to disable scam prevention alerts for the group.

[JsonPropertyName("scam_prevention_alerts_disabled")]
public bool? ScamPreventionAlertsDisabled { get; init; }

Property Value

bool?

Schedule

A human-readable string representing the schedule for the group, such as "Sundays at 10am".

[JsonPropertyName("schedule")]
public string? Schedule { get; init; }

Property Value

string

VirtualLocationUrl

The URL of the virtual location for the group, if applicable (e.g., a Zoom link).

[JsonPropertyName("virtual_location_url")]
public Uri? VirtualLocationUrl { get; init; }

Property Value

Uri

Methods

Equals(GroupSettings?)

public virtual bool Equals(GroupSettings? other)

Parameters

other GroupSettings

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 ==(GroupSettings?, GroupSettings?)

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

Parameters

left GroupSettings
right GroupSettings

Returns

bool

operator !=(GroupSettings?, GroupSettings?)

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

Parameters

left GroupSettings
right GroupSettings

Returns

bool