Skip to content
Back to challenges
Grain and KeysConcept Challengeadvanced20 min

Support escalation bridge

Resolve support tickets to agents when escalation history means one ticket can involve several agents over time.

How this preview works
Preview this problem before signing in. Sign in to save progress and submit work.

Concept

many-to-many-modeling

The primary modeling idea this problem reinforces.

Requirements

4

Business needs the model must satisfy.

Read the concept guide: Bridge tables
Scenario

A customer support team wants to analyze first-touch ownership, escalations, and specialist handoffs. A ticket starts with one agent, can escalate to another queue, and can return to the original agent after a callback.

Why this matters

A direct ticket-to-agent relationship answers only current ownership. Escalation history is a relationship with its own grain, timing, and attributes, so it needs a bridge or factless fact rather than a single foreign key on the ticket.

Requirements
  • Keep tickets and agents as separate reusable entities.
  • Add a ticket-agent assignment bridge for escalation history.
  • Add ticket, agent, and assigned-at fields to the bridge.
  • Declare N:1 relationships from the bridge to both ticket and agent entities.
Read-only starter workspace
Inspect the authored starting ERD, then open the workspace to edit and run the checks. Saving your progress needs a free account.

Template

Support escalation starter workspace

The model users start from in the full workspace.

Entities

2

Seeded tables visible in the public preview.

Dialect

postgresql

Generated SQL target for this starter model.

Mini Map

This preview is read-only. Open the workspace to edit and verify; saving needs a free account.

Open workspace

Try the question first.

The discussion has other people's approaches and solutions. Give it a real attempt before you read them.