Phase A: generierter Dart-Client + DI-Foundation für Rust-Backend

OpenAPI-Generator-Setup:
- tool/generate_api_client.sh: Direkter Aufruf der openapi-generator-cli.jar
  (Java-CLI statt Dart-build_runner-Integration — vermeidet die
  analyzer-/source_gen-Version-Hölle mit json_serializable)
- tool/fetch_openapi_generator.sh: lädt die JAR (29 MB) nach (gitignored)
- openapi/holzleitner.json: Snapshot der Backend-Spec für reproduzierbare
  Generation
- packages/holzleitner_api/: generiertes Dart-Sub-Package (built_value +
  dio), per path-dep im Haupt-pubspec eingehängt

Netzwerk-Layer (lib/data/network/):
- BackendConfig: API- und Keycloak-Endpoints für Local-Dev (localhost
  wegen Keycloak-iss-Claim).
- AuthTokenProvider-Schnittstelle.
- DevPasswordGrantTokenProvider: Phase-A-Provider via Keycloak
  password-grant, Token-Caching mit Expiry-Check (Phase B ersetzt das
  durch flutter_appauth PKCE).
- HolzleitnerAuthInterceptor: dynamischer Bearer-Inject pro Request.
- HolzleitnerApiFactory: baut die generierte HolzleitnerApi-Klasse
  mit unserem Interceptor statt der vier Default-Auth-Interceptors.
- network_locator.registerNetworking(): get_it-Setup, in main() vor
  runApp() aufgerufen.

Clean-Arch-Scaffolding (lib/data/, lib/domain/):
- Verzeichnisstruktur für Phase C+D angelegt (mapper/, repository/,
  entity/, repository/) — befüllt sich in den Folge-Phasen.

Smoke-Test:
- tool/smoke_test_api.dart ruft /health (ungeschützt) und /me/cars
  (mit Bearer) via generiertem Client — grün gegen lokales Backend.
This commit is contained in:
Dennis Nemec
2026-05-14 22:44:51 +02:00
parent 456fb59668
commit 8cf4045e44
222 changed files with 19350 additions and 0 deletions

View File

