Food · 6 min read

Using the Shopping List and Batch Pantry Storage in Ayurveda & Asana Yoga

Learn how batch-level pantry Storage (quantities, expiration dates, and meal stock deductions) and calendar-linked Shopping Lists work in Ayurveda & Asana Yoga.

Practice this guide inside Ayurveda & Asana Yoga on iPhone & iPad 908 illustrated postures, guided prāṇāyāma timers, and personalized dosha meal plans with USDA macros.
Download on the App Store
Using the Shopping List and Batch Pantry Storage in Ayurveda & Asana Yoga

Illustrated companion visual for Using the Shopping List and Batch Pantry Storage in Ayurveda & Asana Yoga in Ayurveda & Asana Yoga.

Cooking whole-food vegetarian and Ayurvedic meals on a weeknight is much easier when you know which pulses, grains, and spices are already in your cupboard and which perishables are approaching their expiration date.

In Ayurveda & Asana Yoga, the Storage and Shopping List tabs are backed by structured local SwiftData models (`StorageItem`, `Batch`, `MealLogStorageLink`, `ShoppingListModel`, and `ShoppingListItem`) that track batch quantities, expiration dates, automatic meal-log stock deductions, item prices, and shopping reminders.

This guide explains how both tools work in the native app and how to organize a low-waste Ayurvedic pantry.

How Batch-Level Storage (`StorageItem` & `Batch`) Tracks Quantities and Expiration

In the Storage tab (`StorageListView` and `StorageItemDetailView`), each stored ingredient (`StorageItem`) links to a catalog or custom `FoodItem` and holds one or more `Batch` records. Because you might buy a new 500-gram bag of mung dal before finishing the last 120 grams of an older bag, storing separate batches lets each batch carry its own `quantity` and optional `expirationDate`.

The app automatically computes your `totalQuantity` across all batches of that food and surfaces the `firstExpirationDate` (the earliest expiration date among active batches) so you can use older stock first ("First In, First Out"). In addition, `MealLogStorageLink` and `StorageTransaction` track stock changes when stored foods are consumed in logged meals or manually adjusted.

  • Multi-Batch Tracking (`Batch`): Add separate batches with distinct gram quantities and optional expiration dates under a single food item.
  • Earliest Expiration Surfacing (`firstExpirationDate`): Helps you spot refrigerator perishables (yogurt, greens, tofu) or older dry goods before they expire.
  • Transaction History & Meal Links (`StorageTransaction` / `MealLogStorageLink`): Records additions, manual consumption adjustments, and meal-linked stock deductions.

How Shopping Lists Connect Items, Optional Prices, Calendar Dates, and Reminders

In the Shopping List tab (`ShoppingListView` and `ShoppingListDetailView`), you can create multiple named lists (`ShoppingListModel`). Each list is linked to an `eventStartDate` on the calendar timeline and supports an optional local notification reminder (`reminderMinutes` before the scheduled time).

Inside a list, each `ShoppingListItem` links to a catalog `FoodItem` (or custom name) and tracks `quantity`, an optional `price`, and an `isBought` checkbox—allowing the list to calculate both `totalPrice` and `purchasedPrice` as you check items off in the store, while `DismissedFoodID` remembers suggested items you chose to skip.

  • Item Quantity & Price Tracking: Enter required quantities and optional prices to see running `totalPrice` and `purchasedPrice` totals.
  • Calendar & Reminder Integration: Link a shopping run to a calendar date and set `reminderMinutes` so you get a notification before heading to the market.
  • Shopping List Analytics (`ShoppingListAnalyticsView`): Review spending and nutrient composition of planned grocery baskets.

A 10-Minute Weekly Storage and Shopping Routine

You do not need to micro-manage every pinch of spice to get value from Storage and Shopping List. Focus on your core grains, pulses, cooking oils/ghee, and perishable produce.

Checking `firstExpirationDate` in Storage once a week before creating your new Shopping List prevents duplicate purchases and cuts household food waste.

  1. Open Storage before grocery planning and sort or scan by `firstExpirationDate` to plan early-week meals around yogurt, leafy greens, and vegetables already in your fridge.
  2. Check remaining `totalQuantity` on your staple pulses (mung dal, toor dal, masoor dal, chickpeas) and grains (basmati rice, whole-wheat atta, oats).
  3. Create a dated list in Shopping List for the remaining ingredients, set an optional reminder if shopping after work, and check off `isBought` as you shop.

iOS App for iPhone & iPad

Practice with 908 illustrated postures, custom prāṇāyāma timers & dosha meal plans

Combine classical Vata, Pitta, and Kapha balance, Six Tastes (Shad Rasa), and seasonal Ritucharya routines with verified USDA calorie, macronutrient, vitamin, and mineral tracking.

Sources & Classical References

  1. University of Alaska Fairbanks Cooperative Extension — Cooking Dried Beans, Peas & Lentils (FNH-00360) — Extension guidance on dry bean and lentil storage, pantry rotation, and dry-to-cooked yield planning.
  2. U.S. FDA — Selecting and Serving Produce Safely — FDA rules for buying undamaged produce, separating raw foods in shopping bags, and refrigerating perishables at 40°F or below.

Related Guides