Skip to main content

Services Data Model

This document provides complete documentation of the Planning Center Services data model in Parable, including all tables, fields, and relationships.

Overview

The Services module contains 55 tables (54 entity tables and 1 relationship table) supporting worship planning, volunteer scheduling, song management, and service coordination across your entire ministry.

Visual Data Model

The diagram below shows the core entities and their relationships in the Services module. Use it as a visual reference while exploring the detailed table definitions below.

Core Entity Relationships

Services module data model
Open diagram in new tab →

Key Relationships Explained

Service Planning Hierarchy:
  1. SERVICE_TYPE defines worship service types (Sunday AM, Sunday PM, Youth, etc.)
  2. PLANs are individual service plans within a service type
  3. PLAN_TIMEs define when rehearsals and services occur
  4. ITEMs are the ordered elements within a plan (songs, media, announcements)
Team Structure:
  • TEAMs organize volunteers by function (Worship, Production, Hospitality)
  • TEAM_POSITIONs define specific roles (Vocalist, Keys, Sound Engineer)
  • PLAN_PERSON assigns people to positions for specific plans
  • Status tracking: C=Confirmed, D=Declined, U=Unconfirmed
Song Library:
  • SONGs are the core song catalog
  • ARRANGEMENTs provide different versions (Slow, Upbeat, Acoustic)
  • KEYs define available musical keys per arrangement
  • ITEMs link songs/arrangements to specific plans
Scheduling System:
  • SCHEDULEs assign people to specific plan times
  • BLOCKOUTs indicate when volunteers are unavailable
  • BLOCKOUT_DATEs specify exact dates blocked out
  • SIGNUP_SHEETs facilitate volunteer self-scheduling
Organization:
  • SERIES groups related plans (sermon series, special events)
  • FOLDERs provide hierarchical organization
  • MEDIA tracks video, audio, and presentation files

Query Requirements

Schema Prefix

IMPORTANT: All tables in the Planning Center Services module are in the planning_center schema. You MUST prefix all table names with planning_center. in your queries. ✅ CORRECT: SELECT * FROM planning_center.services_plans ❌ INCORRECT: SELECT * FROM services_plans

Row Level Security (RLS)

This database uses Row Level Security (RLS) to automatically filter data based on:
  • tenant_organization_id: You only see data for your current organization
  • system_status: You only see ‘active’ records by default
DO NOT add these filters to your WHERE clause - they are applied automatically:
  • WHERE tenant_organization_id = 1 (unnecessary)
  • WHERE system_status = 'active' (unnecessary)
The RLS policies ensure you only access data you’re authorized to see, making these filters redundant and potentially causing performance issues.

Core Tables Overview

Primary Entity Tables

  • services_service_types - Service categories (Sunday morning, youth, special events)
  • services_plans - Individual service plans with dates and details
  • services_teams - Volunteer and worship teams
  • services_people - People who serve in ministry
  • services_songs - Song library and metadata
  • services_arrangements - Song arrangements and keys
  • services_items - Service elements and order
  • services_schedules - Person scheduling information
  • services_plan_people - People scheduled for specific plans
  • services_attachments - Files, charts, and media

Supporting Entity Tables

  • services_plan_times - Service times (9am service, 11am service, etc.)
  • services_plan_templates - Reusable service templates
  • services_team_positions - Roles within teams (drummer, vocalist, etc.)
  • services_person_team_position_assignments - Who can serve in what roles
  • services_needed_positions - Unfilled positions for services
  • services_blockouts - When people are unavailable
  • services_blockout_dates - Specific unavailable dates
  • services_live - Live service control and streaming
  • services_media - Media files and videos
  • services_folders - Organizational structure

Relationship Tables

  • services_plan_relationships - Links plans to other entities
  • services_team_relationships - Links teams to service types
  • services_item_relationships - Links items to songs, arrangements, etc.
  • services_person_relationships - Links people to teams and positions

Table Definitions

services_service_types

Service types define categories of services (Sunday Morning, Youth Service, etc.).
ColumnTypeDescription
idUUIDInternal unique identifier
service_type_idVARCHAR(64)Planning Center service type ID
nameVARCHAR(255)Service type name
sequenceINTEGERDisplay order
permissionsVARCHAR(50)Permission level
attachment_types_enabledBOOLEANWhether attachment types are enabled
scheduled_publishBOOLEANWhether scheduled publishing is enabled
frequencyVARCHAR(50)Service frequency (Weekly, Monthly, etc.)
archived_atTIMESTAMPWhen service type was archived
created_atTIMESTAMPWhen created in Planning Center
updated_atTIMESTAMPLast update in Planning Center
deleted_atTIMESTAMPWhen deleted in Planning Center
custom_item_typesJSONBCustom service item types configuration
standard_item_typesJSONBStandard item types (Header, Song, Media)
background_check_permissionsVARCHAR(50)Background check requirement level
comment_permissionsVARCHAR(50)Who can comment on plans
last_plan_fromVARCHAR(50)How last plan was created
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status: ‘active’, ‘transferring’, ‘stale’
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_plans

Individual service plans containing all details for a specific service date.
ColumnTypeDescription
idUUIDInternal unique identifier
plan_idVARCHAR(64)Planning Center plan ID
service_type_idVARCHAR(64)Associated service type
titleVARCHAR(255)Plan title
series_titleVARCHAR(255)Sermon series title
publicBOOLEANWhether plan is publicly visible
can_view_orderBOOLEANWhether order is viewable
rehearsableBOOLEANWhether rehearsal is scheduled
multi_dayBOOLEANWhether plan spans multiple days
items_countINTEGERTotal number of service items
plan_people_countINTEGERNumber of scheduled people
needed_positions_countINTEGERNumber of unfilled positions
plan_notes_countINTEGERNumber of plan notes
service_time_countINTEGERNumber of service times
rehearsal_time_countINTEGERNumber of rehearsal times
other_time_countINTEGERNumber of other scheduled times
total_lengthINTEGERTotal service length in seconds
sort_dateTIMESTAMPDate used for chronological sorting
last_time_atTIMESTAMPLast service time
datesVARCHAR(255)Human-readable date string
short_datesVARCHAR(100)Abbreviated date string
files_expire_atTIMESTAMPWhen attached files expire
planning_center_urlVARCHAR(2048)Direct link to plan
reminders_disabledBOOLEANWhether reminders are turned off
created_atTIMESTAMPWhen created
updated_atTIMESTAMPLast update
permissionsVARCHAR(50)User permissions for this plan
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen created in Parable
system_updated_atTIMESTAMPLast update in Parable

services_teams

Teams of volunteers and staff who serve in ministry.
ColumnTypeDescription
idUUIDInternal unique identifier
team_idVARCHAR(64)Planning Center team ID
service_type_idVARCHAR(64)Associated service type
nameVARCHAR(255)Team name
rehearsal_teamBOOLEANWhether team attends rehearsals
secure_teamBOOLEANWhether team requires background checks
sequenceINTEGERDisplay order
schedule_toVARCHAR(50)Scheduling type (‘plan’ or ‘time’)
default_statusVARCHAR(50)Default response status
default_prepare_notificationsBOOLEANDefault notification setting
assigned_directlyBOOLEANWhether people are assigned directly
viewers_seeINTEGERWhat viewers can see
stage_colorVARCHAR(50)Color for stage display
stage_variantVARCHAR(50)Stage display variant
archived_atTIMESTAMPWhen team was archived
created_atTIMESTAMPWhen created
updated_atTIMESTAMPLast update
last_plan_fromVARCHAR(50)How last plan was created
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen created in Parable
system_updated_atTIMESTAMPLast update in Parable

services_people

People who participate in services as volunteers, staff, or worship team members.
ColumnTypeDescription
idUUIDInternal unique identifier
person_idVARCHAR(64)Planning Center person ID
first_nameVARCHAR(100)First name
last_nameVARCHAR(100)Last name
full_nameVARCHAR(255)Complete name
nicknameVARCHAR(100)Preferred name
given_nameVARCHAR(100)Given name
middle_nameVARCHAR(100)Middle name
birthdateDATEDate of birth
anniversaryDATEAnniversary date
photo_urlVARCHAR(2048)Profile photo URL
photo_thumbnail_urlVARCHAR(2048)Thumbnail photo URL
preferred_appVARCHAR(50)Preferred Planning Center app
assigned_to_rehearsal_teamBOOLEANWhether on rehearsal team
archivedBOOLEANWhether person is archived
site_administratorBOOLEANWhether site admin
permissionsVARCHAR(50)General permissions
media_permissionsVARCHAR(50)Media access permissions
song_permissionsVARCHAR(50)Song access permissions
statusVARCHAR(50)Active status
notesTEXTPersonal notes
passed_background_checkBOOLEANBackground check status
access_media_attachmentsBOOLEANCan access media
access_plan_attachmentsBOOLEANCan access plan files
access_song_attachmentsBOOLEANCan access song files
preferred_max_plans_per_dayINTEGERDaily scheduling limit
preferred_max_plans_per_monthINTEGERMonthly scheduling limit
praise_charts_enabledBOOLEANPraiseCharts integration
ical_codeVARCHAR(100)Calendar feed code
logged_in_atTIMESTAMPLast login time
created_atTIMESTAMPWhen created
updated_atTIMESTAMPLast update
archived_atTIMESTAMPWhen archived
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen created in Parable
system_updated_atTIMESTAMPLast update in Parable

services_songs

Complete song library with metadata for worship planning.
ColumnTypeDescription
idUUIDInternal unique identifier
song_idVARCHAR(64)Planning Center song ID
titleVARCHAR(255)Song title
authorVARCHAR(255)Song author/composer
copyrightVARCHAR(500)Copyright information
adminVARCHAR(255)Administrator/publisher
ccli_numberINTEGERCCLI license number
hiddenBOOLEANWhether song is hidden
notesTEXTSong notes
themesVARCHAR(500)Song themes/tags
last_scheduled_atTIMESTAMPWhen last used in service
last_scheduled_short_datesVARCHAR(100)Short date of last use
created_atTIMESTAMPWhen created
updated_atTIMESTAMPLast update
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen created in Parable
system_updated_atTIMESTAMPLast update in Parable

services_arrangements

Different arrangements and keys for songs.
ColumnTypeDescription
idUUIDInternal unique identifier
arrangement_idVARCHAR(64)Planning Center arrangement ID
song_idVARCHAR(64)Associated song
nameVARCHAR(255)Arrangement name
bpmDECIMAL(5,1)Beats per minute
lengthINTEGERLength in seconds
meterVARCHAR(10)Time signature (4/4, 3/4, etc.)
notesTEXTArrangement notes
chord_chartTEXTChord chart content
lyricsTEXTSong lyrics
sequenceJSONBSong section sequence
sequence_shortJSONBAbbreviated sequence
sequence_fullJSONBFull detailed sequence
chord_chart_keyVARCHAR(10)Musical key
chord_chart_fontVARCHAR(50)Display font
chord_chart_font_sizeINTEGERFont size
chord_chart_columnsINTEGERColumn layout
has_chordsBOOLEANWhether chords exist
has_chord_chartBOOLEANWhether chart exists
lyrics_enabledBOOLEANWhether lyrics are enabled
number_chart_enabledBOOLEANNashville number system
numeral_chart_enabledBOOLEANRoman numeral system
print_marginVARCHAR(20)Print margins
print_orientationVARCHAR(20)Portrait/landscape
print_page_sizeVARCHAR(20)Paper size
archived_atTIMESTAMPWhen archived
created_atTIMESTAMPWhen created
updated_atTIMESTAMPLast update
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen created in Parable
system_updated_atTIMESTAMPLast update in Parable

services_items

Individual elements within a service plan.
ColumnTypeDescription
idUUIDInternal unique identifier
item_idVARCHAR(64)Planning Center item ID
plan_idVARCHAR(64)Associated plan
titleVARCHAR(255)Item title
sequenceINTEGEROrder in service
lengthINTEGERDuration in seconds
item_typeVARCHAR(50)Type (song, header, media, item)
service_positionVARCHAR(50)Position (pre, during, post)
descriptionTEXTItem description
key_nameVARCHAR(10)Musical key
html_detailsTEXTFormatted details
custom_arrangement_sequenceJSONBCustom sequence
song_idVARCHAR(64)Associated song
arrangement_idVARCHAR(64)Associated arrangement
created_atTIMESTAMPWhen created
updated_atTIMESTAMPLast update
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen created in Parable
system_updated_atTIMESTAMPLast update in Parable

