Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store and Retrieve check in and out data on server #8957

Closed
cweitat opened this issue Jul 7, 2023 · 7 comments · Fixed by #8994
Closed

Store and Retrieve check in and out data on server #8957

cweitat opened this issue Jul 7, 2023 · 7 comments · Fixed by #8994
Labels
Milestone

Comments

@cweitat
Copy link
Contributor

cweitat commented Jul 7, 2023

Currently check-in on the front end is done by updating the attendee profile with the date. We need proper data storage.

APIs required for check-in:
FE: On scan, ticket id and station id will be sent and check in type (registration/session) and the type like whether is it entering or leaving (in/out)
BE: To store the ticket id, datetime (with timezone), station_id, session details - if applicable (track name, session name and speaker name)

If user is already check-in for the session, API should returned that the user is already check in and don't create an entry unless:

  1. User has check out for the same session
  2. Same location but new session

If user is already check-in for the day, API should returned that the user is already check in and don't create an entry unless:

  1. User has check out for the same day

#8958 needs to be completed first

@mariobehling mariobehling added this to the Wikimania M6 milestone Jul 7, 2023
@mariobehling mariobehling assigned ghost Jul 12, 2023
@ghost
Copy link

ghost commented Jul 17, 2023

FE: in the check in app. Not implement in eventyay app.

@ghost
Copy link

ghost commented Jul 18, 2023

Hi @cweitat @mariobehling @DonChiaQE
Could you please share me the sample request (CURD) for this API.

@cweitat
Copy link
Contributor Author

cweitat commented Jul 18, 2023

@lthanhhieu
This requires new DB table

For POST:
send in EVENTYAY ID from the VCF on badge
station_id

Expected response: true/false

BE uses station_id to get the station_type and do the checks:
If station_type is check-in:
Check If user is already check-in for the session, API should returned that the user is already check in and only create an entry when:

  • User has a check out entry for the same session
  • Same location but new session

BE should be able to:
Store data with the datetime. and session details. refer to the above description

@nnhathung
Copy link
Contributor

nnhathung commented Jul 19, 2023

Hi @cweitat , could you help me clarify some question?
so this is info check in app request to us for checking in
{
"ticket_holder_id": {},
"station_id": {},
"session_id": {}, // if station_type is session, session_id must be populated
}

  1. is the eventyay id (or ticket id) you mentioned is ticket_holder_id?

  2. session_id must be populated if user check in session, so there're 2 ways for BE to know which session user checking in:

please help me with these 2 points.

FYI: @lthanhhieu

@cweitat
Copy link
Contributor Author

cweitat commented Jul 19, 2023

@nnhathung for registration is the ticket_id. for check session/daily, it will be badge id (VCF EVENTYAY id)

ok; passing the session_id wont be an issue.

@nnhathung
Copy link
Contributor

yup, thanks @cweitat

@nnhathung
Copy link
Contributor

Response for Check in/check out
case success:
{
success: true,
message: "Attendee already checked in"
{

case fail:
success: false,
message: "Attendee already checked in"
}

badge id (VCF EVENTYAY id) = ticket_holder_id

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants