Orders
Orders represent individual sales transactions in the POS system. Each order is linked to an optional customer and records what was sold, how it was paid for, and any outstanding balance.Order Fields
| Field | Type | Description |
|---|---|---|
order_number | String | Auto-generated unique order identifier. |
customer_id | String (optional) | Reference to the customer account. Orders can also be created without a customer. |
payment_option | Enum | Payment method used for this order. See Payment Methods below. |
total | Number | Total amount for the order including tax. |
balance_due | Number | Remaining balance after any payments applied. Zero when fully paid. |
created_at | Timestamp | Date and time the order was created. |
Payment Methods
| Method | API Value | Description |
|---|---|---|
| Cash | cash | Physical currency payment collected at the till. |
| Card | card | Credit or debit card payment. |
| Check | check | Payment by check. |
| House Account | house_account | Charged to the customer’s house account for later invoicing. |
Products
Products are the items available for sale through the POS. Each product has pricing, optional inventory tracking, and tax configuration.Product Fields
| Field | Type | Description |
|---|---|---|
name | String | Display name of the product. |
sku | String (optional) | Stock Keeping Unit code for identification and search. |
category_id | String (optional) | Reference to a product category for organization. |
price | Number | Selling price per unit (USD). |
cost | Number (optional) | Cost basis per unit. Used for margin calculations. |
tax_rate | Number (optional) | Tax rate applied to this product as a decimal (e.g., 0.07 for 7%). |
is_active | Boolean | Whether the product is available for sale. Inactive products do not appear in the order form. |
track_inventory | Boolean | Whether inventory quantities are tracked for this product. |
stock_quantity | Number (optional) | Current stock level. Only populated when track_inventory is enabled. |
description | String (optional) | Internal description or notes about the product. |
created_at | Timestamp | Date and time the product was created. |
updated_at | Timestamp | Date and time the product was last modified. |
Product Categories
Categories are user-defined. Common FBO product categories:| Category | Examples |
|---|---|
| Fuel | Jet-A, 100LL, sustainable aviation fuel |
| Hangar services | Overnight parking, GPU, towing |
| Ramp services | Lavatory service, de-icing, oxygen |
| Catering | Crew meals, passenger catering, beverages |
| Supplies | Oil, hydraulic fluid, cleaning supplies |
| Merchandise | Branded apparel, pilot supplies |
Inventory
Inventory records track stock levels for products that havetrack_inventory enabled. The inventory system provides real-time visibility into on-hand quantities and generates low-stock warnings.
Inventory Fields
| Field | Type | Description |
|---|---|---|
product_id | String | Reference to the tracked product. |
product_name | String | Display name of the product (denormalized for convenience). |
sku | String (optional) | Product SKU code. |
quantity_on_hand | Number | Total physical quantity in stock. |
quantity_reserved | Number | Quantity allocated to pending orders but not yet fulfilled. |
reorder_point | Number (optional) | Stock level at which a low-stock warning is triggered. |
reorder_quantity | Number (optional) | Suggested quantity to reorder when the reorder point is reached. |
last_counted_at | Timestamp (optional) | Date and time of the most recent physical inventory count. |
updated_at | Timestamp | Date and time the inventory record was last modified. |
Available Quantity
The available quantity is calculated as:Low-Stock Warnings
A product triggers a low-stock warning when:reorder_point to 0 or leaving it empty disables warnings for that product.
Tills
Tills represent physical or virtual cash registers used to process POS transactions. Each till tracks its opening balance, current balance, and operational status.Till Fields
| Field | Type | Description |
|---|---|---|
name | String | Display name of the till (e.g., “Front Desk Register”, “Ramp Till”). |
location | String (optional) | Physical location of the till within the facility. |
status | Enum | Current operational state. See Till Statuses. |
opening_balance | Number | Cash amount the till was opened with. |
current_balance | Number | Current cash balance in the till. Updates as cash transactions are processed. |
is_default | Boolean | Whether this till is the default selection when creating new orders. Only one till can be the default. |
Transactions
Transactions record all financial activity in the POS system, including payments, refunds, and adjustments.Transaction Fields
| Field | Type | Description |
|---|---|---|
transaction_type | Enum | The type of transaction: payment, refund, or adjustment. |
payment_method | String (optional) | How the transaction was processed (e.g., cash, card, check). |
amount | Number | Transaction amount in USD. Refunds are recorded as positive amounts with a refund type. |
description | String (optional) | Notes or description for the transaction. |
status | Enum | Processing state: completed, pending, failed, or reversed. |
created_at | Timestamp | Date and time the transaction was recorded. |
Transaction Types
| Type | API Value | Description |
|---|---|---|
| Payment | payment | Money received from a customer. |
| Refund | refund | Money returned to a customer for a previous payment. |
| Adjustment | adjustment | Manual correction to a balance or till amount. |
Customers
Customers represent individuals or organizations that purchase products or services through the POS. Customer records enable house account billing and purchase history tracking.Customer Fields
| Field | Type | Description |
|---|---|---|
name | String (optional) | Company or organization name. |
first_name | String (optional) | Customer’s first name. |
last_name | String (optional) | Customer’s last name. |
email | String (optional) | Email address for invoicing and communication. |
phone | String (optional) | Phone number. |
order_count | Number | Total number of orders placed by this customer. |
total_spent | Number | Cumulative amount spent across all orders. |
Rate Codes
Rate codes define the pricing structure for unit bookings. Each rate code can specify daily, weekly, and monthly rates.Rate Code Fields
| Field | Type | Description |
|---|---|---|
name | String | Display name of the rate code (e.g., “Standard T-Hangar”, “Transient Tiedown”). |
rate_type | String | Classification of the rate (e.g., “daily”, “monthly”, “seasonal”). |
base_rate | Number | Default per-period rate in USD. |
weekly_rate | Number (optional) | Discounted rate for weekly bookings. |
monthly_rate | Number (optional) | Discounted rate for monthly bookings. |
is_active | Boolean | Whether this rate code can be assigned to units. |
Related
FBO Statuses
Booking, payment, unit, maintenance, and till statuses.
Use the FBO Point of Sale
Order processing, product management, and till operations.