services_plan_people

People scheduled to serve in specific service plans.
ColumnTypeDescription
idUUIDInternal unique identifier
plan_person_idVARCHAR(64)Planning Center plan person ID
plan_idVARCHAR(64)Associated plan
person_idVARCHAR(64)Associated person
team_idVARCHAR(64)Associated team
statusVARCHAR(20)Status (C=Confirmed, U=Unconfirmed, D=Declined)
team_position_nameVARCHAR(100)Position/role name
photo_thumbnailVARCHAR(2048)Person’s photo
decline_reasonTEXTWhy declined
notesTEXTScheduling notes
prepare_notificationBOOLEANWhether to send prep notification
can_accept_partialBOOLEANCan accept partial scheduling
notification_sent_atTIMESTAMPWhen notified
notification_read_atTIMESTAMPWhen read notification
notification_prepared_atTIMESTAMPWhen notification prepared
notification_changed_atTIMESTAMPWhen notification changed
notification_changed_by_nameVARCHAR(255)Who changed notification
notification_sender_nameVARCHAR(255)Who sent notification
status_updated_atTIMESTAMPWhen status changed
scheduled_by_nameVARCHAR(255)Who scheduled this person
created_atTIMESTAMPWhen created
updated_atTIMESTAMPLast update
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen created in Parable
system_updated_atTIMESTAMPLast update in Parable

services_schedules

Individual scheduling records for people across all services.
ColumnTypeDescription
idUUIDInternal unique identifier
schedule_idVARCHAR(64)Planning Center schedule ID
person_idVARCHAR(64)Associated person
service_type_idVARCHAR(64)Associated service type
plan_idVARCHAR(64)Associated plan
team_idVARCHAR(64)Associated team
organization_nameVARCHAR(255)Organization name
service_type_nameVARCHAR(255)Service type name
team_nameVARCHAR(255)Team name
team_position_nameVARCHAR(100)Position name
person_nameVARCHAR(255)Person’s full name
sort_dateTIMESTAMPDate for sorting
datesVARCHAR(255)Service dates
short_datesVARCHAR(100)Short date format
statusVARCHAR(20)Schedule status
decline_reasonTEXTReason if declined
can_accept_partialBOOLEANCan accept partial
can_accept_partial_one_timeBOOLEANOne-time partial
can_rehearseBOOLEANAvailable for rehearsal
plan_visibleBOOLEANCan see plan
plan_visible_to_meBOOLEANPlan visible to user
position_display_timesVARCHAR(255)When position shows
responds_to_nameVARCHAR(255)Who responds to
organization_time_zoneVARCHAR(100)Time zone
organization_twenty_four_hour_timeBOOLEAN24-hour format
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen created in Parable
system_updated_atTIMESTAMPLast update in Parable

services_attachments

Files attached to plans, songs, or other resources.
ColumnTypeDescription
idUUIDInternal unique identifier
attachment_idVARCHAR(64)Planning Center attachment ID
filenameVARCHAR(255)File name
file_sizeBIGINTSize in bytes
content_typeVARCHAR(100)MIME type
urlVARCHAR(2048)Download URL
thumbnail_urlVARCHAR(2048)Thumbnail URL
linked_urlVARCHAR(2048)External link
pco_typeVARCHAR(50)Planning Center type
display_nameVARCHAR(255)Display name
filetypeVARCHAR(50)File type
remote_linkVARCHAR(2048)Remote file link
page_orderVARCHAR(50)Page ordering
licenses_purchasedINTEGERNumber of licenses
licenses_remainingINTEGERRemaining licenses
licenses_usedINTEGERUsed licenses
allow_mp3_downloadBOOLEANMP3 download allowed
web_streamableBOOLEANCan stream on web
downloadableBOOLEANCan be downloaded
transposableBOOLEANCan transpose
streamableBOOLEANCan stream
has_previewBOOLEANPreview available
attachable_typeVARCHAR(50)What it’s attached to
attachable_idVARCHAR(64)Parent resource ID
created_atTIMESTAMPWhen created
updated_atTIMESTAMPLast update
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen created in Parable
system_updated_atTIMESTAMPLast update in Parable

Relationship Tables

services_plan_relationships

Links plans to series, previous/next plans, and service types.
ColumnTypeDescription
idUUIDInternal unique identifier
plan_idVARCHAR(64)Plan ID
related_entity_typeVARCHAR(50)Type of related entity
related_entity_idVARCHAR(64)Related entity ID
relationship_typeVARCHAR(50)Type of relationship
tenant_organization_idINTEGEROrganization identifier

services_team_relationships

Links teams to service types and parent teams.
ColumnTypeDescription
idUUIDInternal unique identifier
team_idVARCHAR(64)Team ID
service_type_idVARCHAR(64)Service type ID
relationship_typeVARCHAR(50)Type of relationship
tenant_organization_idINTEGEROrganization identifier

services_item_relationships

Links service items to songs, arrangements, and media.
ColumnTypeDescription
idUUIDInternal unique identifier
item_idVARCHAR(64)Item ID
related_entity_typeVARCHAR(50)Type (song, arrangement, media)
related_entity_idVARCHAR(64)Related entity ID
tenant_organization_idINTEGEROrganization identifier

Planning & Scheduling

services_plan_person_times

Junction table linking plan people to specific plan times.
ColumnTypeDescription
idUUIDInternal unique identifier
plan_person_time_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the plan person time was created in Planning Center
statusVARCHAR(50)Status of the person’s availability for this time (accepted, declined, etc.)
updated_atTIMESTAMPWhen the plan person time was last updated in Planning Center
plan_time_idVARCHAR(64)Reference to the plan time
plan_idVARCHAR(64)Reference to the plan
plan_person_idVARCHAR(64)Reference to the person scheduled for the plan
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_plan_templates

