bentocorp / ios

The customer iOS app
2 stars 0 forks source link

Default Time Window Logic #520

Open vcardillo opened 8 years ago

vcardillo commented 8 years ago

We're having an issue where all customers are just selecting their delivery window to be 11-12, since (we surmise) that's what the app is defaulting to. In order to be able to use less drivers for more deliveries, we need to be able to smooth this out. Here are the simple changes I'd like us to make:

Spec 1

I'm adding DefaultTimeMode to the AvailableServices->OrderAhead->availableMenus->menus object:

menus": [
    {
        "Menu": {},
        "MenuItems": [],
        "Times": [],
        "SelectedTime": "random"
...

Logic Possible values: random | useDefault | first

IF random, THEN select a random time window be the default selection IF useDefault, then execute as per Spec 2 below IF first, then this is the current behavior, where the first time window is the default selection

I've set the backend to use the random option, currently.

Spec 2

I'm adding an isDefault attribute to the AvailableServices->OrderAhead->availableMenus->menus->Times object:

{
    "start": "17:00",
    "end": "18:00",
    "available": true,
    "delivery_price": "1.99",
    "isDefault": false
},

Logic IF isDefault is true, THEN set this time as the default time window for this particular menu

On dev.

josephlausf commented 8 years ago

random window - http://recordit.co/Pc7bhBc0tt