Invitation logic