NurCore API
MRO Module

Inventory Service

API для parts catalog, warehouses, stock operations, movements audit.

Inventory Service — /api/v1/inventory

Base: https://api.nurcore.kg/api/v1/inventory

Parts catalog

Classifications:

TypeDescriptionExamples
ROTABLES/N tracked LRUs, overhaulableEngine, gear actuator, LRU
REPAIRABLERecoverable через repair shopHydraulic pump, fuel pump
CONSUMABLEНе возвратные, limited shelf lifeFilters, gaskets, o-rings
EXPENDABLEПолностью расходныеOils, rivets, lockwire, fasteners

LLP (Life Limited Parts) — отдельная классификация по hard-time discard через TCC limits в component tree (per Part-M).

MethodPathDescription
POST/partsCreate P/N в catalog
GET/parts?q=DHC8&classification=ROTABLESearch
GET/parts/{id}Detail
PATCH/parts/{id}Update (reorder policy, shelf life)

Warehouses & locations

MethodPathDescription
POST/warehousesCreate warehouse
POST/warehouses/{id}/locationsAdd bin/shelf (A-01-02 format)
GET/warehousesList

Quarantine bin — отдельная location с is_quarantine=true per Part-145 §145.A.42 для unverified parts (no Form 1, expired, failed inspection).

Stock operations

Conditions (per ATA Spec 2000):

CodeMeaning
NEWFactory new, never installed
SERVICEABLEInspected & released
OHOverhauled (через repair shop)
RPRepaired
ARAs Removed
UNSERVICEABLEFailed inspection
QUARANTINEAwaiting verification
SCRAPDisposed

8 atomic operations

MethodPathDescription
POST/stock/receiptПриёмка (создаёт stock_item + RECEIPT movement)
POST/stock/issueВыдача под WO (- qty + ISSUE)
POST/stock/transferМежду warehouses (TRANSFER_OUT + TRANSFER_IN)
POST/stock/quarantine→ QUARANTINE bin
POST/stock/scrapСписание (SCRAP)
POST/stock/adjustInventory correction (ADJUST)
POST/stock/returnВозврат на склад (RETURN_TO_STOCK)
POST/stock/robReceipt On Board (для AOG parts)

Каждая операция — SELECT FOR UPDATE row lock для atomic concurrent safety.

Movements (append-only audit)

Per Part-145 §145.A.55 — 3 years minimum retention.

Никогда не UPDATE/DELETE — только INSERT с reference к source document (PO/WO/GRN).

MethodPathDescription
GET/stock/{stock_item_id}/movementsHistory per item
GET/reports/movements-list?movement_type=RECEIPTCross-fleet
GET/reports/movements?date_from=...&date_to=...Aggregate summary

Reports

MethodPathDescription
GET/reports/stock-valuePer-warehouse value
GET/reports/expiring-soon?days=90Shelf life expiring
GET/reports/below-reorderParts ниже reorder point

On this page