Centurio Documentazione dei sistemi e dei moduli
🏛️ Architettura della piattaforma 🔑 Login
🏠 Tutti i moduli / inventory_logistics / Apparecchi di locazione
📘

Apparecchi di locazione

rental inventory_logistics 🛡️ RLS Protected

Leasing & rental equipment <unk> Documentazione processuale e API derivata dal codice.

Fachliche Bestimmung: Leasing & Rental Equipment <unk> Documentazione processuale e API derivata dal codice.

⚡ Flussi di lavoro e cicli di vita

Ordine d'uso: agente di noleggio plan:command_rental_agent

Controllato piano duraturo (durable_plan), inizio: manual_command.

1. rental_agent
rental_agent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aktionen: rental_agent

Rendizione status:rental_booking

La macchina in stato di osservazione (solo osservabile) non è obbligatoria.

1. reserved
Riservato
Statuto della macchina di stato
2. picked_up
picked_up
Statuto della macchina di stato
3. returned
restituito
Statuto della macchina di stato
4. overdue
ritardo
Statuto della macchina di stato
5. cancelled
Cancellato
Statuto della macchina di stato

Concessione di noleggio status:rental_order

La macchina in stato di osservazione (solo osservabile) non è obbligatoria.

1. draft
Progetto
Statuto <unk>progetto <unk> del progetto di locazione della macchina di stato.
2. reserved
Riservato
Statuto <unk>reservato <unk> del servizio di noleggio della macchina di stato.
3. active
Attivo
Statuto <unk>active<unk> del servizio di locazione della macchina di stato.
4. closed
chiuso
Statuto della macchina di stato
5. cancelled
Cancellato
Statuto <unk>annullato<unk> del posto di lavoro.

🗄️ Modelli di dati

RentalBookings rental_bookings RLS Aktiv
59 Feltri / colonne

Tabelle rental_bookings

Feldname Tipo di dati Dati Schlüssel Importanza professionale
booking_number VARCHAR(32) Ja * - Feld booking_number
status VARCHAR(48) Ja * - Feld status
rental_order_id UUID Nein FK ➔ rental_orders.id Feld rental_order_id
asset_id UUID Nein FK ➔ assets.id Feld asset_id
product_id UUID Nein FK ➔ products.id Feld product_id
quantity NUMERIC(14, 4) Ja * - Feld quantity
customer_id UUID Ja * FK ➔ customers.id Feld customer_id
contract_id UUID Nein FK ➔ contracts.id Feld contract_id
project_id UUID Nein FK ➔ projects.id Feld project_id
work_order_id UUID Nein FK ➔ work_orders.id Feld work_order_id
quote_id UUID Nein FK ➔ quotes.id Feld quote_id
invoice_id UUID Nein FK ➔ invoices.id Feld invoice_id
rate_card_id UUID Nein FK ➔ rental_rate_cards.id Feld rate_card_id
kit_group_id UUID Nein - Feld kit_group_id
billing_cycle_days INTEGER Nein - Feld billing_cycle_days
cycle_billed_through DATETIME Nein - Feld cycle_billed_through
cycle_invoice_ids JSONB Ja * - Feld cycle_invoice_ids
rental_start DATETIME Ja * - Feld rental_start
rental_end DATETIME Ja * - Feld rental_end
actual_pickup_at DATETIME Nein - Feld actual_pickup_at
actual_return_at DATETIME Nein - Feld actual_return_at
pickup_location_id UUID Nein FK ➔ locations.id Feld pickup_location_id
return_location_id UUID Nein FK ➔ locations.id Feld return_location_id
pickup_movement_id UUID Nein FK ➔ stock_movements.id Feld pickup_movement_id
return_movement_id UUID Nein FK ➔ stock_movements.id Feld return_movement_id
return_order_id UUID Nein FK ➔ return_orders.id Feld return_order_id
rate_amount NUMERIC(14, 2) Nein - Feld rate_amount
rate_unit VARCHAR(48) Ja * - Feld rate_unit
deposit_amount NUMERIC(14, 2) Nein - Feld deposit_amount
deposit_status VARCHAR(48) Ja * - Feld deposit_status
deposit_collected_at DATETIME Nein - Feld deposit_collected_at
deposit_applied_amount NUMERIC(14, 2) Nein - Feld deposit_applied_amount
deposit_refunded_amount NUMERIC(14, 2) Nein - Feld deposit_refunded_amount
deposit_notes TEXT Nein - Feld deposit_notes
deposit_invoice_id UUID Nein FK ➔ invoices.id Feld deposit_invoice_id
deposit_payment_id UUID Nein FK ➔ payments.id Feld deposit_payment_id
deposit_psp_provider VARCHAR(16) Nein - Feld deposit_psp_provider
deposit_psp_session_id VARCHAR(255) Nein - Feld deposit_psp_session_id
condition_notes_out TEXT Nein - Feld condition_notes_out
condition_notes_in TEXT Nein - Feld condition_notes_in
damage_notes TEXT Nein - Feld damage_notes
meter_out NUMERIC(14, 2) Nein - Feld meter_out
meter_in NUMERIC(14, 2) Nein - Feld meter_in
inspection_checklist JSONB Ja * - Feld inspection_checklist
return_photo_document_ids JSONB Ja * - Feld return_photo_document_ids
damage_charge_amount NUMERIC(14, 2) Nein - Feld damage_charge_amount
pickup_signature_document_id UUID Nein FK ➔ documents.id Feld pickup_signature_document_id
return_signature_document_id UUID Nein FK ➔ documents.id Feld return_signature_document_id
notes TEXT Nein - Feld notes
idempotency_key VARCHAR(128) Nein - Feld idempotency_key
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
RentalOrders rental_orders RLS Aktiv
21 Feltri / colonne

