Centurio Documents de système et de module
🏛️ Architecture de plateforme 🔑 Login
🏠 Tous les modules / inventory_logistics / Les appareils de location
📘

Les appareils de location

rental inventory_logistics 🛡️ RLS Protected

Les documents de procédure et d'API dérivés du code.

Fachliche Bestimmung: Les données relatives aux processus et aux API dérivées du code comprennent tous les processus, capacités, machines d'état, API et tables de simulation et d'examen enregistrés.

⚡ Flux de travail et cycles de vie

L'utilisation de l'appareil: plan:command_rental_agent

Plan durable vérifié (durable_plan), démarrage: manuel_command.

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

Réservation de la location status:rental_booking

Les transitions ne sont pas obligatoires <unk> voir validation de service.

1. reserved
réservé
Statut réservé à la machine de location de l'état.
2. picked_up
picked_up
Statut de la machine de location de l'état
3. returned
retour
Statut de la machine de location de l'état
4. overdue
retard
Statut de la machine de location de l'état
5. cancelled
annulé
Statut de la machine de location de l'état

Commande de location status:rental_order

Les transitions ne sont pas obligatoires <unk> voir validation de service.

1. draft
projet
Statut du projet de localisation de la machine de condition
2. reserved
réservé
Réservation de l'appareil de condition
3. active
actives
Statut <unk>active<unk> de la machine de condition Location de la machine de condition
4. closed
fermé
Statut de la machine de condition Location de la machine de condition
5. cancelled
annulé
Statut <unk>annulé<unk> de la machine de condition locatif.

🗄️ Modèles de données

RentalBookings rental_bookings RLS Aktiv
59 Les champs / colonnes

Tabelle rental_bookings

Feldname Type de données Le dépôt Schlüssel Importance professionnelle
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 Les champs / colonnes

Tabelle rental_orders

Feldname Type de données Le dépôt Schlüssel Importance professionnelle
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 Les champs / colonnes

Tabelle rental_rate_cards

Feldname Type de données Le dépôt Schlüssel Importance professionnelle
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

🔌 Les points d'entrée (UI et API)

Art Le mode de fonctionnement Point de fin / parcours Titel & Zweck Leur
⚡ 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

🛡️ Réglementation et conformité

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • La mise en œuvre de la politique de sécurité
  • Les données de l'expertise sont définies dans le tableau de bord.