Shopping
The shared list, your stores and their aisles, finished trips with receipts and prices, and what you bought before.
Commands
- PostSet a store's aisles in walking order
shopping.aisle.setReplaces a store's aisles with the list given, in walking order. - PostChange one aisle's label, sign text or sign photo
shopping.aisle.updateSets only the fields given. - PostAdd a product group
shopping.group.createAdds a set of products only some stores carry, such as "Trader Joe's", "Costco" or "Hardware". - PostRemove a product group
shopping.group.removeDeletes the group, its membership list and the stores' carrying of it. - PostPut a product in a group or take it out
shopping.group.set_memberDoes nothing when the product is already in the group (or already out of it). - PostRename a product group
shopping.group.updateChanges the group's name. - PostPut something on the shopping list
shopping.item.addAdds a product to the household's shared shopping list. - PostPut several things on the shopping list at once
shopping.item.add_manyAdds up to 200 items, each as shopping.item.add takes it, in order, recorded as one change. - PostCheck an item off the list (got it), or put it back
shopping.item.checkis_checked true: the shopper got it. - PostTake items off the shopping list
shopping.item.removeDeletes one item (item_id) or several (item_ids) from the list. - PostChange a list item's product, amount, note or who it's for
shopping.item.updateSets only the fields given; null clears the amount, note or person. - PostPut a product in an aisle at a store
shopping.product.placeRecords which aisle a product is in at a store. source person is someone's own choice and is never replaced by Rigel; only people may use it. source rigel is Rigel's best guess: it is ignored (placed: false) when a person already placed the product. aisle_id null clears the placement, whatever its source, so Rigel can place it again. - PostAdd a store
shopping.store.createAdds a store the household shops at, in person or online, last in the store picker. - PostRemove a store
shopping.store.removeDeletes the store with its aisles, placed products, carried groups and carry overrides. - PostMove a store to a position in the store picker
shopping.store.reorderPuts the store just before before_store_id, or last when it is null. - PostSay a store carries a product group, or stops
shopping.store.set_carries_groupDoes nothing when the store already carries the group (or already doesn't). - PostSay a store does or doesn't carry one product
shopping.store.set_carries_productOverrides what the store's groups say about one product. true: carried. false: not carried. null: remove the override so the groups decide again. - PostChange a store's name, address or whether it's online
shopping.store.updateSets only the fields given. - PostFinish a shopping trip
shopping.trip.finishFinishes the trip to store_id (or the items checked off with no store, when store_id is left out): saves a trip with those checked items in the order they were checked, takes them off the list, and has Rigel put what was bought away in inventory a moment later. - PostRecord a trip from a receipt or an order
shopping.trip.recordRecords what a receipt or order email says was bought. - PostDelete a trip recorded by mistake
shopping.trip.removeDeletes the trip and its items. - PostCorrect a saved trip
shopping.trip.updateSets only the fields given on a saved trip: its store (null for none), date, total, currency, receipt photo, order number and the day an order arrived. items corrects the trip's own items (product, amount, note, price, brand; each sets only the fields it gives) and remove_item_ids drops items the trip didn't actually buy.
Queries
- GetWhat we bought before
shopping.history.lookupRecent shopping trips with what they bought, for "same as last week" and for usual amounts. - GetThe shopping list
shopping.list.getWhat we need: the unchecked items, plus items checked off at this store on the current trip. - GetWhere and when an inventory item was bought
shopping.purchase.for_itemThe trip that bought this inventory item, when shopping put it away: the store, the date and, if a receipt was read, the price. - GetStores and what they carry
shopping.store.listThe stores in picker order, each with its aisles in walking order and what the signs list, the product groups it carries, and how many products are placed in its aisles. - GetOne shopping trip
shopping.trip.getA trip with everything it bought, in the order the items were checked off, with the minutes since the previous one, plus prices, the total and the emails it was recorded from. - GetPast shopping trips
shopping.trip.listPast trips and orders, newest first by date: store, date, who shopped, how many things, the total if known, and how long the shopping took.