# Goście w Rezerwacjach
- Przypomnienie w rezerwacji
- review
- markietyng
ReservationGuest
- email:string
- ReservationGuest has_many Reservation
- polimorficzny Reviewerable do `reviews`
- cap, na ilość slotów w rezerwacje
po stworzeniu opłaconej rezerwacji (confirmation)
- > generuj link do podejrzenia
- CustomerIO
`send_review_reminder_email`
po upływie czasu przed Rezerwacją
-> przypomnienie CustomerIO
- moje rezerwacje
- znika możliwość oceniania wielu dań na raz
m
jak kliknie linka
- kontrola ilości slotów (czy full)
- rejestracja powinna dostać dodatkowe pole że jest sparowany z tym rezerwacją
## Nowa koncepcja 2.0 Krzaczka
#### Encja ReservationGuest
- params: email
- confirmed:bool
```plantuml
@startuml
class ReservationGuest {
+ reservation_id FK
+ email:string
+ confirmed_at:datetime
+ user_id FK
}
@enduml
```
#### Open-link do rezerwacji
- każdy mający link może się zapisać, co tworzy ReservationGuest
- [x] link ma token generowany per rezerwacja (nie per rezerwacja i user - to niepotrzebne)
[x] TEST stworzyć nowego ReservationGuest można jeśli nie jest przekroczona ilość slotów (max tylu POTWIERDZONYCH ReservationGuest per rezerwacja co ilość slotów)
#### TODO implikacje dla oceniania <---------------------------------------------------
- można oceniać tylko jedno menu
- oceniać mogą "właściciele" rezerwacji lub potwierdzeni goście
#### implikacje dla "Moje rezerwacje"
- [x] query ma zwracać rezerwacje:
- [x] które założyłem
- [x] TEST lub których jestem/byłem potwierdzonym uczestnikiem
#### Todosy
- [x] stworzyć tabelkę
- [x] generowanie tokenu na obiekcie rezerwacji
- [x] i Create|Read ReservationGuest
- -------> [ ] (create w ramach UpdateReservation, emails[]
- [x] a read w formie pola na ReservationType
- [x] i metodę na ReservationType i metodę w modelu która zwróci open-link do dodawania gości
- [x] mutacja addReservationGuest
- create reservation guest (just email)
- [x] event do customer.io
- [x] mutacja acceptReservationGuest
- ustawia user_id (wiąże z userem z sesji)
- ustawia confirmed_at na Time.zone.now
- [x] relacja w rezerwacji
- [x] fabrykator
- [x] rozszerzenie eventu do customer.io
- [x] read na rezerwacji na podstawie tokena
- [x] acceptReservationGuest