revelrylabs / bn-mobile-react

BigNeon React Native Repo
BSD 3-Clause "New" or "Revised" License
2 stars 8 forks source link

Scanner - Live Event but Guest List check in is disabled #659

Closed Mcscott142 closed 5 years ago

Mcscott142 commented 5 years ago

For Event Flock Of Seagulls, door time is now, the event is today. This was tested on stage deploy v41.

I can scan QR codes but swiping on Guest Name or selecting them to check in manually is disabled. Missing redeem key. Cannot check in at this time. is the message when selecting a name from the guest list.

Using superuser@test.com account. Happening on iOS and Android.

Mcscott142 commented 5 years ago

Same result via Expo: I got a JS warning, probably not the culprit but posting here in case.

[11:43:35] Warning: Failed prop type: The prop `onRequestClose` is marked as required in `Modal`, but its value is `undefined`.
- node_modules/prop-types/checkPropTypes.js:20:20 in printWarning
- node_modules/prop-types/checkPropTypes.js:83:12 in checkPropTypes
- node_modules/react/cjs/react.development.js:1501:19 in validatePropTypes
- node_modules/react/cjs/react.development.js:1590:22 in createElementWithValidation
* src/constants/modals.js:40:5 in ActivityModal
- node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js:10865:22 in mountIndeterminateComponent
- node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js:14091:21 in performUnitOfWork
- ... 14 more stack frames from framework internals
bryanjos commented 5 years ago

Missing redeem key. Cannot check in at this time.

Is that not the correct behavior? I remember when I first was testing here, I got that error for an event and then you did a thing on the web app and then it worked. Maybe something missing there on the backend and not getting passed in the api?

Mcscott142 commented 5 years ago

If it was actually missing the Redeem Key then I don't think I'd be able to Scan it successfully. But, yes that's the correct behaviour when there is no redeem key.

daybreaker commented 5 years ago

Yeah... if there was no redeem key, the QR code shouldnt be generating.

So the problem is now: Which part is broken?

Mcscott142 commented 5 years ago

I would think the Event has a Redeem key. Event I created for this: https://beta.bigneon.com/admin/events/d741627b-d1c5-4db0-890d-868660928e3b/edit

bryanjos commented 5 years ago

So I'm not seeing a redeem_key property here:

[12:04:06] Object {
[12:04:06]   "additional_info": null,
[12:04:06]   "age_limit": null,
[12:04:06]   "cancelled_at": null,
[12:04:06]   "created_at": "2019-03-22T15:13:43.592204",
[12:04:06]   "door_time": "2019-03-22T17:30:00",
[12:04:06]   "event_start": "2019-03-23T03:30:00",
[12:04:06]   "event_type": "Music",
[12:04:06]   "external_url": null,
[12:04:06]   "id": "d741627b-d1c5-4db0-890d-868660928e3b",
[12:04:06]   "is_external": false,
[12:04:06]   "localized_times": Object {
[12:04:06]     "door_time": "Fri, 22 Mar 2019 10:30:00 -0700",
[12:04:06]     "event_end": "Mon, 25 Mar 2019 02:00:00 -0700",
[12:04:06]     "event_start": "Fri, 22 Mar 2019 20:30:00 -0700",
[12:04:06]   },
[12:04:06]   "max_ticket_price": 1200,
[12:04:06]   "min_ticket_price": 1200,
[12:04:06]   "name": "A Flock Of Seagulls",
[12:04:06]   "organization_id": "8bbcbcd5-bd21-4fb1-88be-8ebffcd43b84",
[12:04:06]   "promo_image_url": "https://i.scdn.co/image/0e0b74658f7e16190f23d795648c888c4dd40f2a",
[12:04:06]   "publish_date": "2019-03-22T15:13:44.966903",
[12:04:06]   "status": "Published",
[12:04:06]   "top_line_info": null,
[12:04:06]   "tracking_keys": Object {
[12:04:06]     "facebook_pixel_key": null,
[12:04:06]     "google_ga_key": null,
[12:04:06]   },
[12:04:06]   "user_is_interested": false,
[12:04:06]   "venue": Object {
[12:04:06]     "address": "Starbucks, Canal Street, New Orleans, LA, USA",
[12:04:06]     "city": "New Orleans",
[12:04:06]     "country": "United States",
[12:04:06]     "created_at": "2018-12-18T17:38:00.214928",
[12:04:06]     "google_place_id": "ChIJWdqT2AymIIYRd7W3iDWiyzA",
[12:04:06]     "id": "ce0eceed-e1ce-471e-8a3a-7435ace7f035",
[12:04:06]     "is_private": true,
[12:04:06]     "latitude": 29.9526146,
[12:04:06]     "longitude": -90.0673481,
[12:04:06]     "name": "Atlantis",
[12:04:06]     "organization_id": "108898e1-06e1-47a4-b2a9-7f1a1ff60fd3",
[12:04:06]     "phone": "+ 1 (234) 567-890",
[12:04:06]     "postal_code": "70130",
[12:04:06]     "promo_image_url": "https://res.cloudinary.com/bigneon-dev/image/upload/v1545154644/bigneon/hdgdemdqs72xxji3u07b.png",
[12:04:06]     "region_id": "27e3499e-5b53-4ae8-91bf-63bf8a500fe7",
[12:04:06]     "state": "Louisiana",
[12:04:06]     "timezone": "America/Los_Angeles",
[12:04:06]     "updated_at": "2018-12-18T17:39:14.111328",
[12:04:06]   },
[12:04:06]   "venue_id": "ce0eceed-e1ce-471e-8a3a-7435ace7f035",
[12:04:06] }