Templates for creating new service plans with predefined structure.
ColumnTypeDescription
idUUIDInternal unique identifier
plan_template_idVARCHAR(64)Planning Center entity ID
can_view_orderBOOLEANWhether the order of service can be viewed
created_atTIMESTAMPWhen the template was created in Planning Center
item_countINTEGERNumber of items in the template
multi_dayBOOLEANWhether the template spans multiple days
nameVARCHAR(255)Name of the plan template
note_countINTEGERNumber of notes in the template
prefers_order_viewBOOLEANWhether order view is preferred over schedule view
rehearsableBOOLEANWhether the plan can be rehearsed
team_countINTEGERNumber of teams involved in the template
updated_atTIMESTAMPWhen the template was last updated in Planning Center
service_type_idVARCHAR(64)Reference to the service type
created_by_idVARCHAR(64)Person who created the template
updated_by_idVARCHAR(64)Person who last updated the template
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_plan_times

Specific times associated with service plans (rehearsals, services, other events).
ColumnTypeDescription
idUUIDInternal unique identifier
plan_time_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the plan time was created in Planning Center
ends_atTIMESTAMPWhen the plan time ends
live_ends_atTIMESTAMPActual end time of the live event
live_starts_atTIMESTAMPActual start time of the live event
nameVARCHAR(255)Name of the plan time (e.g., “Sunday Morning”, “Saturday Rehearsal”)
recordedBOOLEANWhether the plan time was recorded
starts_atTIMESTAMPWhen the plan time starts
team_remindersJSONBReminder settings for teams
time_typeVARCHAR(50)Type of time (rehearsal, service, other)
updated_atTIMESTAMPWhen the plan time was last updated in Planning Center
assigned_teamsJSONBTeams assigned to this plan time
split_team_rehearsal_assignmentsJSONBSplit team rehearsal assignment details
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_needed_positions

Positions needed for service plans that require scheduling.
ColumnTypeDescription
idUUIDInternal unique identifier
needed_position_idVARCHAR(64)Planning Center entity ID
quantityINTEGERNumber of people needed for this position
scheduled_toVARCHAR(255)Type of time this position is scheduled for
team_position_nameVARCHAR(255)Name of the team position
team_idVARCHAR(64)Reference to the team
plan_idVARCHAR(64)Reference to the plan
time_idVARCHAR(64)Reference to the plan time
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_signup_sheets

Signup sheets for volunteer positions on service plans.
ColumnTypeDescription
idUUIDInternal unique identifier
signup_sheet_idVARCHAR(64)Planning Center entity ID
display_timesVARCHAR(50)How times should be displayed on the signup sheet
group_keyVARCHAR(64)Key for grouping related signup sheets
position_nameVARCHAR(255)Name of the position being signed up for
sort_dateTIMESTAMPDate used for sorting signup sheets
sort_indexINTEGERIndex for sorting within a group
team_nameVARCHAR(255)Name of the team
titleVARCHAR(255)Title of the signup sheet
plan_idVARCHAR(64)Reference to the plan
team_position_idVARCHAR(64)Reference to the team position
team_idVARCHAR(64)Reference to the team
scheduled_peopleJSONBPeople already scheduled for this position
signup_sheet_metadataJSONBAdditional metadata about the signup sheet
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_signup_sheet_metadata

Metadata about specific times on signup sheets.
ColumnTypeDescription
idUUIDInternal unique identifier
signup_sheet_metadata_idVARCHAR(64)Planning Center entity ID
conflictsJSONBScheduling conflicts for this time
ends_atTIMESTAMPWhen the time period ends
starts_atTIMESTAMPWhen the time period starts
time_nameVARCHAR(255)Name of the time period
time_typeVARCHAR(255)Type of time (rehearsal, service, other)
plan_time_idVARCHAR(64)Reference to the plan time
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_scheduled_people

People scheduled on signup sheets.
ColumnTypeDescription
idUUIDInternal unique identifier
scheduled_person_idVARCHAR(64)Planning Center entity ID
full_nameVARCHAR(255)Full name of the scheduled person
statusVARCHAR(50)Status of the person’s signup (confirmed, declined, etc.)
thumbnailVARCHAR(255)URL to the person’s profile photo thumbnail
person_idVARCHAR(64)Reference to the person
signup_sheet_idVARCHAR(64)Reference to the signup sheet
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_available_signups

Available signup opportunities for people in the organization.
ColumnTypeDescription
idUUIDInternal unique identifier
available_signup_idVARCHAR(64)Planning Center entity ID
organization_nameVARCHAR(255)Name of the organization
planning_center_urlTEXTURL to view the signup in Planning Center
service_type_nameVARCHAR(255)Name of the service type
signups_availableBOOLEANWhether signups are currently available
organization_idVARCHAR(64)Reference to the organization
person_idVARCHAR(64)Reference to the person
service_type_idVARCHAR(64)Reference to the service type
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_attendances

Attendance records linking people to plan times through check-ins.
ColumnTypeDescription
idUUIDInternal unique identifier
attendance_idVARCHAR(64)Planning Center entity ID
plan_idVARCHAR(64)Reference to the plan
check_ins_event_idVARCHAR(64)Reference to the check-ins event
check_ins_event_period_idVARCHAR(64)Reference to the check-ins event period
checked_in_atTIMESTAMPWhen the person checked in
plan_person_idVARCHAR(64)Reference to the person scheduled for the plan
plan_time_idVARCHAR(64)Reference to the plan time
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_blockouts

Recurring or one-time blockout periods when people are unavailable.
ColumnTypeDescription
idUUIDInternal unique identifier
blockout_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the blockout was created in Planning Center
descriptionTEXTDetailed description of the blockout
ends_atTIMESTAMPWhen the blockout period ends
group_identifierVARCHAR(64)Identifier for grouping related blockouts
organization_nameVARCHAR(255)Name of the organization
reasonTEXTReason for the blockout
repeat_frequencyVARCHAR(255)How often the blockout repeats
repeat_intervalVARCHAR(255)Interval for repeating blockouts
repeat_periodVARCHAR(255)Period of repetition
repeat_untilDATEDate when the blockout repetition ends
settingsVARCHAR(255)Additional blockout settings
shareBOOLEANWhether the blockout is shared with schedulers
starts_atTIMESTAMPWhen the blockout period begins
time_zoneVARCHAR(255)Time zone for the blockout
updated_atTIMESTAMPWhen the blockout was last updated in Planning Center
person_idVARCHAR(64)Reference to the person with the blockout
organization_idVARCHAR(64)Reference to the organization
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_blockout_dates

