||:@include: lib/rpn.nv ||::(BLT for june and mary) :vegan: ||:pantry: (bread lettuce bacon tomato tempeh) :menu: BLT |:recipe: BLT| :need: (bread lettuce tomato bacon) |:need: bacon :vegan:?| :need: tempeh |----------------------| |- KITCHEN STAFF ONLY -| |----------------------| |:: ($item for $first and $second)| :: order $item for $first :: order $item for $second |:: ($item for $recipient)| :: order $item for $recipient |:: order $item for $recipient :order number: $id?| :orders: $id $recipient $item :: increment the order number ||:: process orders |:: process orders? :orders: $id $recipient $item| :: process an order :order: $id $recipient $item |:: process orders| |:: process an order :order: $id $recipient $item :on the menu:| :: make $item :for: $recipient :id: $id |:: process an order :order: $id $recipient $item :not available:| :failed orders: $id $recipient $item |:: process an order? :order: $id $recipient $item?| :: check if $item is on the menu |:: check if $item is on the menu :menu: $item?| :: put the menu back :on the menu: |:: check if $item is on the menu? :menu: $other| :checked menu items: $other |:: check if $item is on the menu| :not available: |:: make $item :all ingredients present:| :: assemble $item :: serve $item |:: make $item :missing ingredients:| :: mark $item as unavailable :: cancel the order for $item |:: make $item?| :: fetch the recipe for $item :: check if we have the ingredients |:: fetch the recipe for $item| :recipe: $item |:: check if we have the ingredients :not found: $ingredient| :missing ingredients: |:: check if we have the ingredients? :found: $ingredient| :in use: $ingredient |:: check if we have the ingredients? :need: $ingredient| :: search for $ingredient |:: check if we have the ingredients| :all ingredients present: |:: assemble $item? :in use: $ingredient| |:: assemble $item| |:: serve $item :for: $recipient :id: $id| :fulfilled orders: $id $recipient $item |:: mark $item as unavailable :menu: $item| :: put the menu back |:: mark $item as unavailable? :menu: $other| :checked menu items: $other |:: mark $item as unavailable| :: put the menu back |:: cancel the order for $item? :need: $ingredient| |:: cancel the order for $item? :in use: $ingredient| :pantry: $ingredient |:: cancel the order for $item :for: $recipient :id: $id| :failed orders: $id $recipient $item |:: put the menu back? :checked menu items: $item| :menu: $item |:: put the menu back| |:: search for $ingredient :pantry: $ingredient| :found: $ingredient |:: search for $ingredient? :pantry: $other| :out of the way: $other |:: search for $ingredient| :: re-stock the pantry :not found: $ingredient |:: re-stock the pantry? :out of the way: $ingredient| :pantry: $ingredient |:: re-stock the pantry| ||:order number: 0 |:: increment the order number :@rpn data: $id| :order number: $id |:: increment the order number? :order number: $id| :@rpn: ($id 1 +)