Centurio Süsteem- & modulidokumendid
🏛️ Platvorm arhitektuur 🔑 Login
🏠 Kõik moodulid / inventory_logistics / Rentimis- ja rentimisvahendid
📘

Rentimis- ja rentimisvahendid

rental inventory_logistics 🛡️ RLS Protected

Rentimis- ja rentimisvahendid <unk> koodist saadud menetlus- ja API-dokumendid.

Fachliche Bestimmung: Leasing & rental apparates <unk> koodist saadud protsesside ja API-dokumendid.

⚡ Töövoogud ja elutsüklid

Kasutaja käsk: rentimees plan:command_rental_agent

Kontrollitud püsivkava (durable_plan), algus: manuell_command.

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

Rendipeakord status:rental_booking

Üldne kontrollisüsteem (ainult jälgitav) - ülekanded ei ole nõutavad <unk>vt teenindusvalideerimine.

1. reserved
reserveeritud
Majandusmassi staatuse <unk>reservitud <unk>
2. picked_up
picked_up
Status <unk>picked_up<unk> state machine rental booking.
3. returned
tagastatud
Status <unk>return<unk> state machine rental booking.
4. overdue
hilinemine
Majandusmassi staatuse ülesehitus
5. cancelled
tühistatud
Majandusmassi staatuse <unk> tühistatud <unk> rentide raamatupidamine.

Rendileping status:rental_order

Üldne kontrollisüsteem (ainult jälgitav) - ülekanded ei ole nõutavad <unk>vt teenindusvalideerimine.

1. draft
e)
Raudseadme staatuse <unk>töö <unk>leebus
2. reserved
reserveeritud
Ravipuhastuse tööriist
3. active
aktiivsed
Töötasuva tööriista töötasu
4. closed
suletud
Raudseadme staatuse <unk>lõppes <unk>lõike
5. cancelled
tühistatud
Status <unk>annul­datud<unk> seisundisüsteemi rentimises.

🗄️ Andme mudelid & väljad

RentalBookings rental_bookings RLS Aktiv
59 Kärgid / varud

Tabelle rental_bookings

Feldname Andme tüüp Kohustus Schlüssel Tööandjapidamis
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 Kärgid / varud

Tabelle rental_orders

Feldname Andme tüüp Kohustus Schlüssel Tööandjapidamis
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 Kärgid / varud

Tabelle rental_rate_cards

Feldname Andme tüüp Kohustus Schlüssel Tööandjapidamis
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

🔌 Algsed punktid (UI ja API)

Art Teadus Lõpppunkt / tee Titel & Zweck Õigustamine
⚡ 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

🛡️ Määruse ja vastavus

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • Töötlusvõime
  • Kliendi isolatsioon (postgreSQL RLS)