Individual dates within a blockout period.
ColumnTypeDescription
idUUIDInternal unique identifier
blockout_date_idVARCHAR(64)Planning Center entity ID
ends_atTIMESTAMPWhen the blockout date ends (local time)
ends_at_utcTIMESTAMPWhen the blockout date ends (UTC)
group_identifierVARCHAR(64)Identifier for grouping related blockout dates
reasonTEXTReason for this specific blockout date
shareBOOLEANWhether this blockout date is shared with schedulers
starts_atTIMESTAMPWhen the blockout date begins (local time)
starts_at_utcTIMESTAMPWhen the blockout date begins (UTC)
time_zoneVARCHAR(64)Time zone for the blockout date
person_idVARCHAR(64)Reference to the person with the blockout
blockout_idVARCHAR(64)Reference to the parent blockout
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_blockout_exceptions

Exceptions to recurring blockouts (dates when the blockout doesn’t apply).
ColumnTypeDescription
idUUIDInternal unique identifier
blockout_exception_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the exception was created in Planning Center
dateDATEDate when the blockout exception applies
updated_atTIMESTAMPWhen the exception was last updated in Planning Center
blockout_idVARCHAR(64)Reference to the blockout
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_scheduling_preferences

Scheduling preferences between household members.
ColumnTypeDescription
idUUIDInternal unique identifier
scheduling_preference_idVARCHAR(64)Planning Center entity ID
preferenceVARCHAR(255)Type of scheduling preference (schedule together, avoid scheduling together, etc.)
household_member_idVARCHAR(64)Reference to the household member
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_time_preference_options

Available time preference options for scheduling team members.
ColumnTypeDescription
idUUIDInternal unique identifier
time_preference_option_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the option was created in Planning Center
day_of_weekVARCHAR(50)Day of the week for this preference
descriptionVARCHAR(255)Description of the time preference
minute_of_dayINTEGERMinute of the day (0-1439) when this time occurs
sort_indexVARCHAR(50)Index for sorting preference options
starts_atTIMESTAMPWhen the time preference starts
time_typeVARCHAR(50)Type of time (rehearsal, service, other)
updated_atTIMESTAMPWhen the option was last updated in Planning Center
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_live_controllers

People who can control live services.
ColumnTypeDescription
idUUIDInternal unique identifier
live_controller_idVARCHAR(64)Planning Center entity ID
service_type_idVARCHAR(64)Reference to the service type
created_atTIMESTAMPWhen the controller was created in Planning Center
full_nameVARCHAR(255)Full name of the controller
photo_thumbnail_urlTEXTURL to the controller’s profile photo thumbnail
updated_atTIMESTAMPWhen the controller was last updated in Planning Center
person_idVARCHAR(64)Reference to the person
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_lives

Live service sessions with control capabilities.
ColumnTypeDescription
idUUIDInternal unique identifier
live_idVARCHAR(64)Planning Center entity ID
plan_idVARCHAR(64)Reference to the plan
can_chatBOOLEANWhether chat is enabled for this live session
can_controlBOOLEANWhether the current user can control the live session
can_control_video_feedBOOLEANWhether the current user can control the video feed
can_take_controlBOOLEANWhether the current user can take control
chat_room_channelVARCHAR(255)Channel identifier for the chat room
datesVARCHAR(255)Formatted date(s) for the live session
live_channelVARCHAR(255)Channel identifier for the live session
series_titleVARCHAR(255)Title of the series
titleVARCHAR(255)Title of the live session
controller_idVARCHAR(64)Reference to the person controlling the session
current_item_time_idVARCHAR(64)Reference to the current item time
itemsJSONBItems in the live session
next_item_time_idVARCHAR(64)Reference to the next item time
service_type_idVARCHAR(64)Reference to the service type
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_series

Service series for grouping related plans.
ColumnTypeDescription
idUUIDInternal unique identifier
series_idVARCHAR(64)Planning Center entity ID
artwork_content_typeVARCHAR(64)Content type of the artwork file
artwork_file_nameVARCHAR(255)Original filename of the artwork
artwork_file_sizeINTEGERSize of the artwork file in bytes
artwork_for_dashboardTEXTURL to artwork sized for dashboard
artwork_for_mobileTEXTURL to artwork sized for mobile devices
artwork_for_planTEXTURL to artwork sized for plan view
artwork_originalTEXTURL to original artwork file
created_atTIMESTAMPWhen the series was created in Planning Center
has_artworkBOOLEANWhether the series has associated artwork
titleVARCHAR(255)Title of the series
updated_atTIMESTAMPWhen the series was last updated in Planning Center
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_public_views

Public view settings for service plans.
ColumnTypeDescription
idUUIDInternal unique identifier
public_view_idVARCHAR(64)Planning Center entity ID
amazonBOOLEANWhether to show Amazon Music links
headersBOOLEANWhether to show section headers
item_lengthsBOOLEANWhether to show item lengths
itunesBOOLEANWhether to show iTunes links
media_itemsBOOLEANWhether to show media items
regular_itemsBOOLEANWhether to show regular items
series_and_plan_titlesBOOLEANWhether to show series and plan titles
series_artworkBOOLEANWhether to show series artwork
service_timesBOOLEANWhether to show service times
song_itemsBOOLEANWhether to show song items
spotifyBOOLEANWhether to show Spotify links
vimeoBOOLEANWhether to show Vimeo links
youtubeBOOLEANWhether to show YouTube links
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_contributors

People who have contributed to a plan (edits, additions, etc.).
ColumnTypeDescription
idUUIDInternal unique identifier
contributor_idVARCHAR(64)Planning Center entity ID
contributable_actionVARCHAR(255)Type of action performed (created, updated, etc.)
contributable_categoryVARCHAR(255)Category of contribution
contributable_typeVARCHAR(255)Type of entity contributed to
created_atTIMESTAMPWhen the contribution was made
full_nameVARCHAR(255)Full name of the contributor
photo_thumbnail_urlTEXTURL to the contributor’s profile photo thumbnail
updated_atTIMESTAMPWhen the contribution was last updated
plan_idVARCHAR(64)Reference to the plan
person_idVARCHAR(64)Reference to the person
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_plan_notes

Notes attached to service plans.
ColumnTypeDescription
idUUIDInternal unique identifier
plan_note_idVARCHAR(64)Planning Center entity ID
category_nameVARCHAR(255)Name of the note category
contentTEXTContent of the note
created_atTIMESTAMPWhen the note was created in Planning Center
updated_atTIMESTAMPWhen the note was last updated in Planning Center
created_by_idVARCHAR(64)Person who created the note
plan_note_category_idVARCHAR(64)Reference to the note category
teamsJSONBTeams that can view this note
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_plan_note_categories

Categories for organizing plan notes.
ColumnTypeDescription
idUUIDInternal unique identifier
plan_note_category_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the category was created in Planning Center
deleted_atTIMESTAMPWhen the category was deleted in Planning Center
nameVARCHAR(255)Name of the category
sequenceINTEGERDisplay order for the category
updated_atTIMESTAMPWhen the category was last updated in Planning Center
service_type_idVARCHAR(64)Reference to the service type
teamsJSONBTeams that can use this category
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_item_note_categories

Categories for organizing item notes.
ColumnTypeDescription
idUUIDInternal unique identifier
item_note_category_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the category was created in Planning Center
deleted_atTIMESTAMPWhen the category was deleted in Planning Center
frequently_usedBOOLEANWhether this category is frequently used
nameVARCHAR(255)Name of the category
sequenceINTEGERDisplay order for the category
updated_atTIMESTAMPWhen the category was last updated in Planning Center
service_type_idVARCHAR(64)Reference to the service type
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

Team Management

services_team_positions

Positions within service teams.
ColumnTypeDescription
idUUIDInternal unique identifier
team_position_idVARCHAR(64)Planning Center entity ID
nameVARCHAR(255)Name of the position
negative_tag_groupsJSONBTag groups that exclude people from this position
sequenceINTEGERDisplay order for the position
tag_groupsJSONBTag groups required for this position
tagsJSONBTags associated with this position
team_idVARCHAR(64)Reference to the team
attachment_typesJSONBTypes of attachments allowed for this position
tag_idsJSONBIDs of tags associated with this position
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_person_team_position_assignments

Assignments of people to specific team positions.
ColumnTypeDescription
idUUIDInternal unique identifier
person_team_position_assignment_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the assignment was created in Planning Center
preferred_weeksVARCHAR(255)[]Array of preferred week frequencies
schedule_preferenceVARCHAR(50)Scheduling preference for this assignment
updated_atTIMESTAMPWhen the assignment was last updated in Planning Center
person_idVARCHAR(64)Reference to the person
team_position_idVARCHAR(64)Reference to the team position
time_preference_optionsJSONBPreferred times for this assignment
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_team_leaders

Leaders assigned to service teams.
ColumnTypeDescription
idUUIDInternal unique identifier
team_leader_idVARCHAR(64)Planning Center entity ID
send_responses_for_acceptsBOOLEANWhether to send notifications when people accept
send_responses_for_blockoutsBOOLEANWhether to send notifications about blockouts
send_responses_for_declinesBOOLEANWhether to send notifications when people decline
person_idVARCHAR(64)Reference to the person who is the team leader
team_idVARCHAR(64)Reference to the team
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_split_team_rehearsal_assignments

Rehearsal time assignments for split teams.
ColumnTypeDescription
idUUIDInternal unique identifier
split_team_rehearsal_assignment_idVARCHAR(64)Planning Center entity ID
schedule_special_service_timesBOOLEANWhether to schedule special service times
team_idVARCHAR(64)Reference to the team
time_preference_optionsJSONBTime preferences for this assignment
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

Song & Music Management

services_arrangement_sections

Sections within song arrangements (verse, chorus, bridge, etc.).
ColumnTypeDescription
idUUIDInternal unique identifier
arrangement_section_idVARCHAR(64)Planning Center entity ID
sectionsJSONBArray of section definitions with names and content
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_keys

Musical keys associated with song arrangements.
ColumnTypeDescription
idUUIDInternal unique identifier
key_idVARCHAR(64)Planning Center entity ID
alternate_keysJSONBAlternative keys for this arrangement
created_atTIMESTAMPWhen the key was created in Planning Center
ending_keyVARCHAR(13)Musical key at the end of the song
ending_minorBOOLEANWhether the ending key is minor
nameVARCHAR(255)Display name for the key
starting_keyVARCHAR(3)Musical key at the start of the song
starting_minorBOOLEANWhether the starting key is minor
updated_atTIMESTAMPWhen the key was last updated in Planning Center
arrangement_idVARCHAR(64)Reference to the arrangement
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_song_schedules

Schedule information for when songs are used in plans.
ColumnTypeDescription
idUUIDInternal unique identifier
song_schedule_idVARCHAR(64)Planning Center entity ID
arrangement_nameVARCHAR(255)Name of the arrangement used
key_nameVARCHAR(3)Musical key used
plan_datesVARCHAR(50)Formatted dates when the song is scheduled
plan_sort_dateTIMESTAMPDate used for sorting song schedules
service_type_nameVARCHAR(255)Name of the service type
arrangement_idVARCHAR(64)Reference to the arrangement
key_idVARCHAR(64)Reference to the key
plan_idVARCHAR(64)Reference to the plan
service_type_idVARCHAR(64)Reference to the service type
item_idVARCHAR(64)Reference to the plan item
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_song_attachments

Junction table linking songs to their attachments.
ColumnTypeDescription
idUUIDInternal unique identifier
song_idVARCHAR(64)Reference to the song
attachment_idVARCHAR(64)Reference to the attachment
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_song_tags

Junction table linking songs to their tags.
ColumnTypeDescription
idUUIDInternal unique identifier
song_idVARCHAR(64)Reference to the song
tag_idVARCHAR(64)Reference to the tag
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_media

