- Neuer Workflow-Step "Zahlung" zeigt ausgelieferte Artikel mit Menge und Preis, Betragsaufstellung, Zahlungsstatus und einen grossen Button "Zahlung abwickeln" (fest unten) - Zahlungs-Modal: grosser offener Betrag, Methoden als Cards aus den Backend-Stammdaten, bei EC-Karte gross die Kundennummer; schliesst nur ueber Abbrechen, "Zahlung erhalten" oder "Lieferung abbrechen" (mit Grund) - Bestaetigung wird am Server protokolliert (RecordDeliveryPayment); bis dahin sind "Weiter" und die Uebersicht gesperrt, ausser es ist nichts offen (bereits bezahlt). Aendert sich der Betrag danach, wird die Zahlung als veraltet markiert und muss erneut abgewickelt werden - Uebersicht zeigt die abgewickelte Zahlung statt eigener Methodenauswahl; Unterschrift-Flow ohne doppelte Inkasso-Stufe; Abschluss sendet Methode und Inkasso-Flag der gueltigen Zahlung - DeliveryPaymentStatus als einzige Quelle fuer offenen Betrag (gleiche Formel wie Backend); Artikelliste/Betragskarte als geteilte Widgets; Begruendungs-Dialog geteilt mit Info-Step - API-Client aus aktueller Backend-Spec neu generiert - Tests fuer Zahlungsstatus und Modal Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
142 lines
4.7 KiB
Markdown
142 lines
4.7 KiB
Markdown
# 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.
|
|
[**listMyTours**](ToursApi.md#listmytours) | **GET** /me/tours | Listet die Touren des angemeldeten Fahrers (Filter aus dem JWT) für ein Ziel-Datum. Ohne `?date=` gilt „heute\". Der Fahrer wählt das Datum aktiv im Kopf-Kalender der App (z. B. um die Tour von morgen vorab zu sehen).
|
|
[**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)
|
|
|
|
# **listMyTours**
|
|
> TourSummaryList listMyTours(date)
|
|
|
|
Listet die Touren des angemeldeten Fahrers (Filter aus dem JWT) für ein Ziel-Datum. Ohne `?date=` gilt „heute\". Der Fahrer wählt das Datum aktiv im Kopf-Kalender der App (z. B. um die Tour von morgen vorab zu sehen).
|
|
|
|
### Example
|
|
```dart
|
|
import 'package:holzleitner_api/api.dart';
|
|
|
|
final api = HolzleitnerApi().getToursApi();
|
|
final String date = date_example; // String | Ziel-Tourdatum YYYY-MM-DD (Default: heute)
|
|
|
|
try {
|
|
final response = api.listMyTours(date);
|
|
print(response);
|
|
} catch on DioException (e) {
|
|
print('Exception when calling ToursApi->listMyTours: $e\n');
|
|
}
|
|
```
|
|
|
|
### Parameters
|
|
|
|
Name | Type | Description | Notes
|
|
------------- | ------------- | ------------- | -------------
|
|
**date** | **String**| Ziel-Tourdatum YYYY-MM-DD (Default: heute) | [optional]
|
|
|
|
### 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)
|
|
|