PPactDocs
Social

Calendar

A month-grid view of every draft and scheduled post across connected accounts, with per-account cadence at a glance and a conflict detector for double-booked slots.

Calendar

The calendar is the planning view over your social pipeline. It reads posts from GET /v1/social/posts and accounts from GET /v1/social/accounts, then buckets each post onto a day cell so you can see what's drafted, what's scheduled, and where your cadence has gaps or pile-ups — across every connected network at once.

Live surface

The calendar renders live post data. Its bucketing and conflict logic live in web/src/app/(app)/social/calendar/calendar-data.ts and are unit-tested.

How posts land on the grid

Each post is placed by its primary date stamp, in priority order: scheduled_for wins, then published_at, then created_at. So a draft scheduled for tomorrow shows up on tomorrow's cell even though it was created today, and a published post sits on the day it went out. Drafts with no schedule fall back to their creation date.

Conflict detection

The calendar flags double-booked slots — two posts with status scheduled targeting the same provider account within the same window. This surfaces the common mistake of stacking two LinkedIn company-page posts a few minutes apart. Only posts that are actually scheduled (with a scheduled_for value) are considered; drafts and already-published posts are excluded from conflict checks.

Rescheduling

Changing a post's schedule updates its scheduled_for field and moves it to the new cell. Because scheduling and immediate publish are mutually exclusive at the API level, a post is either planned for a future time or sent now — never both.

The calendar plans; it does not auto-send

A scheduled post shown on the calendar is a plan, not a queued send. There is no background worker yet that publishes due posts at their scheduled_for time — a post goes out only when you (or the UI's Publish action) call POST /v1/social/posts/{public_id}/publish. Think of the calendar as your editorial plan and reminder surface until the auto-publisher ships.