Media items (videos, images, audio) used in services.
ColumnTypeDescription
idUUIDInternal unique identifier
media_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the media was created in Planning Center
creator_nameVARCHAR(255)Name of the person who created the media
image_urlTEXTURL to the media image
lengthINTEGERLength of the media in seconds
media_typeVARCHAR(255)Type of media (video, image, audio)
media_type_nameVARCHAR(255)Display name for the media type
preview_content_typeVARCHAR(255)Content type of the preview file
preview_file_nameTEXTFilename of the preview
preview_file_sizeINTEGERSize of the preview file in bytes
preview_updated_atTIMESTAMPWhen the preview was last updated
preview_urlTEXTURL to the preview file
themesVARCHAR(255)Themes associated with the media
thumbnail_content_typeVARCHAR(255)Content type of the thumbnail
thumbnail_file_nameTEXTFilename of the thumbnail
thumbnail_file_sizeINTEGERSize of the thumbnail file in bytes
thumbnail_updated_atTIMESTAMPWhen the thumbnail was last updated
thumbnail_urlTEXTURL to the thumbnail
titleTEXTTitle of the media
updated_atTIMESTAMPWhen the media was last updated in Planning Center
attachmentsJSONBAttachments associated with this media
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_media_schedules

Schedule information for when media is used in plans.
ColumnTypeDescription
idUUIDInternal unique identifier
media_schedule_idVARCHAR(64)Planning Center entity ID
media_idVARCHAR(64)Reference to the media
plan_datesVARCHAR(255)Formatted dates when the media is scheduled
plan_short_datesVARCHAR(255)Short formatted dates
plan_sort_dateTIMESTAMPDate used for sorting media schedules
service_type_nameVARCHAR(255)Name of the service type
plan_idVARCHAR(64)Reference to the plan
service_type_idVARCHAR(64)Reference to the service type
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

Communication & Notifications

services_email_templates

Templates for automated emails sent from Planning Center Services.
ColumnTypeDescription
idUUIDInternal unique identifier
email_template_idVARCHAR(64)Planning Center entity ID
created_atTIMESTAMPWhen the template was created in Planning Center
html_bodyTEXTHTML content of the email template
kindVARCHAR(255)Type of email template (schedule request, reminder, etc.)
subjectVARCHAR(255)Subject line for the email
updated_atTIMESTAMPWhen the template was last updated in Planning Center
template_owner_idVARCHAR(64)Reference to the owner of the template
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_emails

Email addresses associated with people in Services.
ColumnTypeDescription
idUUIDInternal unique identifier
email_idVARCHAR(64)Planning Center entity ID
addressVARCHAR(255)Email address
is_primaryBOOLEANWhether this is the person’s primary email
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_phone_numbers

Phone numbers associated with people in Services.
ColumnTypeDescription
idUUIDInternal unique identifier
phone_number_idVARCHAR(64)Planning Center entity ID
carrierVARCHAR(255)Mobile carrier name
created_atTIMESTAMPWhen the phone number was created in Planning Center
locationVARCHAR(255)Type of phone number (mobile, home, work)
numberVARCHAR(255)Phone number
primary_numberBOOLEANWhether this is the person’s primary phone number
updated_atTIMESTAMPWhen the phone number was last updated in Planning Center
e164VARCHAR(255)Phone number in E.164 format
person_idVARCHAR(64)Reference to the person
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_text_settings

Text messaging settings for people in Services.
ColumnTypeDescription
idUUIDInternal unique identifier
text_setting_idVARCHAR(64)Planning Center entity ID
carrierVARCHAR(64)Mobile carrier name
display_numberVARCHAR(64)Formatted phone number for display
general_emails_enabledBOOLEANWhether general email notifications are enabled
normalized_numberVARCHAR(64)Normalized phone number
reminders_enabledBOOLEANWhether reminder texts are enabled
scheduling_replies_enabledBOOLEANWhether scheduling reply texts are enabled
scheduling_requests_enabledBOOLEANWhether scheduling request texts are enabled
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

Administration & Settings

services_organizations

Organization-wide settings for Planning Center Services.
ColumnTypeDescription
idUUIDInternal unique identifier
organization_idVARCHAR(64)Planning Center entity ID
allow_mp3_downloadBOOLEANWhether MP3 downloads are allowed
calendar_starts_on_sundayBOOLEANWhether the calendar week starts on Sunday
ccliVARCHAR(64)CCLI license number
ccli_auto_reporting_enabledBOOLEANWhether automatic CCLI reporting is enabled
ccli_connectedBOOLEANWhether CCLI integration is connected
ccli_reporting_enabledBOOLEANWhether CCLI reporting is enabled
created_atTIMESTAMPWhen the organization was created in Planning Center
date_formatVARCHAR(64)Preferred date format
extra_file_storage_allowedBOOLEANWhether extra file storage is allowed
file_storage_exceededBOOLEANWhether file storage limit has been exceeded
file_storage_extra_chargesDOUBLE PRECISIONExtra charges for file storage
file_storage_extra_enabledBOOLEANWhether extra file storage is enabled
file_storage_sizeBIGINTTotal file storage size in bytes
file_storage_size_usedBIGINTUsed file storage size in bytes
legacy_idVARCHAR(64)Legacy organization identifier
music_stand_enabledBOOLEANWhether Music Stand app is enabled
nameVARCHAR(255)Organization name
owner_nameVARCHAR(255)Name of the organization owner
people_allowedINTEGERNumber of people allowed in the organization
people_remainingINTEGERNumber of people slots remaining
projector_enabledBOOLEANWhether projector features are enabled
rehearsal_mix_enabledBOOLEANWhether rehearsal mix features are enabled
rehearsal_pack_connectedBOOLEANWhether Rehearsal Pack is connected
required_to_set_download_permissionVARCHAR(255)Download permission requirements
secretVARCHAR(255)Organization secret key
time_zoneVARCHAR(255)Organization time zone
twenty_four_hour_timeBOOLEANWhether to use 24-hour time format
updated_atTIMESTAMPWhen the organization was last updated in Planning Center
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_folders

Folders for organizing service plans and songs.
ColumnTypeDescription
idUUIDInternal unique identifier
folder_idVARCHAR(64)Planning Center entity ID
containerVARCHAR(255)Type of items this folder contains
created_atTIMESTAMPWhen the folder was created in Planning Center
nameVARCHAR(255)Name of the folder
updated_atTIMESTAMPWhen the folder was last updated in Planning Center
ancestorsJSONBParent folders in the hierarchy
parentVARCHAR(64)Reference to the parent folder
campusVARCHAR(64)Reference to the campus
service_typesJSONBService types associated with this folder
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_tags