Simulator Screen Shot - iPhone XR - 2019-03-22 at 12 04 48

bryanjos commented 5 years ago

Going to keep digging deeper

bryanjos commented 5 years ago

So the scan came back with a redeem key:

[12:14:18] Object {
[12:14:18]   "event_id": "d741627b-d1c5-4db0-890d-868660928e3b",
[12:14:18]   "extra": "",
[12:14:18]   "id": "c8c14c39-67f3-4658-aa25-506ecf9f53f8",
[12:14:18]   "redeem_key": "BMX6RSVAG",
[12:14:18] }
bryanjos commented 5 years ago

So I'm going to conclude that based on the evidence I have found, the redeem_key is not being given to us from the events endpoint for some reason.

daybreaker commented 5 years ago

When you were looking in the manual checkin, the redeem key would be on a ticket/guest though, not the event info.

bryanjos commented 5 years ago

ah, got it. I'll check again

bryanjos commented 5 years ago

Ok that's better. The redeem_key is null for all the tickets I see for that show:

[12:21:57] Object {
[12:21:57]   "door_time": "2019-03-22T17:30:00",
[12:21:57]   "email": "bryan@revelry.co",
[12:21:57]   "event_id": "d741627b-d1c5-4db0-890d-868660928e3b",
[12:21:57]   "event_name": "A Flock Of Seagulls",
[12:21:57]   "event_start": "2019-03-23T03:30:00",
[12:21:57]   "first_name": "Bryan",
[12:21:57]   "id": "c8c14c39-67f3-4658-aa25-506ecf9f53f8",
[12:21:57]   "last_name": "Joseph",
[12:21:57]   "order_id": "4b0ba7aa-12ff-4066-b6ae-450f661b96f4",
[12:21:57]   "order_item_id": "40ac6ce0-e9f0-40ad-9ddf-381e509133f3",
[12:21:57]   "phone": null,
[12:21:57]   "price_in_cents": 1200,
[12:21:57]   "redeem_date": "2019-03-22T17:30:00",
[12:21:57]   "redeem_key": null,
[12:21:57]   "refund_supported": true,
[12:21:57]   "status": "Purchased",
[12:21:57]   "ticket_type": "General Admission",
[12:21:57]   "user_id": "4496bec2-28d4-4c72-aeb2-e6cb57c7c335",
[12:21:57]   "venue_id": "ce0eceed-e1ce-471e-8a3a-7435ace7f035",
[12:21:57]   "venue_name": "Atlantis",
[12:21:57] }
bryanjos commented 5 years ago

So definitely seems as though we aren't getting it from the api

daybreaker commented 5 years ago

Weird. And its not null when creating the QR code?

Is this the output directly from the api response, or the object being passed to the Component?

bryanjos commented 5 years ago

From the api. I went back and checked there just in case.

daybreaker commented 5 years ago

Cool. Just making sure it wasnt something we were modifying between the API and Component

Definitely sounds like an API thing

bryanjos commented 5 years ago

So @Mcscott142 I think we've concluded that for some reason, we are not getting back the redeem key from the api. It is coming from the api as null

Mcscott142 commented 5 years ago

cc @zmelamed @Krakaw

zmelamed commented 5 years ago

The example ticket payload you provided has a redeem_date set... could it be possible these tickets have already been redeemed?? Maybe through the scanner testing that Colin was doing... Have you tried it on a ticket that’s just been purchased??

bryanjos commented 5 years ago

All the tickets returned had a null redeem_key. I can try again with a new ticket

bryanjos commented 5 years ago

I see redeem keys for all of them now

zmelamed commented 5 years ago

On the version of the latest staging deploy of the TestFlight app that I’m running, flock of seagulls guest list works.. it lets me check gets in through the guest list (though guest list opening caused crashing at times... check sentry)