,
,,
Calisto Inventory

Stock and asset management, per vertical.

12 item categories, 6 stock statuses, batch/lot traceability, reorder-point automation, and 8 vertical-specific surfaces. Zero integrations required.

12 Item Categories · 6 Stock Statuses · 5 PO States · 4 Calisto AI Commands · 8 Verticals · 11 API Route Groups

Stock Management

Item registry. Adjustment trail. 12 categories.

OpsInventoryClient renders the full item list with filter, search, and bulk actions. Each quantity change records reason, notes, and task linkage for audit trail and stock-alert triggers.

AllLow Stock
ItemSKUCategoryQtyStatus
Dishwasher PodsCLN-0421CLEANING84in_stock
Pool Chlorine 5kgPCH-0019POOL3low_stock
Pillow Cases (Queen)LIN-0112LINENS0out_of_stock
Welcome Pack KitAMN-0055AMENITIES42in_stock
HVAC Filter 16x20MNT-0308MAINTENANCE12on_order

Item Registry with SKU + Barcode

Each InventoryItem carries id, sku, name, category, quantity, unitCost, reorderPoint, reorderQuantity, location, and lastCountedAt.

Quantity Adjustment with Reason Codes

Every adjustment requires a reason (PURCHASE, USAGE, WASTE, TRANSFER, CORRECTION, RETURN), optional notes, and optional relatedTaskId for audit linkage.

12 Hospitality-Specific Categories

CLEANING_SUPPLIES, LINENS, TOILETRIES, AMENITIES, FOOD_BEVERAGE, OFFICE_SUPPLIES, MAINTENANCE_PARTS, POOL_CHEMICALS, LANDSCAPING, ELECTRONICS, FURNITURE, OTHER.

6 Stock Statuses

in_stock, low_stock, out_of_stock, on_order, discontinued, reserved. Status drives UI indicators and feeds the stock-alerts event system.

Procurement Layer

Purchase orders. Reorder points. Automatic triggers.

Stock-alert events evaluate on every adjustment. Three actions: create purchase orders, pause marketplace listings, or send notifications.

,0,

hospitality-specific item categories

,0,

adjustment reason codes with audit trail

,0,

purchase order lifecycle states

,0,

vertical-specific inventory surfaces

Purchase Orders

5 statuses. Vendor linkage. Line-item detail.

PurchaseOrder entity tracks the full procurement lifecycle. Created manually or triggered by auto_reorder. Each PO carries vendorId, line items with quantity and unitCost, and full lifecycle timestamps.

vendorId + vendorName: linked to preferred vendor per item
items[]: array of itemId, quantity, unitCost per PO line
totalCost: computed from line items, displayed on PO list
orderedAt, expectedAt, receivedAt: full lifecycle timestamps
1
Draft
2
Submitted
3
Confirmed
4
Received
5
Cancelled
PO-0041CleanCo Supply3 items
PO-0040Linen Direct5 items
PO-0039PoolTech Inc2 items
Auto-Reorder

Reorder points. Three trigger actions. Automatic POs.

The stock-alert event system evaluates quantity vs. reorderPoint on every adjustment and executes the configured outOfStockAction: pause_listings, notify_only, or auto_reorder.

1

Reorder Point Threshold

Each item defines reorderPoint and reorderQuantity. When quantity drops below threshold, stock-alerts fires.

2

outOfStockAction Config

Three modes: pause_listings (halt marketplace channels), notify_only (alert without action), or auto_reorder (trigger PO creation).

3

Automatic PO Creation

When auto_reorder fires, a PurchaseOrder is created to the item's preferredVendorId with reorderQuantity units.

4

Manual Reorder Surface

OpsInventoryReorderClient provides manual reorder for items not on auto-reorder. One-click PO creation for below-threshold items.

Traceability Layer

Batches. Consumables. Physical verification.

Lot-level traceability with expiration tracking. Cycle-count workflows with variance detection and CORRECTION adjustments.

Batch & Lot Tracking

Lot numbers. Expiration dates. Recall isolation.

Each batch links to inventory items for traceability. Lot-level draw-down enables FIFO/FEFO and isolation when a supplier issues a recall.

Recall isolation. When a supplier issues a recall, filter by lot number to identify every unit, its location, and its current assignment. Isolate affected stock in one query.
LotItemExpiryQty
LOT-2841Pool Chlorine 5kg2026-09-1424
LOT-2839Dishwasher Pods2026-06-0248
LOT-2835Hand Sanitizer 1L2026-05-1112
Consumables

Usage tracking for items that deplete.

Separates high-turnover consumable items from durable stock. Tracks consumption rate, par levels, and reorder triggers across 6 consumable categories.

CLEANING_SUPPLIES: detergents, disinfectants, glass cleaner, mops
LINENS: towels, sheets, pillowcases, table linens
TOILETRIES: shampoo, soap, lotion, dental kits
AMENITIES: welcome packs, slippers, robes, coffee pods
FOOD_BEVERAGE: minibar stock, breakfast items, condiments
POOL_CHEMICALS: chlorine, pH balancers, algaecides, test strips

Consumption Rate Tracking

OpsInventoryConsumablesClient renders consumption curves and par-level indicators per item.

Usage-Triggered Reorder