Tags for categorizing songs, people, and other entities.
ColumnTypeDescription
idUUIDInternal unique identifier
tag_idVARCHAR(64)Planning Center entity ID
nameVARCHAR(255)Name of the tag
tag_group_idVARCHAR(64)Reference to the tag group
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_tag_groups

Groups for organizing related tags.
ColumnTypeDescription
idUUIDInternal unique identifier
tag_group_idVARCHAR(64)Planning Center entity ID
allow_multiple_selectionsBOOLEANWhether multiple tags from this group can be selected
nameVARCHAR(255)Name of the tag group
requiredBOOLEANWhether a tag from this group is required
service_type_folder_nameVARCHAR(255)Associated service type folder name
tags_forVARCHAR(255)What type of entity these tags apply to
folder_idVARCHAR(64)Reference to the folder
tagsJSONBTags within this group
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_attachment_type_groups

Groups for organizing attachment types.
ColumnTypeDescription
idUUIDInternal unique identifier
attachment_type_group_idVARCHAR(64)Planning Center entity ID
nameVARCHAR(255)Name of the attachment type group
readonlyBOOLEANWhether this group is read-only (system-defined)
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_attachment_types

Types of attachments that can be associated with plans, songs, and other entities.
ColumnTypeDescription
idUUIDInternal unique identifier
attachment_type_idVARCHAR(64)Planning Center entity ID
aliasesTEXT[]Alternative names for this attachment type
built_inBOOLEANWhether this is a built-in (system-defined) type
capoed_chord_chartsBOOLEANWhether to show capoed chord charts
chord_chartsBOOLEANWhether chord charts are enabled
exclusionsTEXT[]File types to exclude
lyricsBOOLEANWhether lyrics are enabled
nameVARCHAR(255)Name of the attachment type
number_chartsBOOLEANWhether number charts are enabled
numeral_chartsBOOLEANWhether numeral charts are enabled
attachment_type_group_idVARCHAR(64)Reference to the attachment type group
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

services_report_templates

Templates for generating reports.
ColumnTypeDescription
idUUIDInternal unique identifier
report_template_idVARCHAR(64)Planning Center entity ID
bodyTEXTTemplate body content
is_defaultBOOLEANWhether this is the default template for its type
titleVARCHAR(255)Title of the report template
typeVARCHAR(50)Type of report (plan, item, etc.)
tenant_organization_idINTEGEROrganization identifier
system_statusVARCHAR(50)Data status
system_created_atTIMESTAMPWhen record was created in Parable
system_updated_atTIMESTAMPWhen record was last updated in Parable

Data Relationships

Key Relationships

  1. Service Planning Hierarchy
    • Service Types → Plans → Items
    • Plans → Plan Times → Plan People
  2. Team Structure
    • Teams → Team Positions → Person Team Position Assignments
    • Teams → Plan People → Schedules
  3. Song Management
    • Songs → Arrangements → Items
    • Songs → Attachments (chord charts, lead sheets)
  4. Scheduling Flow
    • People → Schedules → Plan People
    • People → Blockouts → Blockout Dates
  5. Resource Attachments
    • Plans → Attachments
    • Songs → Attachments
    • Items → Media

Query Patterns

Finding Scheduled Volunteers

SELECT
    pp.person_id,
    p.full_name,
    pp.team_position_name,
    pl.title as plan_title,
    pl.sort_date
FROM planning_center.services_plan_people pp
JOIN planning_center.services_people p ON pp.person_id = p.person_id
JOIN planning_center.services_plans pl ON pp.plan_id = pl.plan_id
WHERE pp.status = 'C'  -- Confirmed
    AND pl.sort_date >= CURRENT_DATE
ORDER BY pl.sort_date, p.full_name;

Analyzing Song Usage

SELECT
    s.title,
    s.author,
    COUNT(DISTINCT i.plan_id) as times_used,
    MAX(pl.sort_date) as last_used
FROM planning_center.services_songs s
JOIN planning_center.services_items i ON s.song_id = i.song_id
JOIN planning_center.services_plans pl ON i.plan_id = pl.plan_id
GROUP BY s.song_id, s.title, s.author
ORDER BY times_used DESC;

Data Integrity Rules

  1. Schema Qualification: Always use planning_center. prefix for all table references
  2. Row Level Security: RLS automatically handles multi-tenancy and status filtering - do not add manual filters
  3. Monetary Values: Any cost or fee columns are stored in cents - divide by 100.0 for display
  4. Scheduling Status Flags: Use fields like status and decline_reason to interpret plan assignments instead of checking system_status
  5. Direct ID Columns: Core tables such as services_plans and services_plan_people expose direct IDs for performance-sensitive joins

Common Mistakes to Avoid

  1. Missing Schema Prefix
    • FROM services_plan_people
    • FROM planning_center.services_plan_people
  2. Adding Redundant RLS Filters
    • WHERE tenant_organization_id = 1 AND system_status = 'active'
    • ✅ Trust RLS to handle this automatically
  3. Joining Without Schema
    • JOIN services_people p ON ...
    • JOIN planning_center.services_people p ON ...
  4. Forgetting Duration Conversion
    • SELECT duration_seconds as minutes
    • SELECT duration_seconds / 60.0 as minutes

Performance Considerations

  1. Indexes: All tables have optimized indexes on:
    • Primary keys and entity IDs
    • Join columns and foreign keys
    • Date columns for time-based queries
  2. Query Optimization:
    • Always use the planning_center. schema prefix
    • RLS handles tenant and status filtering automatically
    • Filter scheduling status or declined responses when relevant
    • Consider CTEs for complex aggregations
    • Use direct ID columns when available instead of relationship tables

Data Synchronization

All Services tables use the standard Parable synchronization pattern:
  • system_status: Tracks data lifecycle (‘transferring’ → ‘active’ → ‘stale’)
  • system_created_at: When record entered Parable
  • system_updated_at: Last Parable update
  • created_at/updated_at: Original Planning Center timestamps

Notes

  • Status codes often use single letters: C=Confirmed, U=Unconfirmed, D=Declined
  • All timestamps are stored in UTC
  • JSONB fields store complex nested data structures
  • File URLs may expire based on files_expire_at timestamps
  • Person records link to the main People app for complete profiles