Tabelle rental_orders

Feldname Tipo di dati Dati Schlüssel Importanza professionale
order_number VARCHAR(32) Ja * - Feld order_number
status VARCHAR(48) Ja * - Feld status
source VARCHAR(48) Ja * - Feld source
customer_id UUID Ja * FK ➔ customers.id Feld customer_id
contract_id UUID Nein FK ➔ contracts.id Feld contract_id
quote_id UUID Nein FK ➔ quotes.id Feld quote_id
project_id UUID Nein FK ➔ projects.id Feld project_id
product_id UUID Nein FK ➔ products.id Feld product_id
rental_start DATETIME Ja * - Feld rental_start
rental_end DATETIME Ja * - Feld rental_end
notes TEXT Nein - Feld notes
idempotency_key VARCHAR(128) Nein - Feld idempotency_key
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
RentalRateCards rental_rate_cards RLS Aktiv
19 Feltri / colonne

Tabelle rental_rate_cards

Feldname Tipo di dati Dati Schlüssel Importanza professionale
code VARCHAR(64) Ja * - Feld code
name VARCHAR(200) Ja * - Feld name
asset_id UUID Nein FK ➔ assets.id Feld asset_id
rate_amount NUMERIC(14, 2) Ja * - Feld rate_amount
rate_unit VARCHAR(48) Ja * - Feld rate_unit
deposit_amount NUMERIC(14, 2) Nein - Feld deposit_amount
billing_cycle_days INTEGER Nein - Feld billing_cycle_days
currency VARCHAR(3) Ja * - Feld currency
is_active BOOLEAN Ja * - Feld is_active
notes TEXT Nein - Feld notes
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata

🔌 Punto di partenza (UI & API)

Art Metodo Punto finale / percorso Titel & Zweck Il diritto
⚡ REST API GET /api/v1/rental/availability
check_availability
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/availability/product
check_product_availability
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/bookings
list_bookings
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/bookings/{booking_id}
get_booking
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/bookings/{booking_id}/charge-preview
booking_charge_preview
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/bookings/{booking_id}/kit
list_kit_members
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/orders
list_orders
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/orders/{order_id}
get_order
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/orders/{order_id}/bookings
list_order_bookings
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/products/rentable
list_rentable_products
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/rate-cards
list_rate_cards
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/rate-cards/resolve
resolve_rate_card
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/settings
get_rental_settings
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /api/v1/rental/utilisation
rental_utilisation
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /portal/{slug}/vermietung
rental_page
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /rental
rental_page
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API GET /rental/new
rental_create_page
Semantic binding: inventory_only; mutation=False
rental
⚡ REST API PATCH /api/v1/rental/rate-cards/{rate_card_id}
update_rate_card
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings
create_booking
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/kit
create_kit_booking
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/cancel
cancel_booking
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/create-invoice
create_hire_invoice
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/cycle-invoice
create_cycle_invoice
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/deposit/apply
apply_deposit
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/deposit/checkout
start_deposit_checkout
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/deposit/collect
collect_deposit
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/deposit/invoice
create_deposit_invoice
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/deposit/refund
refund_deposit
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/early-return
early_return_booking
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/extend
extend_booking
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/pickup
pickup_booking
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/reschedule
reschedule_booking
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/return
return_booking
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/bookings/{booking_id}/swap-asset
swap_booking_asset
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/orders
create_order
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/orders/from-contract/{contract_id}
create_order_from_contract
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/orders/from-product
create_order_from_product
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /api/v1/rental/rate-cards
create_rate_card
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API POST /portal/{slug}/vermietung/anfragen
rental_booking_request
Semantic binding: operator_surface; mutation=True
rental
⚡ REST API PUT /api/v1/rental/settings
update_rental_settings
Semantic binding: operator_surface; mutation=True
rental

🛡️ Regolamentazione e conformità

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • Capacità di verifica
  • Isolazione dei clienti (PostgreSQL RLS)