'datetime', 'responded_at' => 'datetime', ]; } protected static function booted(): void { static::creating(function (Invitation $invitation) { if (empty($invitation->uuid)) { $invitation->uuid = (string) Str::uuid(); } if (empty($invitation->rsvp_token)) { $invitation->rsvp_token = Str::random(40); } }); } public function getRouteKeyName(): string { return 'uuid'; } public function rsvpUrl(): string { return route('meet.invitations.rsvp', ['invitation' => $this->uuid, 'token' => $this->rsvp_token]); } public function room(): BelongsTo { return $this->belongsTo(Room::class, 'room_id'); } }