joelface / bg1

An unofficial Lightning Lane and boarding group client
GNU General Public License v3.0
75 stars 31 forks source link

requiredCurrentGeoRegionId Support #6

Closed MichaelRPowell closed 1 year ago

MichaelRPowell commented 1 year ago

Hello!

I was wondering if this project supports or somehow shares the necessary "requiredCurrentGeoRegionId" with the API.

A virtual queue for an expo is opening Thursday, and it seems to have a code to restrict the location of people trying to register. I am within the region, but I was looking for the fastest way to register without using the mobile application. This project seems to allow for fast queuing for other virtual queues, but those do not have geolocation requirements.

Maybe something to consider (if possible) for a future enhancement?

Sample from the page showing the two possible queues (Guardians of the Galaxy and the runDisney Merc Expo):

{ "responseStatus": "OK", "queues": [ { "queueId": "90e81c93-b84c-48e0-a98d-121094fa842e", "name": "Guardians of the Galaxy: Cosmic Rewind", "currentArrivingGroupStart": 0, "currentArrivingGroupEnd": 0, "currentArrivingGroupStartDisplayName": "0", "currentArrivingGroupEndDisplayName": "0", "state": "CLOSED", "isAcceptingPartyCreation": false, "isAcceptingJoins": false, "type": "BOARDING_GROUP", "guestIdMode": "IDENTIFIED", "waitTimeMin": null, "waitTimeMax": null, "showQueueProgress": true, "showRedeemBarcode": false, "externalDefinitionId": "411499845;entityType=Attraction", "legalDisclaimer": { "showOnIntro": true, "showOnConfirmation": true, "showOnMyLines": true, "disclaimerText": "Estimated return time may change or pause prior to callback. Check back here for the latest information.\n\nCapacity is limited. A boarding group does not guarantee the ability to experience Guardians of the Galaxy: Cosmic Rewind." }, "postedSummonReturnWindowMinutes": 60, "contentId": "wdw.virtual-queue_content-page.1_0.en_us.vq_gotg", "howToEnterMessage": "Guests can request to join the virtual queue at 7:00 AM (valid theme park ticket and Disney Park Pass reservation for EPCOT required) or 1:00 PM after entering EPCOT.", "tabContentId": "80007838;entityType=theme-park", "categoryContentId": "attraction", "requiredCurrentGeoRegionId": null, "nextScheduledPartyCreationOpenTime": "06:00:00", "nextScheduledOpenTime": "07:00:00", "joinWindowIdHash": null, "dayPhase": "PRE_OPEN", "maxPartySize": 20, "showDowntimeAlert": false, "showGetDirections": true, "boardingGroupNames": {}, "isEarlyPartyCreationEnabled": true, "isPlanningPartyPreselectionEnabled": true, "queueVersion": 4541 }, { "queueId": "dea87f37-e0ab-4aa4-838e-b0c565eba09b", "name": "runDisney Merchandise Shop", "currentArrivingGroupStart": null, "currentArrivingGroupEnd": null, "currentArrivingGroupStartDisplayName": null, "currentArrivingGroupEndDisplayName": null, "state": "CLOSED", "isAcceptingPartyCreation": false, "isAcceptingJoins": false, "type": "BOARDING_GROUP", "guestIdMode": "IDENTIFIED", "waitTimeMin": null, "waitTimeMax": null, "showQueueProgress": true, "showRedeemBarcode": true, "externalDefinitionId": "18938064;entityType=Recreation", "legalDisclaimer": { "showOnIntro": true, "showOnConfirmation": true, "showOnMyLines": true, "disclaimerText": "Estimated return time may change or pause prior to callback. Check back here for the latest information. \n\nCapacity is limited. Joining the virtual queue does not guarantee access to the runDisney Merchandise Shop or any experience at the runDisney Expo. Merchandise is limited and not guaranteed." }, "postedSummonReturnWindowMinutes": 60, "contentId": "wdw.virtual-queue_content-page.1_0.en_us.vq_runDisney", "howToEnterMessage": "On February 23, Guests can request to join the virtual queue at 8:30 AM once within approximately 45 miles of Walt Disney World Resort.", "tabContentId": "80008033;entityType=Entertainment-Venue", "categoryContentId": "special-event", "requiredCurrentGeoRegionId": "central-florida", "nextScheduledPartyCreationOpenTime": "07:30:00", "nextScheduledOpenTime": "08:30:00", "joinWindowIdHash": null, "dayPhase": "PRE_OPEN", "maxPartySize": 6, "showDowntimeAlert": false, "showGetDirections": false, "boardingGroupNames": {}, "isEarlyPartyCreationEnabled": true, "isPlanningPartyPreselectionEnabled": false, "queueVersion": 76 } ], "showCastAssistanceCode": true }

joelface commented 1 year ago

Hi, Michael!

BG1 will probably still work for this queue (standard disclaimer that BG1 is never guaranteed to do anything goes here). It did the last time there was a runDisney merch virtual queue, anyway. From past investigation, I found that the location requirement was only enforced on the client side and didn't involve any additional data sent to the server. Since it's relatively trivial to spoof your location anyway, I probably won't add specific support for requiredCurrentGeoRegionId unless there are future API changes that require doing so.

Hope this helps. Thanks for reaching out!

MichaelRPowell commented 1 year ago

I found that the location requirement was only enforced on the client side and didn't involve any additional data sent to the server.

Perfect! That is great to hear. Thank you for taking the time to respond and continually maintaining this project.