The FBO fuel management system tracks fuel inventory, deliveries, quality control inspections, pricing, and sales transactions. Requires the FBO module with Fuel Management enabled.
Fuel Types
Supported aviation fuel types, each with specific storage, handling, and quality control requirements:
| Fuel Type | Code | Description | Typical Use |
|---|
| Jet-A | jet_a | Kerosene-based turbine fuel meeting ASTM D1655 specification | Turbine-powered aircraft (jets, turboprops) |
| Jet-A1 | jet_a1 | Kerosene-based turbine fuel with lower freeze point (-47 C) meeting DEF STAN 91-091 | International operations, cold-weather turbine aircraft |
| 100LL | 100ll | Low-lead aviation gasoline (avgas) meeting ASTM D910 specification | Piston-engine aircraft |
| SAF | saf | Sustainable Aviation Fuel — a drop-in replacement blended with conventional Jet-A per ASTM D7566 | Turbine aircraft (blend ratios up to 50% per current approvals) |
| UL94 | ul94 | Unleaded aviation gasoline meeting ASTM D7547 specification | Approved piston-engine aircraft (limited fleet compatibility) |
SAF is tracked as a separate fuel type for environmental reporting and carbon offset calculations.
When blended with Jet-A, the system records both the SAF percentage and the total volume
dispensed. Blend ratios must comply with the aircraft manufacturer’s approved limits and current
ASTM D7566 annex specifications.
Tank Status Values
Fuel storage tanks progress through operational states that determine
whether fuel can be dispensed.
| Status | API Value | Description |
|---|
| Active | active | Tank is in service. Fuel can be received and dispensed. |
| Low | low | Tank level is at or below the reorder threshold. Fuel can still be dispensed but a resupply order should be placed. |
| Empty | empty | Tank has reached minimum operational level. No fuel should be dispensed. |
| Held | held | Tank is placed on quality hold pending QC resolution. No fuel may be dispensed until the hold is released. |
| Out of Service | out_of_service | Tank is offline for maintenance, inspection, or cleaning. No fuel operations permitted. |
| Receiving | receiving | Tank is currently accepting a fuel delivery. Dispensing is suspended during receiving operations. |
Tank Fields
| Field | Type | Description |
|---|
tank_id | String | Unique identifier for the tank. |
name | String | Display name (e.g., “Jet-A Tank 1”, “100LL Underground”). |
fuel_type | Enum | Type of fuel stored. See Fuel Types. |
capacity_gallons | Number | Maximum capacity in US gallons. |
current_level_gallons | Number | Current fuel level in US gallons. |
reorder_threshold_gallons | Number | Level at which the tank status changes to low. |
minimum_level_gallons | Number | Minimum operational level. Below this the tank reads empty. |
status | Enum | Current tank status. See table above. |
last_delivery_at | Timestamp | Date and time of the most recent fuel delivery. |
last_qc_inspection_at | Timestamp | Date and time of the most recent QC inspection. |
location | String | Physical location at the facility (e.g., “Ramp East”, “Underground Farm”). |
created_at | Timestamp | When the tank record was created. |
Delivery Statuses
Fuel deliveries track the receipt of fuel from suppliers into storage
tanks.
| Status | API Value | Description |
|---|
| Scheduled | scheduled | Delivery is confirmed with the supplier for a future date. |
| In Transit | in_transit | Supplier has dispatched the delivery. |
| Received | received | Delivery arrived and fuel has been transferred to the tank. QC inspection is pending or complete. |
| Accepted | accepted | Delivery passed QC inspection and fuel is cleared for dispensing. Terminal state. |
| Rejected | rejected | Delivery failed QC inspection. Fuel is quarantined or returned to supplier. Terminal state. |
| Cancelled | cancelled | Delivery was cancelled before receipt. Terminal state. |
Delivery Fields
| Field | Type | Description |
|---|
delivery_id | String | Unique identifier. |
supplier_name | String | Name of the fuel supplier. |
fuel_type | Enum | Type of fuel delivered. |
quantity_gallons | Number | Quantity delivered in US gallons. |
tank_id | String | Destination tank for the delivery. |
bill_of_lading | String | Supplier’s bill of lading or delivery ticket number. |
temperature_f | Number | Fuel temperature at receipt (Fahrenheit). |
specific_gravity | Number | Measured specific gravity at receipt. |
status | Enum | Current delivery status. |
scheduled_date | Date | Expected delivery date. |
received_at | Timestamp | Actual receipt timestamp. |
received_by | String | User who received the delivery. |
QC Inspection Types
Quality control inspections follow NATA Safety 1st standards and
industry best practices. Each inspection type has specific criteria and
required frequency.
| Inspection Type | API Value | Frequency | Description |
|---|
| Visual Appearance | visual | Every delivery + daily | Check fuel for color, clarity, and absence of visible contamination (water, sediment, microbial growth) |
| Water Detection | water_detection | Every delivery + daily | Test for dissolved and free water using chemical detection paste or electronic sensors |
| Specific Gravity | specific_gravity | Every delivery | Measure fuel density to verify it falls within specification range |
| API Gravity | api_gravity | Every delivery | Calculate API gravity from specific gravity and temperature |
| Filter Differential Pressure | filter_dp | Daily (during operations) | Check differential pressure across filter/separator elements. Exceeding limits indicates filter saturation |
| Sump and Drain | sump_drain | Daily (start of operations) | Drain sumps on storage tanks and filter vessels to remove accumulated water and sediment |
| Millipore / Particulate | particulate | Monthly + as needed | Membrane filter test to measure particulate contamination levels |
| Microbiological | microbiological | Quarterly | Test for microbial contamination (bacteria and fungi) in fuel and tank bottoms |
| Thermal Stability | thermal_stability | Per supplier batch (lab) | JFTOT test for thermal oxidative stability of jet fuel |
| Electrical Conductivity | conductivity | Per delivery | Verify conductivity units (CU) are within specification for static dissipator additive |
Pass/Fail Criteria
| Inspection | Pass Criteria | Fail Criteria |
|---|
| Visual Appearance | Clear, bright, free of visible contamination | Hazy, cloudy, discolored, visible particulate or microbial growth |
| Water Detection | No color change on detection paste; < 30 ppm dissolved water | Color change indicating free water; > 30 ppm dissolved water |
| Specific Gravity | Jet-A: 0.775—0.840 at 15 C; 100LL: 0.690—0.720 at 15 C | Outside specification range |
| Filter DP | Below manufacturer’s maximum DP limit (typically < 15 psi) | At or above maximum DP limit |
| Sump and Drain | Clear fuel, no water or sediment | Water or sediment present |
| Particulate | < 1.0 mg/L per ASTM D2276 | >= 1.0 mg/L |
| Microbiological | < 500 CFU/mL (moderate) or negative on rapid test | >= 500 CFU/mL or positive high-contamination result |
| Conductivity | 50—600 CU per ASTM D2624 | Outside 50—600 CU range |
A failed QC inspection places the affected tank on quality hold. No fuel may be dispensed from
a held tank until the issue is resolved, a re-inspection passes, and an authorized user releases
the hold. This is a safety-critical control per NATA Safety 1st and ATA 103 standards.
Inspection Record Fields
| Field | Type | Description |
|---|
inspection_id | String | Unique identifier. |
tank_id | String | Tank inspected. |
delivery_id | String (optional) | Associated delivery, if inspection is delivery-triggered. |
inspection_type | Enum | Type of inspection performed. |
result | Enum | pass or fail. |
value | String (optional) | Measured value (e.g., “0.812” for specific gravity). |
notes | Text (optional) | Inspector notes or observations. |
inspector_id | String | User who performed the inspection. |
performed_at | Timestamp | When the inspection was conducted. |
follow_up_required | Boolean | Whether a follow-up action or re-inspection is needed. |
Fuel Pricing Models
The FBO fuel system supports multiple pricing models to accommodate
different customer relationships and market conditions.
| Model | API Value | Description |
|---|
| Posted Rate | posted | Standard retail price displayed to transient customers. Updated manually or via market data feed. |
| Contract Rate | contract | Negotiated rate for customers with fuel purchase agreements. Tied to a specific customer or account. |
| Cost Plus | cost_plus | Supplier cost plus a fixed margin (e.g., cost + $0.45/gal). Adjusts automatically when supplier cost changes. |
| Volume Discount | volume_discount | Tiered pricing based on purchase volume. Higher volumes receive lower per-gallon rates. |
| Tenant Rate | tenant | Discounted rate for hangar tenants. Automatically applied to customers with active bookings. |
Pricing Fields
| Field | Type | Description |
|---|
price_id | String | Unique identifier. |
fuel_type | Enum | Fuel type this price applies to. |
model | Enum | Pricing model. See table above. |
price_per_gallon | Number | Price per US gallon in USD. |
effective_date | Date | When this price takes effect. |
expiration_date | Date (optional) | When this price expires (for contract and promotional rates). |
minimum_gallons | Number (optional) | Minimum purchase quantity for this price to apply (volume discount). |
customer_id | String (optional) | Specific customer for contract rates. |
is_active | Boolean | Whether this price is currently in effect. |
Fuel Sales Transaction Types
Every fuel dispensing event generates a transaction record.
| Type | API Value | Description |
|---|
| Standard Sale | standard_sale | Normal fuel sale to a customer at the applicable rate. |
| Contract Uplift | contract_uplift | Fuel dispensed under a contract rate agreement. |
| Into-Plane | into_plane | Fuel delivered directly into an aircraft on the ramp. |
| Truck Fill | truck_fill | Fuel loaded into a refueling truck from a storage tank (internal transfer, not a customer sale). |
| Defuel | defuel | Fuel removed from an aircraft and returned to storage. Recorded as a negative quantity. |
| Adjustment | adjustment | Manual correction to tank levels (e.g., after physical inventory reconciliation). |
Transaction Fields
| Field | Type | Description |
|---|
transaction_id | String | Unique identifier. |
transaction_type | Enum | Type of fuel transaction. |
fuel_type | Enum | Fuel type dispensed. |
quantity_gallons | Number | Quantity in US gallons (negative for defuel operations). |
price_per_gallon | Number | Applied price per gallon. |
total_amount | Number | Total transaction amount in USD. |
tank_id | String | Source tank for the fuel. |
aircraft_tail | String (optional) | Tail number of the aircraft fueled. |
customer_id | String (optional) | Customer account charged. |
meter_start | Number (optional) | Fuel meter reading at start of dispensing. |
meter_end | Number (optional) | Fuel meter reading at end of dispensing. |
dispensed_by | String | User who performed the fueling. |
created_at | Timestamp | When the transaction was recorded. |
Discrepancies between calculated tank levels (based on deliveries and dispensing records) and
physical measurements may indicate meter calibration issues, leaks, or data entry errors.
FBO Statuses
Booking, payment, unit, maintenance, and till statuses.
Manage Fuel
Fuel operations, delivery receipt, and QC inspection procedures.
FBO Point of Sale
POS order fields, payment methods, and product catalog.
FBO Billing
Invoicing and payment processing for fuel sales.