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
originalGroupSettings
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
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
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
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
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
EqualityContract
protected virtual Type EqualityContract { get; }
Property Value
EventsVisibility
The visibility level of the group.
[JsonPropertyName("events_visibility")]
public string? EventsVisibility { get; init; }
Property Value
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
LocationTypePreference
The group's preference for location type.
[JsonPropertyName("location_type_preference")]
public string? LocationTypePreference { get; init; }
Property Value
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
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
otherGroupSettings
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 ==(GroupSettings?, GroupSettings?)
public static bool operator ==(GroupSettings? left, GroupSettings? right)
Parameters
leftGroupSettingsrightGroupSettings
Returns
operator !=(GroupSettings?, GroupSettings?)
public static bool operator !=(GroupSettings? left, GroupSettings? right)
Parameters
leftGroupSettingsrightGroupSettings