High-consumption items share the same reorderPoint system. Set to auto_reorder to maintain par levels without manual intervention.

Stock Verification

Physical counts. Variance detection. Correction trail.

Cycle-count workflows with structured count interface. Staff scan or select items, enter physical count, and the system calculates variance against recorded quantity.

CORRECTION adjustments. When physical count differs from system quantity, a CORRECTION adjustment is generated with the delta and full audit trail: who counted, when, original vs. actual.
Physical CountlastCountedAt: 2026-05-06
ItemSystemActualVar
Dishwasher Pods8479-5
Pool Chlorine 5kg330
Welcome Pack Kit4244+2
HVAC Filter 16x201210-2
Asset & Distribution Layer

Fixed assets. Marketplace sync. Asset request forms.

Durable asset registry with serial numbers and warranty expiry. Bidirectional marketplace sync with automatic listing pause on out-of-stock.

AssetSerialConditionWarranty
Pool Heater Unit APH-2019-041Good2027-03
HVAC System Bldg 2HV-2021-008Fair2026-11
Laundry Machine #3LM-2023-012New2028-06
Asset Management

Fixed assets. Condition tracking. Warranty expiry.

Durable asset registry distinct from consumable stock. Each asset carries serial number, condition enum (new, good, fair, poor, damaged, retired), assignment, location, purchase data, and warranty expiry.

Depreciation data. purchaseDate and purchaseCost fields enable depreciation tracking. assignedTo links each asset to its responsible staff member or location.
Marketplace Sync

Push stock. Pull reserved. Pause on out-of-stock.

Bidirectional sync with connected marketplace channels. Inventory handles stock-level data flow; Calisto Sync manages platform auth and channel configuration.

pause_listings action. When outOfStockAction triggers, the stock-alert system signals connected channels to pause affected SKUs until stock is replenished.
Channel Sync Status
Airbnb142 items2 min ago
Booking.com89 items5 min ago
Direct Shop214 items1 min ago
VRBO67 itemsPaused
Forms

Asset request forms powered by the forms engine.

The /inventory/forms route renders an AppForm with appName='inventory', enabling staff to submit structured asset requests with routing into the purchase order approval pipeline.

Asset Request Form

Staff submit asset requests (new equipment, replacement, repair) through a structured form that feeds into the purchase order pipeline.

Forms Integration

Same form engine used across Dispatch, Ops, and other products. Field validation, conditional logic, and submission routing configured per appName.

Request to Purchase Order

Approved asset requests trigger PurchaseOrder creation. Manager-area users review and approve; approved items flow into the reorder system.

Platform Layer

8 verticals. 4 AI commands. Cross-product feeds.

Vertical-specific inventory surfaces scoped per industry. Stock-level feeds consumed by POS, Shop, Ops, and Sync.

Vertical-Specific Surfaces

8 verticals. Each with its own inventory context.

INVENTORY_DASHBOARD_CONFIG exposes vertical-specific inventory surfaces. Each vertical gets sidebar routes scoped to that industry's asset and consumable tracking patterns.

Coworking

ConsumablesEquipmentNew EquipmentPrinting

Rentals

WarehouseFleetNew AssetKitsNew Kit

Local Pros

EquipmentChemical Tracking

Golf

Equipment Registry (Superintendent)

Endurance

Bag Drop & Gear

Developers

Warranty Parts Ordering

Restaurant

Vendors

Serviced Apartments

Vendor Register (Maintenance)
Calisto AI Commands
Search "pool chlorine" lowStockOnly:trueaction
Adjust CLN-0421 +24 reason:PURCHASEfillForm
Reorder LIN-0112 qty:50 vendor:LinenDirectfillForm
Check level AMN-0055action
Calisto AI Commands

4 registered commands. Search, adjust, reorder, check.

Action commands execute immediately. fillForm commands pre-populate the UI and require explicit user confirmation before writing.

inventory.searchaction
inventory.adjustStockfillForm · requiresConfirm
inventory.createReorderfillForm · requiresConfirm
inventory.checkLevelaction
Cross-Product

POS writes. Shop reads. Ops draws. Sync distributes.

Inventory is the stock-level source of truth. The stock-alerts event system bridges inventory state to downstream actions across POS, Shop, Ops, and Sync.

POS

Stock deduction on sale, quantity adjustment with reason USAGE.

Sale → USAGE adjustment → stock-alert evaluation

Shop

Catalog availability via /api/inventory/feeds/stock-levels.

Item quantity → stock-levels feed → Shop display

Ops

Consumable draw per task, cleaning supply usage linked via relatedTaskId.

Task → consumable draw → USAGE adjustment

Sync

Marketplace channel connections. Inventory pushes levels, Sync handles auth.

Stock level → push → Sync → marketplace channel
Pricing

High-Performance Ops. Zero Monthly Overhead.

Get all 15 Core modules at no monthly cost. You only pay 2% of processed revenue.

,,
Calisto Core
$0/month
+ 2% of revenue
CommitmentNone
UsersUnlimited
Products15 included
Best for: Businesses of any size. Revenue is auto-calculated from POS orders, reservations, folios, and event tickets.
,,,,,,,

Inventory

Stock tracking, purchase orders, and reorder automation.

$1/mo

Part of Ops Suite

Wallet-debit

Add to Pro Shop