# INVEETAIRE — Invitation Times (Phase 5)

Phase 1–4 have been completed.

This is NOT a new feature phase.

This phase focuses on stabilization, verification, and data integrity.

Do NOT introduce new functionality.

====================================================
OBJECTIVE
====================================================

Review the entire Invitation Times implementation.

Verify that all business requirements are correctly implemented.

Fix any incorrect assumptions or hidden issues.

====================================================
REVIEW AREAS
====================================================

1.

Data Synchronization

Review how Invitation Times are synchronized into event_sessions.

Verify that editing Invitation Times does NOT unnecessarily recreate rows.

Existing event_session IDs should remain stable whenever possible.

Explain the synchronization algorithm.

====================================================

2.

Guest Assignment Integrity

Verify that:

guest_events.event_session_id

always remains valid.

Review all scenarios:

- add time
- edit time
- delete time
- reorder time

Explain what happens in every scenario.

====================================================

3.

Delete Invitation Time

Review current delete behavior.

If Guests are still assigned to a deleted Invitation Time,

recommend and implement the safest solution.

The preferred UX is:

"This Invitation Time is currently assigned to X Guests.

Please choose another Invitation Time before deletion."

rather than silently falling back.

====================================================

4.

Live Preview Verification

Verify:

/{workspace}/livepreview

How does Live Preview resolve Invitation Time?

Expected behavior:

Live Preview has NO Guest context.

Therefore it should always display the earliest/default Invitation Time.

Verify this implementation.

If incorrect, fix it.

====================================================

5.

Public Guest Invitation Verification

Verify:

/{workspace}/i/{guest_token}

Create test cases.

Example:

Holy Matrimony

Invitation Times:

09:30

11:30

Guest Alvin

assigned

09:30

Guest Agnes

assigned

11:30

Verify:

Alvin sees:

09:30

Agnes sees:

11:30

Confirm renderer correctly resolves Guest Invitation Time.

====================================================

6.

Regression Testing

Verify the following remain unchanged:

✓ Attendance

✓ RSVP

✓ QR Scanner

✓ Dashboard

✓ Analytics

Crew must continue checking guests in by Event only.

Invitation Times must never affect operational modules.

====================================================

7.

Theme Compatibility

Verify that every invitation theme continues using:

event_date

No theme should require modification.

====================================================

8.

Performance Review

Review the SQL joins introduced in PublicInvitationModel.

Ensure no unnecessary queries were added.

Recommend optimizations if needed.

====================================================
DELIVERABLES
====================================================

Generate:

1. Review findings

2. Any bugs discovered

3. Files modified

4. Data synchronization explanation

5. Guest rendering verification

6. Live Preview verification

7. Regression testing report

8. Final production readiness assessment

If no issues are found,

explicitly state that the Invitation Times feature is production ready.

Stop after Phase 5.