@ -0,0 +1,17 @@
# holzleitner_api.model.Account
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**active** | **bool** | |
**name** | **String** | |
**personalnummer** | **int** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,55 @@
# holzleitner_api.api.AccountsApi
## Load the API package
```dart
import 'package:holzleitner_api/api.dart';
```
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**getAccount**](AccountsApi.md#getaccount) | **GET** /accounts/{personalnummer} | Liest den Account zu einer Personalnummer.
# **getAccount**
> Account getAccount(personalnummer)
Liest den Account zu einer Personalnummer.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getAccountsApi();
final int personalnummer = 789; // int | Personalnummer des Accounts
try {
final response = api.getAccount(personalnummer);
print(response);
} catch on DioException (e) {
print('Exception when calling AccountsApi->getAccount: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**personalnummer** | **int**| Personalnummer des Accounts |
### Return type
[**Account**](Account.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -0,0 +1,19 @@
# holzleitner_api.model.Address
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**city** | **String** | |
**country** | **String** | |
**houseNumber** | **String** | |
**postalCode** | **String** | |
**street** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.ApplyScansRequest
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**scans** | [**BuiltList<ScanEvent>**](ScanEvent.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.ApplyScansResponse
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**results** | [**BuiltList<ScanResult>**](ScanResult.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,19 @@
# holzleitner_api.model.Article
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**articleNumber** | **String** | |
**defaultWarehouseId** | **String** | | [optional]
**id** | **String** | |
**name** | **String** | |
**scannable** | **bool** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.AssignCarRequest
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**carId** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,14 @@
# holzleitner_api.model.AuditAction
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.CancelDeliveryRequest
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**reason** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,18 @@
# holzleitner_api.model.Car
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**accountId** | **int** | Verweis auf [`crate::domain::Account::personalnummer`]. |
**active** | **bool** | |
**id** | **String** | |
**plate** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.CarResponse
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**car** | [**Car**](Car.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,141 @@
# holzleitner_api.api.CarsApi
## Load the API package
```dart
import 'package:holzleitner_api/api.dart';
```
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**createMyCar**](CarsApi.md#createmycar) | **POST** /me/cars | Legt ein neues Fahrzeug für den angemeldeten Fahrer an.
[**listMyCars**](CarsApi.md#listmycars) | **GET** /me/cars | Listet die Fahrzeuge des angemeldeten Fahrers.
[**updateMyCar**](CarsApi.md#updatemycar) | **PATCH** /me/cars/{car_id} | Aktualisiert ein Fahrzeug (Kennzeichen ändern / deaktivieren).
# **createMyCar**
> CarResponse createMyCar(createCarRequest)
Legt ein neues Fahrzeug für den angemeldeten Fahrer an.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getCarsApi();
final CreateCarRequest createCarRequest = ; // CreateCarRequest |
try {
final response = api.createMyCar(createCarRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling CarsApi->createMyCar: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**createCarRequest** | [**CreateCarRequest**](CreateCarRequest.md)| |
### Return type
[**CarResponse**](CarResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **listMyCars**
> CarsList listMyCars(includeInactive)
Listet die Fahrzeuge des angemeldeten Fahrers.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getCarsApi();
final bool includeInactive = true; // bool | Wenn true, werden inaktive Fahrzeuge mitgeliefert (default: false)
try {
final response = api.listMyCars(includeInactive);
print(response);
} catch on DioException (e) {
print('Exception when calling CarsApi->listMyCars: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**includeInactive** | **bool**| Wenn true, werden inaktive Fahrzeuge mitgeliefert (default: false) | [optional]
### Return type
[**CarsList**](CarsList.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **updateMyCar**
> CarResponse updateMyCar(carId, updateCarRequest)
Aktualisiert ein Fahrzeug (Kennzeichen ändern / deaktivieren).
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getCarsApi();
final String carId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final UpdateCarRequest updateCarRequest = ; // UpdateCarRequest |
try {
final response = api.updateMyCar(carId, updateCarRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling CarsApi->updateMyCar: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**carId** | **String**| |
**updateCarRequest** | [**UpdateCarRequest**](UpdateCarRequest.md)| |
### Return type
[**CarResponse**](CarResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.CarsList
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**cars** | [**BuiltList<Car>**](Car.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.CreateCarRequest
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**plate** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,17 @@
# holzleitner_api.model.CreateDeliveryNoteRequest
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**authorCarId** | **String** | Fahrzeug, das die Notiz erzeugt hat. Muss zum angemeldeten Account gehören. `None` ist erlaubt. | [optional]
**imageAttachment** | **String** | Object-Storage-Key oder URL eines vorab hochgeladenen Bildes. | [optional]
**text** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,18 @@
# holzleitner_api.model.Customer
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**address** | [**Address**](Address.md) | |
**erpCustomerId** | **int** | |
**id** | **String** | |
**name** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,19 @@
# holzleitner_api.model.CustomerContact
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**customerId** | **String** | |
**email** | **String** | | [optional]
**id** | **String** | |
**name** | **String** | |
**phone** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,273 @@
# holzleitner_api.api.DeliveriesApi
## Load the API package
```dart
import 'package:holzleitner_api/api.dart';
```
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**assignCar**](DeliveriesApi.md#assigncar) | **PUT** /deliveries/{delivery_id}/assigned-car | Setzt das `assigned_car_id` einer Lieferung. `carId: null` löst die Zuordnung wieder. Der Use Case stellt sicher, dass das Fahrzeug zum angemeldeten Account gehört.
[**cancel**](DeliveriesApi.md#cancel) | **POST** /deliveries/{delivery_id}/cancel | Setzt die Lieferung auf `canceled` — endgültig. Erlaubt aus `active` und `held`.
[**complete**](DeliveriesApi.md#complete) | **POST** /deliveries/{delivery_id}/complete | Schließt die Lieferung ab — `state = completed`. Nur aus `active`.
[**createNote**](DeliveriesApi.md#createnote) | **POST** /deliveries/{delivery_id}/notes | Legt eine neue Notiz an einer Lieferung an. Mindestens eines von `text` und `imageAttachment` muss inhaltlich gefüllt sein (Leerstrings werden serverseitig getrimmt und als leer behandelt).
[**hold**](DeliveriesApi.md#hold) | **POST** /deliveries/{delivery_id}/hold | Setzt die Lieferung auf `held`. Nur aus `active` zulässig.
[**resume**](DeliveriesApi.md#resume) | **POST** /deliveries/{delivery_id}/resume | Setzt die Lieferung zurück auf `active`. Nur aus `held` zulässig.
# **assignCar**
> DeliveryResponse assignCar(deliveryId, assignCarRequest)
Setzt das `assigned_car_id` einer Lieferung. `carId: null` löst die Zuordnung wieder. Der Use Case stellt sicher, dass das Fahrzeug zum angemeldeten Account gehört.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final AssignCarRequest assignCarRequest = ; // AssignCarRequest |
try {
final response = api.assignCar(deliveryId, assignCarRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->assignCar: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**deliveryId** | **String**| |
**assignCarRequest** | [**AssignCarRequest**](AssignCarRequest.md)| |
### Return type
[**DeliveryResponse**](DeliveryResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **cancel**
> DeliveryResponse cancel(deliveryId, cancelDeliveryRequest)
Setzt die Lieferung auf `canceled` — endgültig. Erlaubt aus `active` und `held`.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final CancelDeliveryRequest cancelDeliveryRequest = ; // CancelDeliveryRequest |
try {
final response = api.cancel(deliveryId, cancelDeliveryRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->cancel: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**deliveryId** | **String**| |
**cancelDeliveryRequest** | [**CancelDeliveryRequest**](CancelDeliveryRequest.md)| |
### Return type
[**DeliveryResponse**](DeliveryResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **complete**
> DeliveryResponse complete(deliveryId)
Schließt die Lieferung ab — `state = completed`. Nur aus `active`.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
try {
final response = api.complete(deliveryId);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->complete: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**deliveryId** | **String**| |
### Return type
[**DeliveryResponse**](DeliveryResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **createNote**
> DeliveryNoteResponse createNote(deliveryId, createDeliveryNoteRequest)
Legt eine neue Notiz an einer Lieferung an. Mindestens eines von `text` und `imageAttachment` muss inhaltlich gefüllt sein (Leerstrings werden serverseitig getrimmt und als leer behandelt).
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final CreateDeliveryNoteRequest createDeliveryNoteRequest = ; // CreateDeliveryNoteRequest |
try {
final response = api.createNote(deliveryId, createDeliveryNoteRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->createNote: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**deliveryId** | **String**| |
**createDeliveryNoteRequest** | [**CreateDeliveryNoteRequest**](CreateDeliveryNoteRequest.md)| |
### Return type
[**DeliveryNoteResponse**](DeliveryNoteResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **hold**
> DeliveryResponse hold(deliveryId, holdDeliveryRequest)
Setzt die Lieferung auf `held`. Nur aus `active` zulässig.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final HoldDeliveryRequest holdDeliveryRequest = ; // HoldDeliveryRequest |
try {
final response = api.hold(deliveryId, holdDeliveryRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->hold: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**deliveryId** | **String**| |
**holdDeliveryRequest** | [**HoldDeliveryRequest**](HoldDeliveryRequest.md)| |
### Return type
[**DeliveryResponse**](DeliveryResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **resume**
> DeliveryResponse resume(deliveryId)
Setzt die Lieferung zurück auf `active`. Nur aus `held` zulässig.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
try {
final response = api.resume(deliveryId);
print(response);
} catch on DioException (e) {
print('Exception when calling DeliveriesApi->resume: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**deliveryId** | **String**| |
### Return type
[**DeliveryResponse**](DeliveryResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -0,0 +1,26 @@
# holzleitner_api.model.Delivery
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**assignedCarId** | **String** | Fahrzeug-Zuordnung, gesetzt in der Auswählen-Phase. Bei Ein-Auto-Teams beim Sync automatisch gefüllt. | [optional]
**contactPersonIds** | **BuiltList<String>** | Ausgewählte Ansprechpartner für genau diese Lieferung (Auswahl aus `Customer.contacts`). Kann leer sein. |
**customerId** | **String** | |
**deliveryAddressSnapshot** | [**Address**](Address.md) | Eingefrorene Liefer-Adresse zum Zeitpunkt des Tour-Syncs. Schützt vor rückwirkenden Kunden-Adressänderungen. |
**desiredTime** | **String** | Wunsch-Lieferzeit als Freitext (z. B. \"vormittags\", \"ab 14:00\"). | [optional]
**erpBelegartId** | **int** | ERP-Beleg-Bezug: business-stabiles Paar `(Belegart, Belegnummer)`. Überlebt den Belegkopf-Archivübergang. |
**erpBelegnummer** | **String** | |
**id** | **String** | |
**specialAgreements** | **String** | Sondervereinbarungen (z. B. „Türklingel defekt, hintenrum klopfen\"). | [optional]
**state** | [**DeliveryState**](DeliveryState.md) | |
**stateReason** | **String** | Begründung bei `state == Held` oder `state == Canceled`. Beim Resume / Complete wieder `None`. | [optional]
**tourId** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,22 @@
# holzleitner_api.model.DeliveryItem
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**articleId** | **String** | |
**belegzeilenNr** | **int** | ERP-Belegzeilen-Nr (Position innerhalb des Belegs). |
**deliveryId** | **String** | |
**id** | **String** | |
**komponentenArtikelNr** | **String** | Bei Items aus einer Stückliste: Artikelnummer der Komponente. Bei regulären Belegzeilen: `None`. | [optional]
**requiredQuantity** | **int** | |
**scanState** | [**ScanState**](ScanState.md) | |
**warehouseId** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,21 @@
# holzleitner_api.model.DeliveryNote
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**authorCarId** | **String** | Fahrzeug, falls bekannt — nullable bis das Backend Cars verwaltet. | [optional]
**authorPersonalnummer** | **int** | Personalnummer des Akteurs (aus dem JWT). Pflicht. |
**createdAt** | [**DateTime**](DateTime.md) | |
**deliveryId** | **String** | |
**id** | **String** | |
**imageAttachment** | **String** | Referenz auf einen Bild-Anhang (z. B. Object-Storage-Key/URL). | [optional]
**text** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.DeliveryNoteResponse
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**note** | [**DeliveryNote**](DeliveryNote.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# holzleitner_api.model.DeliveryOrderEntry
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**deliveryId** | **String** | |
**sortOrder** | **int** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.DeliveryResponse
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**delivery** | [**Delivery**](Delivery.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,14 @@
# holzleitner_api.model.DeliveryState
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,28 @@
# holzleitner_api.model.DeliveryWithItems
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**assignedCarId** | **String** | Fahrzeug-Zuordnung, gesetzt in der Auswählen-Phase. Bei Ein-Auto-Teams beim Sync automatisch gefüllt. | [optional]
**contactPersonIds** | **BuiltList<String>** | Ausgewählte Ansprechpartner für genau diese Lieferung (Auswahl aus `Customer.contacts`). Kann leer sein. |
**customerId** | **String** | |
**deliveryAddressSnapshot** | [**Address**](Address.md) | Eingefrorene Liefer-Adresse zum Zeitpunkt des Tour-Syncs. Schützt vor rückwirkenden Kunden-Adressänderungen. |
**desiredTime** | **String** | Wunsch-Lieferzeit als Freitext (z. B. \"vormittags\", \"ab 14:00\"). | [optional]
**erpBelegartId** | **int** | ERP-Beleg-Bezug: business-stabiles Paar `(Belegart, Belegnummer)`. Überlebt den Belegkopf-Archivübergang. |
**erpBelegnummer** | **String** | |
**id** | **String** | |
**specialAgreements** | **String** | Sondervereinbarungen (z. B. „Türklingel defekt, hintenrum klopfen\"). | [optional]
**state** | [**DeliveryState**](DeliveryState.md) | |
**stateReason** | **String** | Begründung bei `state == Held` oder `state == Canceled`. Beim Resume / Complete wieder `None`. | [optional]
**tourId** | **String** | |
**items** | [**BuiltList<DeliveryItem>**](DeliveryItem.md) | |
**sortOrder** | **int** | Sortier-Reihenfolge innerhalb der Tour (1-basiert). |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,51 @@
# holzleitner_api.api.HealthApi
## Load the API package
```dart
import 'package:holzleitner_api/api.dart';
```
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**health**](HealthApi.md#health) | **GET** /health | Health-Endpoint für Load-Balancer und Container-Probes. Bewusst kein Auth — eine `200 ok`-Antwort darf nicht von der Auth abhängen.
# **health**
> String health()
Health-Endpoint für Load-Balancer und Container-Probes. Bewusst kein Auth — eine `200 ok`-Antwort darf nicht von der Auth abhängen.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getHealthApi();
try {
final response = api.health();
print(response);
} catch on DioException (e) {
print('Exception when calling HealthApi->health: $e\n');
}
```
### Parameters
This endpoint does not need any parameter.
### Return type
**String**
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/plain
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.HoldDeliveryRequest
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**reason** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,20 @@
# holzleitner_api.model.ScanEvent
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**action** | [**AuditAction**](AuditAction.md) | |
**actorCarId** | **String** | Fahrzeug, in dem der Scan gemacht wurde. Muss zum angemeldeten Account gehören. `None` ist erlaubt, schwächt aber den Audit-Trail. | [optional]
**clientScanId** | **String** | |
**clientScannedAt** | [**DateTime**](DateTime.md) | |
**deliveryItemId** | **String** | |
**reason** | **String** | Pflicht bei `Hold` und `Remove`. Sonst ignoriert. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,19 @@
# holzleitner_api.model.ScanResult
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**clientScanId** | **String** | |
**deliveryItemId** | **String** | Aktueller `scan_state` der Position nach der Verarbeitung — genau dann gesetzt, wenn der Server den Stand kennen konnte (`Applied` oder `Duplicate`). Erlaubt der App, die UI ohne Re-Fetch zu aktualisieren. | [optional]
**newScanState** | [**ScanState**](ScanState.md) | | [optional]
**reason** | **String** | Bei `Rejected`: Begründung. Bei `Applied`/`Duplicate`: `None`. | [optional]
**status** | [**ScanResultStatus**](ScanResultStatus.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,14 @@
# holzleitner_api.model.ScanResultStatus
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,18 @@
# holzleitner_api.model.ScanState
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**heldReason** | **String** | Grund bei `status == Held` oder `status == Removed`. | [optional]
**lastUpdatedAt** | [**DateTime**](DateTime.md) | |
**scannedQuantity** | **int** | |
**status** | [**ScanStatus**](ScanStatus.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,14 @@
# holzleitner_api.model.ScanStatus
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,57 @@
# holzleitner_api.api.ScansApi
## Load the API package
```dart
import 'package:holzleitner_api/api.dart';
```
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**applyScans**](ScansApi.md#applyscans) | **POST** /scans | Wendet eine Liste von Scan-Events idempotent an.
# **applyScans**
> ApplyScansResponse applyScans(applyScansRequest)
Wendet eine Liste von Scan-Events idempotent an.
Pro Event ein eigenes Resultat. Status `applied` schreibt einen frischen Audit-Eintrag, `duplicate` liefert den aktuellen Stand am Server, `rejected` enthält die Begründung. Reihenfolge der `results` entspricht der Reihenfolge der `scans` im Request.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getScansApi();
final ApplyScansRequest applyScansRequest = ; // ApplyScansRequest |
try {
final response = api.applyScans(applyScansRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling ScansApi->applyScans: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**applyScansRequest** | [**ApplyScansRequest**](ApplyScansRequest.md)| |
### Return type
[**ApplyScansResponse**](ApplyScansResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.SetDeliveryOrderRequest
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**deliveryIds** | **BuiltList<String>** | Reihenfolge: Position im Array (0-basiert) wird zu `sort_order` (1-basiert) gemappt. |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# holzleitner_api.model.SetDeliveryOrderResponse
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**order** | [**BuiltList<DeliveryOrderEntry>**](DeliveryOrderEntry.md) | |
**tourId** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,55 @@
# holzleitner_api.api.SyncApi
## Load the API package
```dart
import 'package:holzleitner_api/api.dart';
```
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**syncTour**](SyncApi.md#synctour) | **POST** /sync/tour | Sync-Endpoint für das ERP: legt eine Tagestour samt Lieferungen und Positionen idempotent an. Identität pro Tour `(driver_personalnummer, tour_date)`, pro Lieferung `(belegart_id, belegnummer)`.
# **syncTour**
> SyncTourResponse syncTour(syncTourRequest)
Sync-Endpoint für das ERP: legt eine Tagestour samt Lieferungen und Positionen idempotent an. Identität pro Tour `(driver_personalnummer, tour_date)`, pro Lieferung `(belegart_id, belegnummer)`.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getSyncApi();
final SyncTourRequest syncTourRequest = ; // SyncTourRequest |
try {
final response = api.syncTour(syncTourRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling SyncApi->syncTour: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**syncTourRequest** | [**SyncTourRequest**](SyncTourRequest.md)| |
### Return type
[**SyncTourResponse**](SyncTourResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -0,0 +1,24 @@
# holzleitner_api.model.SyncDelivery
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**belegartId** | **int** | |
**belegnummer** | **String** | |
**customerAddress** | [**Address**](Address.md) | |
**customerName** | **String** | |
**deliveryAddress** | [**Address**](Address.md) | Snapshot der Lieferadresse (kann von der Stammadresse abweichen). |
**desiredTime** | **String** | | [optional]
**erpCustomerId** | **int** | |
**items** | [**BuiltList<SyncDeliveryItem>**](SyncDeliveryItem.md) | |
**sortOrder** | **int** | 1-basiert, definiert die initiale Reihenfolge in der App. |
**specialAgreements** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,23 @@
# holzleitner_api.model.SyncDeliveryItem
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**articleDefaultWarehouseCode** | **String** | Default-Lager-Code für den Artikel (Anlage neuer Artikel). | [optional]
**articleName** | **String** | |
**articleNumber** | **String** | |
**articleScannable** | **bool** | |
**belegzeilenNr** | **int** | |
**komponentenArtikelNr** | **String** | Komponenten-Artikelnummer bei aufgelösten Stücklisten, sonst leer. | [optional]
**requiredQuantity** | **int** | |
**warehouseCode** | **String** | |
**warehouseName** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,17 @@
# holzleitner_api.model.SyncTourRequest
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**deliveries** | [**BuiltList<SyncDelivery>**](SyncDelivery.md) | |
**driverPersonalnummer** | **int** | |
**tourDate** | [**Date**](Date.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.SyncTourResponse
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**tourId** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,18 @@
# holzleitner_api.model.Tour
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**accountId** | **int** | |
**date** | [**Date**](Date.md) | |
**id** | **String** | |
**syncedAt** | [**DateTime**](DateTime.md) | Zeitpunkt des letzten ERP-Sync — für Drift-Erkennung. |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,21 @@
# holzleitner_api.model.TourDetails
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**articles** | [**BuiltList<Article>**](Article.md) | |
**customerContacts** | [**BuiltList<CustomerContact>**](CustomerContact.md) | |
**customers** | [**BuiltList<Customer>**](Customer.md) | |
**deliveries** | [**BuiltList<DeliveryWithItems>**](DeliveryWithItems.md) | |
**notes** | [**BuiltList<DeliveryNote>**](DeliveryNote.md) | Alle Notizen aller Lieferungen dieser Tour, in einer Liste. Die App joint clientseitig per `delivery_id`. Reihenfolge: pro Lieferung aufsteigend nach `created_at`. |
**tour** | [**Tour**](Tour.md) | |
**warehouses** | [**BuiltList<Warehouse>**](Warehouse.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,17 @@
# holzleitner_api.model.TourSummary
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**deliveryCount** | **int** | |
**tourDate** | [**Date**](Date.md) | |
**tourId** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# holzleitner_api.model.TourSummaryList
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**tours** | [**BuiltList<TourSummary>**](TourSummary.md) | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,137 @@
# holzleitner_api.api.ToursApi
## Load the API package
```dart
import 'package:holzleitner_api/api.dart';
```
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**getTour**](ToursApi.md#gettour) | **GET** /tours/{tour_id} | Lädt eine Tour mit allen Lieferungen, Positionen und referenzierten Stammdaten — die App nutzt das als einzigen großen Read.
[**listMyToursToday**](ToursApi.md#listmytourstoday) | **GET** /me/tours/today | Listet heutige Touren des angemeldeten Fahrers (Filter aus dem JWT).
[**setDeliveryOrder**](ToursApi.md#setdeliveryorder) | **PUT** /tours/{tour_id}/delivery-order | Schreibt die Sortier-Reihenfolge aller Lieferungen einer Tour neu. Der Client schickt die **vollständige** neue Reihenfolge; fehlende oder fremde Lieferungs-Ids werden mit `400 validation` abgelehnt.
# **getTour**
> TourDetails getTour(tourId)
Lädt eine Tour mit allen Lieferungen, Positionen und referenzierten Stammdaten — die App nutzt das als einzigen großen Read.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getToursApi();
final String tourId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | Eindeutige Tour-Id (UUID)
try {
final response = api.getTour(tourId);
print(response);
} catch on DioException (e) {
print('Exception when calling ToursApi->getTour: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**tourId** | **String**| Eindeutige Tour-Id (UUID) |
### Return type
[**TourDetails**](TourDetails.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **listMyToursToday**
> TourSummaryList listMyToursToday()
Listet heutige Touren des angemeldeten Fahrers (Filter aus dem JWT).
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getToursApi();
try {
final response = api.listMyToursToday();
print(response);
} catch on DioException (e) {
print('Exception when calling ToursApi->listMyToursToday: $e\n');
}
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**TourSummaryList**](TourSummaryList.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **setDeliveryOrder**
> SetDeliveryOrderResponse setDeliveryOrder(tourId, setDeliveryOrderRequest)
Schreibt die Sortier-Reihenfolge aller Lieferungen einer Tour neu. Der Client schickt die **vollständige** neue Reihenfolge; fehlende oder fremde Lieferungs-Ids werden mit `400 validation` abgelehnt.
### Example
```dart
import 'package:holzleitner_api/api.dart';
final api = HolzleitnerApi().getToursApi();
final String tourId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String |
final SetDeliveryOrderRequest setDeliveryOrderRequest = ; // SetDeliveryOrderRequest |
try {
final response = api.setDeliveryOrder(tourId, setDeliveryOrderRequest);
print(response);
} catch on DioException (e) {
print('Exception when calling ToursApi->setDeliveryOrder: $e\n');
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**tourId** | **String**| |
**setDeliveryOrderRequest** | [**SetDeliveryOrderRequest**](SetDeliveryOrderRequest.md)| |
### Return type
[**SetDeliveryOrderResponse**](SetDeliveryOrderResponse.md)
### Authorization
[bearer_auth](../README.md#bearer_auth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# holzleitner_api.model.UpdateCarRequest
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**active** | **bool** | Wenn gesetzt: aktiv/inaktiv. Inaktive Fahrzeuge tauchen in `GET /me/cars?activeOnly=true` (default) nicht auf. | [optional]
**plate** | **String** | Wenn gesetzt: neues Kennzeichen. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,18 @@
# holzleitner_api.model.Warehouse
## Load the model package
```dart
import 'package:holzleitner_api/api.dart';
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**code** | **String** | |
**id** | **String** | |
**isStandard** | **bool** | |
**name** | **String** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)