# 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
------------- | ------------- | -------------
[**applyCredit**](DeliveriesApi.md#applycredit) | **POST** /deliveries/{delivery_id}/credit | Wendet ein Betrags-Gutschrift-Ereignis an (&#x60;set&#x60;/&#x60;remove&#x60;). Append-only, idempotent über &#x60;clientEventId&#x60;. Nur bei aktiver Lieferung; bei &#x60;set&#x60; sind Betrag (0 &lt; x ≤ 150 €, 10-€-Schritte) und Grund Pflicht. Antwort: der aktuelle Gutschrift-Stand (&#x60;null&#x60;, wenn entfernt).
[**assignCar**](DeliveriesApi.md#assigncar) | **PUT** /deliveries/{delivery_id}/assigned-car | Setzt das &#x60;assigned_car_id&#x60; einer Lieferung. &#x60;carId: null&#x60; 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 &#x60;canceled&#x60; — endgültig. Erlaubt aus &#x60;active&#x60; und &#x60;held&#x60;.
[**complete**](DeliveriesApi.md#complete) | **POST** /deliveries/{delivery_id}/complete | Schließt die Lieferung ab — &#x60;state &#x3D; completed&#x60;. Nur aus &#x60;active&#x60;.
[**createNote**](DeliveriesApi.md#createnote) | **POST** /deliveries/{delivery_id}/notes | Legt eine neue Notiz an einer Lieferung an. Mindestens eines von &#x60;text&#x60; und &#x60;imageAttachment&#x60; muss inhaltlich gefüllt sein (Leerstrings werden serverseitig getrimmt und als leer behandelt).
[**deleteNote**](DeliveriesApi.md#deletenote) | **DELETE** /deliveries/{delivery_id}/notes/{note_id} | Löscht eine Notiz. Antwortet mit &#x60;204 No Content&#x60;.
[**deleteServiceValue**](DeliveriesApi.md#deleteservicevalue) | **DELETE** /deliveries/{delivery_id}/services/{service_id} | Entfernt den Service-Wert einer Lieferung (Service „nicht gesetzt\&quot;). Nur bei aktiver Lieferung. Antwort &#x60;204&#x60;.
[**hold**](DeliveriesApi.md#hold) | **POST** /deliveries/{delivery_id}/hold | Setzt die Lieferung auf &#x60;held&#x60;. Nur aus &#x60;active&#x60; zulässig.
[**resume**](DeliveriesApi.md#resume) | **POST** /deliveries/{delivery_id}/resume | Setzt die Lieferung zurück auf &#x60;active&#x60;. Nur aus &#x60;held&#x60; zulässig.
[**setService**](DeliveriesApi.md#setservice) | **PUT** /deliveries/{delivery_id}/services/{service_id} | Setzt (Upsert) den Wert eines Service für eine Lieferung. Genau das zum Service-Typ passende Feld (&#x60;boolValue&#x60;/&#x60;numericValue&#x60;) muss gesetzt sein; numerische Werte werden gegen min/max geprüft. Nur bei aktiver Lieferung.
[**updateNote**](DeliveriesApi.md#updatenote) | **PATCH** /deliveries/{delivery_id}/notes/{note_id} | Ändert Text/Bild einer Notiz. Innerhalb des (geteilten) Accounts darf jeder Fahrer Notizen pflegen — kein Autor-Check. &#x60;delivery_id&#x60; ist Teil des Pfads (REST-Konsistenz), die Notiz wird über &#x60;note_id&#x60; adressiert.
[**uploadNoteImage**](DeliveriesApi.md#uploadnoteimage) | **POST** /deliveries/{delivery_id}/notes/image | Lädt ein Bild zu einer Lieferung hoch (multipart/form-data, Feld &#x60;file&#x60;) und legt dafür eine Bild-Notiz an. Das Bild geht in den DOCUframe-Dokumentenspeicher; gespeichert wird die zurückgelieferte Referenz (&#x60;~ObjectID&#x60;) als &#x60;image_attachment&#x60; der Notiz.


# **applyCredit**
> DeliveryCreditResponse applyCredit(deliveryId, deliveryCreditEventRequest)

Wendet ein Betrags-Gutschrift-Ereignis an (`set`/`remove`). Append-only, idempotent über `clientEventId`. Nur bei aktiver Lieferung; bei `set` sind Betrag (0 < x ≤ 150 €, 10-€-Schritte) und Grund Pflicht. Antwort: der aktuelle Gutschrift-Stand (`null`, wenn entfernt).

### Example
```dart
import 'package:holzleitner_api/api.dart';

final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | 
final DeliveryCreditEventRequest deliveryCreditEventRequest = ; // DeliveryCreditEventRequest | 

try {
    final response = api.applyCredit(deliveryId, deliveryCreditEventRequest);
    print(response);
} catch on DioException (e) {
    print('Exception when calling DeliveriesApi->applyCredit: $e\n');
}
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **deliveryId** | **String**|  | 
 **deliveryCreditEventRequest** | [**DeliveryCreditEventRequest**](DeliveryCreditEventRequest.md)|  | 

### Return type

[**DeliveryCreditResponse**](DeliveryCreditResponse.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)

# **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`.

`multipart/form-data` mit drei Feldern:   * `customer_signature` — PNG der Kunden-Unterschrift (Pflicht)   * `driver_signature`   — PNG der Fahrer-Unterschrift (Pflicht)   * `acknowledgements`   — JSON (`CompleteDeliveryAcknowledgements`):     `receiptConfirmed` (Pflicht true), `notesAcknowledged`,     `acknowledgedNoteIds`, `authorCarId`.  Atomar: Signaturen werden lokal gespeichert, die Abschluss-Zeile geschrieben und der Status auf `completed` gesetzt — alles oder nichts. Gates: Lieferung aktiv, alle scanbaren Positionen fertig, Notizen bestätigt (falls vorhanden).

### 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**: multipart/form-data
 - **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)

# **deleteNote**
> deleteNote(deliveryId, noteId)

Löscht eine Notiz. Antwortet mit `204 No Content`.

### Example
```dart
import 'package:holzleitner_api/api.dart';

final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | 
final String noteId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | 

try {
    api.deleteNote(deliveryId, noteId);
} catch on DioException (e) {
    print('Exception when calling DeliveriesApi->deleteNote: $e\n');
}
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **deliveryId** | **String**|  | 
 **noteId** | **String**|  | 

### Return type

void (empty response body)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

[[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)

# **deleteServiceValue**
> deleteServiceValue(deliveryId, serviceId)

Entfernt den Service-Wert einer Lieferung (Service „nicht gesetzt\"). Nur bei aktiver Lieferung. Antwort `204`.

### Example
```dart
import 'package:holzleitner_api/api.dart';

final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | 
final String serviceId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | 

try {
    api.deleteServiceValue(deliveryId, serviceId);
} catch on DioException (e) {
    print('Exception when calling DeliveriesApi->deleteServiceValue: $e\n');
}
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **deliveryId** | **String**|  | 
 **serviceId** | **String**|  | 

### Return type

void (empty response body)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined

[[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)

# **setService**
> DeliveryServiceResponse setService(deliveryId, serviceId, setDeliveryServiceRequest)

Setzt (Upsert) den Wert eines Service für eine Lieferung. Genau das zum Service-Typ passende Feld (`boolValue`/`numericValue`) muss gesetzt sein; numerische Werte werden gegen min/max geprüft. Nur bei aktiver Lieferung.

### Example
```dart
import 'package:holzleitner_api/api.dart';

final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | 
final String serviceId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | 
final SetDeliveryServiceRequest setDeliveryServiceRequest = ; // SetDeliveryServiceRequest | 

try {
    final response = api.setService(deliveryId, serviceId, setDeliveryServiceRequest);
    print(response);
} catch on DioException (e) {
    print('Exception when calling DeliveriesApi->setService: $e\n');
}
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **deliveryId** | **String**|  | 
 **serviceId** | **String**|  | 
 **setDeliveryServiceRequest** | [**SetDeliveryServiceRequest**](SetDeliveryServiceRequest.md)|  | 

### Return type

[**DeliveryServiceResponse**](DeliveryServiceResponse.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)

# **updateNote**
> DeliveryNoteResponse updateNote(deliveryId, noteId, updateDeliveryNoteRequest)

Ändert Text/Bild einer Notiz. Innerhalb des (geteilten) Accounts darf jeder Fahrer Notizen pflegen — kein Autor-Check. `delivery_id` ist Teil des Pfads (REST-Konsistenz), die Notiz wird über `note_id` adressiert.

### Example
```dart
import 'package:holzleitner_api/api.dart';

final api = HolzleitnerApi().getDeliveriesApi();
final String deliveryId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | 
final String noteId = 38400000-8cf0-11bd-b23e-10b96e4ef00d; // String | 
final UpdateDeliveryNoteRequest updateDeliveryNoteRequest = ; // UpdateDeliveryNoteRequest | 

try {
    final response = api.updateNote(deliveryId, noteId, updateDeliveryNoteRequest);
    print(response);
} catch on DioException (e) {
    print('Exception when calling DeliveriesApi->updateNote: $e\n');
}
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **deliveryId** | **String**|  | 
 **noteId** | **String**|  | 
 **updateDeliveryNoteRequest** | [**UpdateDeliveryNoteRequest**](UpdateDeliveryNoteRequest.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)

# **uploadNoteImage**
> DeliveryNoteResponse uploadNoteImage(deliveryId)

Lädt ein Bild zu einer Lieferung hoch (multipart/form-data, Feld `file`) und legt dafür eine Bild-Notiz an. Das Bild geht in den DOCUframe-Dokumentenspeicher; gespeichert wird die zurückgelieferte Referenz (`~ObjectID`) als `image_attachment` der Notiz.

### 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.uploadNoteImage(deliveryId);
    print(response);
} catch on DioException (e) {
    print('Exception when calling DeliveriesApi->uploadNoteImage: $e\n');
}
```

### Parameters

Name | Type | Description  | Notes
------------- | ------------- | ------------- | -------------
 **deliveryId** | **String**|  | 

### Return type

[**DeliveryNoteResponse**](DeliveryNoteResponse.md)

### Authorization

[bearer_auth](../README.md#bearer_auth)

### HTTP request headers

 - **Content-Type**: multipart/form-data
 - **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)

