How scheduling works
The scheduling system operates through a state machine with multiple phases:Initial proposal
The system sends the first person (User A) a date/time suggestion:The AI generates a proposal at least 2 days in the future, typically a weekend evening or weekday after-work time.
User A responds
User A can:
- Accept: “yes”, “works for me”, “sounds good”, etc.
- Propose alternative: “how about Friday at 6pm instead?”
- Need clarification: Vague response triggers a follow-up question
Proposal to User B
If User A accepts, the system asks User B about the same time.If User A proposes an alternative, the system validates it (must be 2+ days away) and asks User B about the new time.
User B responds
Same options as User A:
- Accept → move to confirmation
- Propose alternative → ask User A about new time
- Need clarification → follow-up question
Scheduling phases
The system tracks scheduling state in the database:| Phase | Description |
|---|---|
PROPOSING_TO_A | Sending initial time proposal to User A |
WAITING_FOR_A_REPLY | Waiting for User A to respond |
PROPOSING_TO_B | Sending time proposal to User B |
WAITING_FOR_B_REPLY | Waiting for User B to respond |
WAITING_FOR_A_ALTERNATIVE | User B proposed new time, waiting for A’s response |
WAITING_FOR_B_ALTERNATIVE | User A proposed new time, waiting for B’s response |
AGREED | Both accepted the same time |
FAILED | Scheduling attempts exhausted without agreement |
ESCALATED | Flagged for manual intervention |
AI response analysis
When you respond to a scheduling message, AI analyzes your text to determine:-
Accepted: Clear agreement with proposed time
- Signal words: “yes”, “works for me”, “sounds good”, “perfect”
- Must not mention any alternative times
-
Alternative proposed: Suggesting a different time
- Signal phrases: “how about”, “what about”, “can we do”, “instead”
- Resolves relative dates like “tomorrow”, “next Friday”, “in 6 days”
- Validates that proposed date is at least 2 days away
-
Needs clarification: Ambiguous response
- Can’t tell if accepting or proposing something else
- Triggers follow-up: “just to confirm — does that time work for you?”
Example conversation
Example conversation
System: How about Saturday, March 8th at 7pm?User A: Actually Friday works better for meSystem (to User A): thanks - checking with your match now. i will confirm shortly.System (to User B): How about Friday, March 7th at 7pm?User B: 8pm would be betterSystem (to User B): thanks - checking with your match now. i will confirm shortly.System (to User A): How about Friday, March 7th at 8pm?User A: perfectSystem (to User B): great - you’re both confirmed. here’s your suggested date: …
Venue suggestions
Once you agree on a time, the AI suggests a venue based on:- Location: Your city from onboarding
- Profiles: Hobbies, drinking preferences, vibe, activity level
- Date time: Appropriate for the day/time (brunch spot for Sunday morning, bar for Friday night)
Scheduling limits
- Minimum lead time: 2 days (proposals less than 2 days out are rejected)
- Attempt count: System tracks attempts and may escalate after many failed negotiations
- Actor validation: Ensures responses come from the person being asked (prevents race conditions)
While scheduling is happening, you can still send free-form messages to your match. Scheduling messages are clearly system-generated, while your personal messages appear as normal texts.
What if scheduling fails
If scheduling doesn’t work out after multiple attempts:- Escalation: Admin is notified to potentially intervene
- Manual coordination: Matchmaker may reach out to help coordinate
- Match end: In extreme cases, the match may be ended
Messaging during scheduling
You can message your match freely while scheduling is happening. The system distinguishes between:- Scheduling messages: System-generated time proposals and confirmations
- Personal messages: Your free-form texts to your match
After the date
Once you’ve agreed on a date time and venue:- Confirmation sent: Both receive the venue suggestion
- Portal stays open: Continue messaging until the match ends
- Show up: Meet at the suggested venue and time
- Match lifecycle: Admins may end the match after the date
Tips for smooth scheduling
- Respond promptly: Faster responses = faster scheduling
- Be clear: “Yes” or “how about Friday at 6pm” rather than “maybe”
- Be flexible: Offering alternatives speeds things up
- Use specific times: “7pm” is better than “evening”
- Allow lead time: Suggest times at least 2 days out
How matching works
Back to matching overview
Scheduling system
See technical implementation
AI models
Learn about AI response analysis
Admin monitoring
How admins track scheduling