From acf42de1c22a32086dc37481b81716790d619220 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 8 May 2025 15:20:08 +0200 Subject: [PATCH] wip itinerary entries --- angular/openapi.json | 2 +- angular/openapi.yaml | 44 ++--- .../_abstract/abstract-data-form-component.ts | 7 +- .../datetime-picker.component.html | 2 +- .../datetime-picker.component.ts | 58 ++++-- .../app/_components/list/list.component.ts | 9 +- angular/src/app/_forms/apiForms.ts | 14 +- .../src/app/_helpers/app-helper.service.ts | 1 + .../trip-detail/trip-detail.component.html | 108 +---------- .../trip/trip-detail/trip-detail.component.ts | 172 ------------------ .../trip/trip-form/trip-form.component.html | 6 +- .../trip/trip-list/trip-list.component.ts | 8 - .../trip-location-form.component.html | 57 ++++++ .../trip-location-form.component.scss | 0 .../trip-location-form.component.spec.ts | 23 +++ .../trip-location-form.component.ts | 72 ++++++++ .../trip-location-list.component.html | 9 + .../trip-location-list.component.scss | 0 .../trip-location-list.component.spec.ts | 23 +++ .../trip-location-list.component.ts | 127 +++++++++++++ angular/src/app/app.module.ts | 4 + angular/src/app/core/api/v1/model/trip.ts | 1 - .../src/app/core/api/v1/model/tripJsonld.ts | 1 - .../src/app/core/api/v1/model/tripLocation.ts | 6 +- .../core/api/v1/model/tripLocationJsonld.ts | 6 +- angular/src/assets/i18n/en.json | 6 + httpdocs/migrations/Version20250507154018.php | 41 +++++ httpdocs/src/ApiResource/TripApi.php | 2 - httpdocs/src/ApiResource/TripLocationApi.php | 19 +- httpdocs/src/Entity/Trip.php | 3 - httpdocs/src/Entity/TripLocation.php | 54 ++---- httpdocs/src/Mapper/TripApiToEntityMapper.php | 1 - httpdocs/src/Mapper/TripEntityToApiMapper.php | 1 - .../Mapper/TripLocationApiToEntityMapper.php | 8 +- .../Mapper/TripLocationEntityToApiMapper.php | 6 +- 35 files changed, 472 insertions(+), 429 deletions(-) create mode 100644 angular/src/app/_views/trip/trip-location-form/trip-location-form.component.html create mode 100644 angular/src/app/_views/trip/trip-location-form/trip-location-form.component.scss create mode 100644 angular/src/app/_views/trip/trip-location-form/trip-location-form.component.spec.ts create mode 100644 angular/src/app/_views/trip/trip-location-form/trip-location-form.component.ts create mode 100644 angular/src/app/_views/trip/trip-location-list/trip-location-list.component.html create mode 100644 angular/src/app/_views/trip/trip-location-list/trip-location-list.component.scss create mode 100644 angular/src/app/_views/trip/trip-location-list/trip-location-list.component.spec.ts create mode 100644 angular/src/app/_views/trip/trip-location-list/trip-location-list.component.ts create mode 100644 httpdocs/migrations/Version20250507154018.php diff --git a/angular/openapi.json b/angular/openapi.json index 86c0d13..4888504 100644 --- a/angular/openapi.json +++ b/angular/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Imaq Platform","description":"","version":"1.0.0"},"servers":[{"url":"\/","description":""}],"paths":{"\/api\/auth":{"post":{"operationId":"postCredentialsItem","tags":["Auth"],"responses":{"200":{"description":"Get JWT token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AuthResponse"}}}}},"summary":"Get JWT token to login.","requestBody":{"description":"Generate new JWT Token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Credentials"}}},"required":false},"security":[]}},"\/api\/events":{"get":{"operationId":"api_events_get_collection","tags":["Event"],"responses":{"200":{"description":"Event collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Event.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Event resources.","description":"Retrieves the collection of Event resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/events\/{id}":{"get":{"operationId":"api_events_id_get","tags":["Event"],"responses":{"200":{"description":"Event resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Event.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Event resource.","description":"Retrieves a Event resource.","parameters":[{"name":"id","in":"path","description":"Event identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/locations":{"get":{"operationId":"api_locations_get_collection","tags":["Location"],"responses":{"200":{"description":"Location collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Location.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Location resources.","description":"Retrieves the collection of Location resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"locationNameCodeSearch","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_locations_post","tags":["Location"],"responses":{"201":{"description":"Location resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a Location resource.","description":"Creates a Location resource.","parameters":[],"requestBody":{"description":"The new Location resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"required":true},"deprecated":false}},"\/api\/locations\/{id}":{"get":{"operationId":"api_locations_id_get","tags":["Location"],"responses":{"200":{"description":"Location resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Location resource.","description":"Retrieves a Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_locations_id_delete","tags":["Location"],"responses":{"204":{"description":"Location resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the Location resource.","description":"Removes the Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_locations_id_patch","tags":["Location"],"responses":{"200":{"description":"Location resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the Location resource.","description":"Updates the Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Location resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Location"}}},"required":true},"deprecated":false}},"\/api\/media_objects":{"get":{"operationId":"api_media_objects_get_collection","tags":["MediaObject"],"responses":{"200":{"description":"MediaObject collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of MediaObject resources.","description":"Retrieves the collection of MediaObject resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_media_objects_post","tags":["MediaObject"],"responses":{"201":{"description":"MediaObject resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a MediaObject resource.","description":"Creates a MediaObject resource.","parameters":[],"requestBody":{"description":"The new MediaObject resource","content":{"multipart\/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}},"required":false},"deprecated":false}},"\/api\/media_objects\/{id}":{"get":{"operationId":"api_media_objects_id_get","tags":["MediaObject"],"responses":{"200":{"description":"MediaObject resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a MediaObject resource.","description":"Retrieves a MediaObject resource.","parameters":[{"name":"id","in":"path","description":"MediaObject identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_media_objects_id_delete","tags":["MediaObject"],"responses":{"204":{"description":"MediaObject resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the MediaObject resource.","description":"Removes the MediaObject resource.","parameters":[{"name":"id","in":"path","description":"MediaObject identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/shipping_companies":{"get":{"operationId":"api_shipping_companies_get_collection","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of ShippingCompany resources.","description":"Retrieves the collection of ShippingCompany resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_shipping_companies_post","tags":["ShippingCompany"],"responses":{"201":{"description":"ShippingCompany resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a ShippingCompany resource.","description":"Creates a ShippingCompany resource.","parameters":[],"requestBody":{"description":"The new ShippingCompany resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"required":true},"deprecated":false}},"\/api\/shipping_companies\/{id}":{"get":{"operationId":"api_shipping_companies_id_get","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a ShippingCompany resource.","description":"Retrieves a ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_shipping_companies_id_delete","tags":["ShippingCompany"],"responses":{"204":{"description":"ShippingCompany resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the ShippingCompany resource.","description":"Removes the ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_shipping_companies_id_patch","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the ShippingCompany resource.","description":"Updates the ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated ShippingCompany resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany"}}},"required":true},"deprecated":false}},"\/api\/trips":{"get":{"operationId":"api_trips_get_collection","tags":["Trip"],"responses":{"200":{"description":"Trip collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Trip.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Trip resources.","description":"Retrieves the collection of Trip resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"id","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"integer"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_trips_post","tags":["Trip"],"responses":{"201":{"description":"Trip resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a Trip resource.","description":"Creates a Trip resource.","parameters":[],"requestBody":{"description":"The new Trip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"required":true},"deprecated":false}},"\/api\/trips\/{id}":{"get":{"operationId":"api_trips_id_get","tags":["Trip"],"responses":{"200":{"description":"Trip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Trip resource.","description":"Retrieves a Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_trips_id_delete","tags":["Trip"],"responses":{"204":{"description":"Trip resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the Trip resource.","description":"Removes the Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_trips_id_patch","tags":["Trip"],"responses":{"200":{"description":"Trip resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the Trip resource.","description":"Updates the Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Trip resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Trip"}}},"required":true},"deprecated":false}},"\/api\/trip_locations":{"get":{"operationId":"api_trip_locations_get_collection","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of TripLocation resources.","description":"Retrieves the collection of TripLocation resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"trip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"trip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_trip_locations_post","tags":["TripLocation"],"responses":{"201":{"description":"TripLocation resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a TripLocation resource.","description":"Creates a TripLocation resource.","parameters":[],"requestBody":{"description":"The new TripLocation resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"required":true},"deprecated":false}},"\/api\/trip_locations\/{id}":{"get":{"operationId":"api_trip_locations_id_get","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a TripLocation resource.","description":"Retrieves a TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_trip_locations_id_delete","tags":["TripLocation"],"responses":{"204":{"description":"TripLocation resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the TripLocation resource.","description":"Removes the TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_trip_locations_id_patch","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the TripLocation resource.","description":"Updates the TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated TripLocation resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation"}}},"required":true},"deprecated":false}},"\/api\/users":{"get":{"operationId":"api_users_get_collection","tags":["User"],"responses":{"200":{"description":"User collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/User.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of User resources.","description":"Retrieves the collection of User resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"firstName","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"lastName","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"userNameSearch","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_users_post","tags":["User"],"responses":{"201":{"description":"User resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a User resource.","description":"Creates a User resource.","parameters":[],"requestBody":{"description":"The new User resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"required":true},"deprecated":false}},"\/api\/users\/{id}":{"get":{"operationId":"api_users_id_get","tags":["User"],"responses":{"200":{"description":"User resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a User resource.","description":"Retrieves a User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_users_id_delete","tags":["User"],"responses":{"204":{"description":"User resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the User resource.","description":"Removes the User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_users_id_patch","tags":["User"],"responses":{"200":{"description":"User resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the User resource.","description":"Updates the User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated User resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/User"}}},"required":true},"deprecated":false}},"\/api\/user_trips":{"get":{"operationId":"api_user_trips_get_collection","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of UserTrip resources.","description":"Retrieves the collection of UserTrip resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"trip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"trip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"user","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"user[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_user_trips_post","tags":["UserTrip"],"responses":{"201":{"description":"UserTrip resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a UserTrip resource.","description":"Creates a UserTrip resource.","parameters":[],"requestBody":{"description":"The new UserTrip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"required":true},"deprecated":false}},"\/api\/user_trips\/{id}":{"get":{"operationId":"api_user_trips_id_get","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a UserTrip resource.","description":"Retrieves a UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_user_trips_id_delete","tags":["UserTrip"],"responses":{"204":{"description":"UserTrip resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the UserTrip resource.","description":"Removes the UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_user_trips_id_patch","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the UserTrip resource.","description":"Updates the UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated UserTrip resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip"}}},"required":true},"deprecated":false}},"\/api\/user_trip_events":{"get":{"operationId":"api_user_trip_events_get_collection","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of UserTripEvent resources.","description":"Retrieves the collection of UserTripEvent resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"userTrip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"userTrip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"tripId","in":"query","description":"Filter UserTripEvents by Trip ID","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"integer"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_user_trip_events_post","tags":["UserTripEvent"],"responses":{"201":{"description":"UserTripEvent resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a UserTripEvent resource.","description":"Creates a UserTripEvent resource.","parameters":[],"requestBody":{"description":"The new UserTripEvent resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"required":true},"deprecated":false}},"\/api\/user_trip_events\/{id}":{"get":{"operationId":"api_user_trip_events_id_get","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a UserTripEvent resource.","description":"Retrieves a UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_user_trip_events_id_delete","tags":["UserTripEvent"],"responses":{"204":{"description":"UserTripEvent resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the UserTripEvent resource.","description":"Removes the UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_user_trip_events_id_patch","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the UserTripEvent resource.","description":"Updates the UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated UserTripEvent resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent"}}},"required":true},"deprecated":false}},"\/api\/vessels":{"get":{"operationId":"api_vessels_get_collection","tags":["Vessel"],"responses":{"200":{"description":"Vessel collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Vessel resources.","description":"Retrieves the collection of Vessel resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_vessels_post","tags":["Vessel"],"responses":{"201":{"description":"Vessel resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a Vessel resource.","description":"Creates a Vessel resource.","parameters":[],"requestBody":{"description":"The new Vessel resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"required":true},"deprecated":false}},"\/api\/vessels\/{id}":{"get":{"operationId":"api_vessels_id_get","tags":["Vessel"],"responses":{"200":{"description":"Vessel resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Vessel resource.","description":"Retrieves a Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_vessels_id_delete","tags":["Vessel"],"responses":{"204":{"description":"Vessel resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the Vessel resource.","description":"Removes the Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_vessels_id_patch","tags":["Vessel"],"responses":{"200":{"description":"Vessel resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the Vessel resource.","description":"Updates the Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Vessel resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel"}}},"required":true},"deprecated":false}},"\/api\/zones":{"get":{"operationId":"api_zones_get_collection","tags":["Zone"],"responses":{"200":{"description":"Zone collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Zone.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Zone resources.","description":"Retrieves the collection of Zone resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_zones_post","tags":["Zone"],"responses":{"201":{"description":"Zone resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a Zone resource.","description":"Creates a Zone resource.","parameters":[],"requestBody":{"description":"The new Zone resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"required":true},"deprecated":false}},"\/api\/zones\/{id}":{"get":{"operationId":"api_zones_id_get","tags":["Zone"],"responses":{"200":{"description":"Zone resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Zone resource.","description":"Retrieves a Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_zones_id_delete","tags":["Zone"],"responses":{"204":{"description":"Zone resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the Zone resource.","description":"Removes the Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_zones_id_patch","tags":["Zone"],"responses":{"200":{"description":"Zone resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the Zone resource.","description":"Updates the Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Zone resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Zone"}}},"required":true},"deprecated":false}}},"components":{"schemas":{"ConstraintViolation-json":{"type":"object","description":"Unprocessable entity","deprecated":false,"properties":{"status":{"default":422,"example":422,"type":"integer"},"violations":{"type":"array","items":{"type":"object","properties":{"propertyPath":{"type":"string","description":"The property path of the violation"},"message":{"type":"string","description":"The message associated with the violation"}}}},"detail":{"readOnly":true,"type":"string"},"type":{"readOnly":true,"type":"string"},"title":{"readOnly":true,"type":["string","null"]},"instance":{"readOnly":true,"type":["string","null"]}}},"ConstraintViolation.jsonld-jsonld":{"type":"object","description":"Unprocessable entity","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"status":{"default":422,"example":422,"type":"integer"},"violations":{"type":"array","items":{"type":"object","properties":{"propertyPath":{"type":"string","description":"The property path of the violation"},"message":{"type":"string","description":"The message associated with the violation"}}}},"detail":{"readOnly":true,"type":"string"},"description":{"readOnly":true,"type":"string"},"type":{"readOnly":true,"type":"string"},"title":{"readOnly":true,"type":["string","null"]},"instance":{"readOnly":true,"type":["string","null"]}}},"Error":{"type":"object","description":"A representation of common errors.","deprecated":false,"properties":{"title":{"readOnly":true,"description":"A short, human-readable summary of the problem.","type":["string","null"]},"detail":{"readOnly":true,"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"status":{"type":"number","example":404,"default":400},"instance":{"readOnly":true,"description":"A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.","type":["string","null"]},"type":{"readOnly":true,"description":"A URI reference that identifies the problem type","type":"string"}}},"Error.jsonld":{"type":"object","description":"A representation of common errors.","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"title":{"readOnly":true,"description":"A short, human-readable summary of the problem.","type":["string","null"]},"detail":{"readOnly":true,"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"status":{"type":"number","example":404,"default":400},"instance":{"readOnly":true,"description":"A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.","type":["string","null"]},"type":{"readOnly":true,"description":"A URI reference that identifies the problem type","type":"string"},"description":{"readOnly":true,"type":["string","null"]}}},"Event.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"identifier":{"type":"string"},"sequence":{"type":"integer"},"mandatory":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"Location":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"zone":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"zoneIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"name":{"type":"string"},"code":{"type":"string"},"zoneName":{"readOnly":true,"type":"string"},"isZone":{"type":"boolean"},"isPlace":{"type":"boolean"},"isPort":{"type":"boolean"},"isStartEnd":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["zoneIri","name","code"]},"Location.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"zone":{"readOnly":true,"$ref":"#\/components\/schemas\/Zone.jsonld"},"zoneIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"name":{"type":"string"},"code":{"type":"string"},"zoneName":{"readOnly":true,"type":"string"},"isZone":{"type":"boolean"},"isPlace":{"type":"boolean"},"isPort":{"type":"boolean"},"isStartEnd":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["zoneIri","name","code"]},"MediaObject.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"contentUrl":{"externalDocs":{"url":"https:\/\/schema.org\/contentUrl"},"type":["string","null"]},"filePath":{"readOnly":true,"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"ShippingCompany":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"ShippingCompany.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Trip":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"vessel":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"vesselIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"pilotageReference":{"readOnly":true,"type":["string","null"]},"customerReference":{"type":["string","null"]},"startLocation":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"startLocationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"endLocation":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"endLocationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"completed":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["vesselIri","startLocationIri","endLocationIri","startDate","endDate"]},"Trip.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"vessel":{"readOnly":true,"$ref":"#\/components\/schemas\/Vessel.jsonld"},"vesselIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"pilotageReference":{"readOnly":true,"type":["string","null"]},"customerReference":{"type":["string","null"]},"startLocation":{"readOnly":true,"$ref":"#\/components\/schemas\/Location.jsonld"},"startLocationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"endLocation":{"readOnly":true,"$ref":"#\/components\/schemas\/Location.jsonld"},"endLocationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"completed":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["vesselIri","startLocationIri","endLocationIri","startDate","endDate"]},"TripLocation":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip"},"tripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"location":{"$ref":"#\/components\/schemas\/Location"},"locationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"isArrival":{"type":"boolean"},"isTransit":{"type":"boolean"},"isDeparture":{"type":"boolean"},"date":{"type":"string","format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["tripIri","locationIri","date"]},"TripLocation.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip.jsonld"},"tripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"location":{"$ref":"#\/components\/schemas\/Location.jsonld"},"locationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"isArrival":{"type":"boolean"},"isTransit":{"type":"boolean"},"isDeparture":{"type":"boolean"},"date":{"type":"string","format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["tripIri","locationIri","date"]},"User":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"email":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"firstName":{"type":"string"},"referenceId":{"type":"string"},"lastName":{"type":"string"},"image":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"imageIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"imageUrl":{"readOnly":true,"type":["string","null"]},"fullName":{"readOnly":true,"type":["string","null"]},"password":{"writeOnly":true,"description":"The plaintext password when being set or changed.","type":["string","null"]},"isAdmin":{"type":"boolean"},"active":{"type":"boolean"},"isPilot":{"type":"boolean"},"roles":{"readOnly":true,"type":"array","items":{"type":"string"}},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["email","firstName","referenceId","lastName","isAdmin","active","isPilot"]},"User.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"email":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"firstName":{"type":"string"},"referenceId":{"type":"string"},"lastName":{"type":"string"},"image":{"readOnly":true,"$ref":"#\/components\/schemas\/MediaObject.jsonld"},"imageIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"imageUrl":{"readOnly":true,"type":["string","null"]},"fullName":{"readOnly":true,"type":["string","null"]},"password":{"writeOnly":true,"description":"The plaintext password when being set or changed.","type":["string","null"]},"isAdmin":{"type":"boolean"},"active":{"type":"boolean"},"isPilot":{"type":"boolean"},"roles":{"readOnly":true,"type":"array","items":{"type":"string"}},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["email","firstName","referenceId","lastName","isAdmin","active","isPilot"]},"UserTrip":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"tripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"user":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"userIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"captainName":{"type":["string","null"]},"completed":{"type":"boolean"},"approved":{"type":"boolean"},"signature":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"signatureIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"signatureUrl":{"readOnly":true,"type":["string","null"]},"completedDate":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["tripIri","userIri","completed","approved"]},"UserTrip.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"readOnly":true,"$ref":"#\/components\/schemas\/Trip.jsonld"},"tripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"user":{"readOnly":true,"$ref":"#\/components\/schemas\/User.jsonld"},"userIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"captainName":{"type":["string","null"]},"completed":{"type":"boolean"},"approved":{"type":"boolean"},"signature":{"readOnly":true,"$ref":"#\/components\/schemas\/MediaObject.jsonld"},"signatureIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"signatureUrl":{"readOnly":true,"type":["string","null"]},"completedDate":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["tripIri","userIri","completed","approved"]},"UserTripEvent":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"userTrip":{"readOnly":true,"$ref":"#\/components\/schemas\/UserTrip"},"userTripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"event":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"eventIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"location":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"locationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"user":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"date":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["userTripIri","eventIri","locationIri","date"]},"UserTripEvent.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"userTrip":{"readOnly":true,"$ref":"#\/components\/schemas\/UserTrip.jsonld"},"userTripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"event":{"readOnly":true,"$ref":"#\/components\/schemas\/Event.jsonld"},"eventIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"location":{"readOnly":true,"$ref":"#\/components\/schemas\/Location.jsonld"},"locationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"user":{"readOnly":true,"$ref":"#\/components\/schemas\/User.jsonld"},"date":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["userTripIri","eventIri","locationIri","date"]},"Vessel":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"company":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"companyIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"length":{"type":["number","null"]},"breadth":{"type":["number","null"]},"draft":{"type":["number","null"]},"grossTonnage":{"type":["number","null"]},"imoNo":{"type":["string","null"]},"callSign":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code","companyIri"]},"Vessel.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"company":{"readOnly":true,"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"},"companyIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"length":{"type":["number","null"]},"breadth":{"type":["number","null"]},"draft":{"type":["number","null"]},"grossTonnage":{"type":["number","null"]},"imoNo":{"type":["string","null"]},"callSign":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code","companyIri"]},"Zone":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name"]},"Zone.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name"]},"Credentials":{"type":"object","properties":{"email":{"type":"string","example":"user@example.com"},"password":{"type":"string","example":"password123"}}},"AuthResponse":{"type":"object","properties":{"@id":{"type":"string","example":"\/api\/users\/1"},"dbId":{"type":"integer","example":1},"token":{"type":"string","example":"JWT_TOKEN"}}}},"responses":{},"parameters":{},"examples":{},"requestBodies":{},"headers":{},"securitySchemes":{"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"JWT":[]}],"tags":[{"name":"Event"},{"name":"Location"},{"name":"MediaObject"},{"name":"ShippingCompany"},{"name":"Trip"},{"name":"TripLocation"},{"name":"User"},{"name":"UserTrip"},{"name":"UserTripEvent"},{"name":"Vessel"},{"name":"Zone"}],"webhooks":{}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"Imaq Platform","description":"","version":"1.0.0"},"servers":[{"url":"\/","description":""}],"paths":{"\/api\/auth":{"post":{"operationId":"postCredentialsItem","tags":["Auth"],"responses":{"200":{"description":"Get JWT token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AuthResponse"}}}}},"summary":"Get JWT token to login.","requestBody":{"description":"Generate new JWT Token","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Credentials"}}},"required":false},"security":[]}},"\/api\/events":{"get":{"operationId":"api_events_get_collection","tags":["Event"],"responses":{"200":{"description":"Event collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Event.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Event resources.","description":"Retrieves the collection of Event resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/events\/{id}":{"get":{"operationId":"api_events_id_get","tags":["Event"],"responses":{"200":{"description":"Event resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Event.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Event resource.","description":"Retrieves a Event resource.","parameters":[{"name":"id","in":"path","description":"Event identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/locations":{"get":{"operationId":"api_locations_get_collection","tags":["Location"],"responses":{"200":{"description":"Location collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Location.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Location resources.","description":"Retrieves the collection of Location resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"locationNameCodeSearch","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_locations_post","tags":["Location"],"responses":{"201":{"description":"Location resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a Location resource.","description":"Creates a Location resource.","parameters":[],"requestBody":{"description":"The new Location resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"required":true},"deprecated":false}},"\/api\/locations\/{id}":{"get":{"operationId":"api_locations_id_get","tags":["Location"],"responses":{"200":{"description":"Location resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Location resource.","description":"Retrieves a Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_locations_id_delete","tags":["Location"],"responses":{"204":{"description":"Location resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the Location resource.","description":"Removes the Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_locations_id_patch","tags":["Location"],"responses":{"200":{"description":"Location resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Location.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the Location resource.","description":"Updates the Location resource.","parameters":[{"name":"id","in":"path","description":"Location identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Location resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Location"}}},"required":true},"deprecated":false}},"\/api\/media_objects":{"get":{"operationId":"api_media_objects_get_collection","tags":["MediaObject"],"responses":{"200":{"description":"MediaObject collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of MediaObject resources.","description":"Retrieves the collection of MediaObject resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_media_objects_post","tags":["MediaObject"],"responses":{"201":{"description":"MediaObject resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a MediaObject resource.","description":"Creates a MediaObject resource.","parameters":[],"requestBody":{"description":"The new MediaObject resource","content":{"multipart\/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}},"required":false},"deprecated":false}},"\/api\/media_objects\/{id}":{"get":{"operationId":"api_media_objects_id_get","tags":["MediaObject"],"responses":{"200":{"description":"MediaObject resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/MediaObject.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a MediaObject resource.","description":"Retrieves a MediaObject resource.","parameters":[{"name":"id","in":"path","description":"MediaObject identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_media_objects_id_delete","tags":["MediaObject"],"responses":{"204":{"description":"MediaObject resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the MediaObject resource.","description":"Removes the MediaObject resource.","parameters":[{"name":"id","in":"path","description":"MediaObject identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false}},"\/api\/shipping_companies":{"get":{"operationId":"api_shipping_companies_get_collection","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of ShippingCompany resources.","description":"Retrieves the collection of ShippingCompany resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_shipping_companies_post","tags":["ShippingCompany"],"responses":{"201":{"description":"ShippingCompany resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a ShippingCompany resource.","description":"Creates a ShippingCompany resource.","parameters":[],"requestBody":{"description":"The new ShippingCompany resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"required":true},"deprecated":false}},"\/api\/shipping_companies\/{id}":{"get":{"operationId":"api_shipping_companies_id_get","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a ShippingCompany resource.","description":"Retrieves a ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_shipping_companies_id_delete","tags":["ShippingCompany"],"responses":{"204":{"description":"ShippingCompany resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the ShippingCompany resource.","description":"Removes the ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_shipping_companies_id_patch","tags":["ShippingCompany"],"responses":{"200":{"description":"ShippingCompany resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the ShippingCompany resource.","description":"Updates the ShippingCompany resource.","parameters":[{"name":"id","in":"path","description":"ShippingCompany identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated ShippingCompany resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/ShippingCompany"}}},"required":true},"deprecated":false}},"\/api\/trips":{"get":{"operationId":"api_trips_get_collection","tags":["Trip"],"responses":{"200":{"description":"Trip collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Trip.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Trip resources.","description":"Retrieves the collection of Trip resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"id","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"integer"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_trips_post","tags":["Trip"],"responses":{"201":{"description":"Trip resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a Trip resource.","description":"Creates a Trip resource.","parameters":[],"requestBody":{"description":"The new Trip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"required":true},"deprecated":false}},"\/api\/trips\/{id}":{"get":{"operationId":"api_trips_id_get","tags":["Trip"],"responses":{"200":{"description":"Trip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Trip resource.","description":"Retrieves a Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_trips_id_delete","tags":["Trip"],"responses":{"204":{"description":"Trip resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the Trip resource.","description":"Removes the Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_trips_id_patch","tags":["Trip"],"responses":{"200":{"description":"Trip resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Trip.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the Trip resource.","description":"Updates the Trip resource.","parameters":[{"name":"id","in":"path","description":"Trip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Trip resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Trip"}}},"required":true},"deprecated":false}},"\/api\/trip_locations":{"get":{"operationId":"api_trip_locations_get_collection","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of TripLocation resources.","description":"Retrieves the collection of TripLocation resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"trip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"trip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_trip_locations_post","tags":["TripLocation"],"responses":{"201":{"description":"TripLocation resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a TripLocation resource.","description":"Creates a TripLocation resource.","parameters":[],"requestBody":{"description":"The new TripLocation resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"required":true},"deprecated":false}},"\/api\/trip_locations\/{id}":{"get":{"operationId":"api_trip_locations_id_get","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a TripLocation resource.","description":"Retrieves a TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_trip_locations_id_delete","tags":["TripLocation"],"responses":{"204":{"description":"TripLocation resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the TripLocation resource.","description":"Removes the TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_trip_locations_id_patch","tags":["TripLocation"],"responses":{"200":{"description":"TripLocation resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the TripLocation resource.","description":"Updates the TripLocation resource.","parameters":[{"name":"id","in":"path","description":"TripLocation identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated TripLocation resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/TripLocation"}}},"required":true},"deprecated":false}},"\/api\/users":{"get":{"operationId":"api_users_get_collection","tags":["User"],"responses":{"200":{"description":"User collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/User.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of User resources.","description":"Retrieves the collection of User resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"firstName","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"lastName","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"userNameSearch","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_users_post","tags":["User"],"responses":{"201":{"description":"User resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a User resource.","description":"Creates a User resource.","parameters":[],"requestBody":{"description":"The new User resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"required":true},"deprecated":false}},"\/api\/users\/{id}":{"get":{"operationId":"api_users_id_get","tags":["User"],"responses":{"200":{"description":"User resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a User resource.","description":"Retrieves a User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_users_id_delete","tags":["User"],"responses":{"204":{"description":"User resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the User resource.","description":"Removes the User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_users_id_patch","tags":["User"],"responses":{"200":{"description":"User resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/User.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the User resource.","description":"Updates the User resource.","parameters":[{"name":"id","in":"path","description":"User identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated User resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/User"}}},"required":true},"deprecated":false}},"\/api\/user_trips":{"get":{"operationId":"api_user_trips_get_collection","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of UserTrip resources.","description":"Retrieves the collection of UserTrip resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"trip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"trip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"user","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"user[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_user_trips_post","tags":["UserTrip"],"responses":{"201":{"description":"UserTrip resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a UserTrip resource.","description":"Creates a UserTrip resource.","parameters":[],"requestBody":{"description":"The new UserTrip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"required":true},"deprecated":false}},"\/api\/user_trips\/{id}":{"get":{"operationId":"api_user_trips_id_get","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a UserTrip resource.","description":"Retrieves a UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_user_trips_id_delete","tags":["UserTrip"],"responses":{"204":{"description":"UserTrip resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the UserTrip resource.","description":"Removes the UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_user_trips_id_patch","tags":["UserTrip"],"responses":{"200":{"description":"UserTrip resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the UserTrip resource.","description":"Updates the UserTrip resource.","parameters":[{"name":"id","in":"path","description":"UserTrip identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated UserTrip resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/UserTrip"}}},"required":true},"deprecated":false}},"\/api\/user_trip_events":{"get":{"operationId":"api_user_trip_events_get_collection","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of UserTripEvent resources.","description":"Retrieves the collection of UserTripEvent resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"userTrip","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"userTrip[]","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"allowReserved":false},{"name":"tripId","in":"query","description":"Filter UserTripEvents by Trip ID","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"integer"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_user_trip_events_post","tags":["UserTripEvent"],"responses":{"201":{"description":"UserTripEvent resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a UserTripEvent resource.","description":"Creates a UserTripEvent resource.","parameters":[],"requestBody":{"description":"The new UserTripEvent resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"required":true},"deprecated":false}},"\/api\/user_trip_events\/{id}":{"get":{"operationId":"api_user_trip_events_id_get","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a UserTripEvent resource.","description":"Retrieves a UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_user_trip_events_id_delete","tags":["UserTripEvent"],"responses":{"204":{"description":"UserTripEvent resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the UserTripEvent resource.","description":"Removes the UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_user_trip_events_id_patch","tags":["UserTripEvent"],"responses":{"200":{"description":"UserTripEvent resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the UserTripEvent resource.","description":"Updates the UserTripEvent resource.","parameters":[{"name":"id","in":"path","description":"UserTripEvent identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated UserTripEvent resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/UserTripEvent"}}},"required":true},"deprecated":false}},"\/api\/vessels":{"get":{"operationId":"api_vessels_get_collection","tags":["Vessel"],"responses":{"200":{"description":"Vessel collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Vessel resources.","description":"Retrieves the collection of Vessel resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_vessels_post","tags":["Vessel"],"responses":{"201":{"description":"Vessel resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a Vessel resource.","description":"Creates a Vessel resource.","parameters":[],"requestBody":{"description":"The new Vessel resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"required":true},"deprecated":false}},"\/api\/vessels\/{id}":{"get":{"operationId":"api_vessels_id_get","tags":["Vessel"],"responses":{"200":{"description":"Vessel resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Vessel resource.","description":"Retrieves a Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_vessels_id_delete","tags":["Vessel"],"responses":{"204":{"description":"Vessel resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the Vessel resource.","description":"Removes the Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_vessels_id_patch","tags":["Vessel"],"responses":{"200":{"description":"Vessel resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the Vessel resource.","description":"Updates the Vessel resource.","parameters":[{"name":"id","in":"path","description":"Vessel identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Vessel resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Vessel"}}},"required":true},"deprecated":false}},"\/api\/zones":{"get":{"operationId":"api_zones_get_collection","tags":["Zone"],"responses":{"200":{"description":"Zone collection","content":{"application\/ld+json":{"schema":{"type":"object","properties":{"member":{"type":"array","items":{"$ref":"#\/components\/schemas\/Zone.jsonld"}},"totalItems":{"type":"integer","minimum":0},"view":{"type":"object","properties":{"@id":{"type":"string","format":"iri-reference"},"@type":{"type":"string"},"first":{"type":"string","format":"iri-reference"},"last":{"type":"string","format":"iri-reference"},"previous":{"type":"string","format":"iri-reference"},"next":{"type":"string","format":"iri-reference"}},"example":{"@id":"string","type":"string","first":"string","last":"string","previous":"string","next":"string"}},"search":{"type":"object","properties":{"@type":{"type":"string"},"template":{"type":"string"},"variableRepresentation":{"type":"string"},"mapping":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"},"variable":{"type":"string"},"property":{"type":["string","null"]},"required":{"type":"boolean"}}}}}}},"required":["member"]}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves the collection of Zone resources.","description":"Retrieves the collection of Zone resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"itemsPerPage","in":"query","description":"The number of items per page","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":50,"minimum":0,"maximum":200},"style":"form","explode":false,"allowReserved":false},{"name":"name","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_filter","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"custom_json_order","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"post":{"operationId":"api_zones_post","tags":["Zone"],"responses":{"201":{"description":"Zone resource created","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Creates a Zone resource.","description":"Creates a Zone resource.","parameters":[],"requestBody":{"description":"The new Zone resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"required":true},"deprecated":false}},"\/api\/zones\/{id}":{"get":{"operationId":"api_zones_id_get","tags":["Zone"],"responses":{"200":{"description":"Zone resource","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Retrieves a Zone resource.","description":"Retrieves a Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_zones_id_delete","tags":["Zone"],"responses":{"204":{"description":"Zone resource deleted"},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Removes the Zone resource.","description":"Removes the Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_zones_id_patch","tags":["Zone"],"responses":{"200":{"description":"Zone resource updated","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Zone.jsonld"}}},"links":{}},"400":{"description":"Invalid input","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"422":{"description":"An error occurred","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation.jsonld-jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ConstraintViolation-json"}}},"links":{}},"403":{"description":"Forbidden","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}},"404":{"description":"Not found","content":{"application\/ld+json":{"schema":{"$ref":"#\/components\/schemas\/Error.jsonld"}},"application\/problem+json":{"schema":{"$ref":"#\/components\/schemas\/Error"}},"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Error"}}},"links":{}}},"summary":"Updates the Zone resource.","description":"Updates the Zone resource.","parameters":[{"name":"id","in":"path","description":"Zone identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Zone resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Zone"}}},"required":true},"deprecated":false}}},"components":{"schemas":{"ConstraintViolation-json":{"type":"object","description":"Unprocessable entity","deprecated":false,"properties":{"status":{"default":422,"example":422,"type":"integer"},"violations":{"type":"array","items":{"type":"object","properties":{"propertyPath":{"type":"string","description":"The property path of the violation"},"message":{"type":"string","description":"The message associated with the violation"}}}},"detail":{"readOnly":true,"type":"string"},"type":{"readOnly":true,"type":"string"},"title":{"readOnly":true,"type":["string","null"]},"instance":{"readOnly":true,"type":["string","null"]}}},"ConstraintViolation.jsonld-jsonld":{"type":"object","description":"Unprocessable entity","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"status":{"default":422,"example":422,"type":"integer"},"violations":{"type":"array","items":{"type":"object","properties":{"propertyPath":{"type":"string","description":"The property path of the violation"},"message":{"type":"string","description":"The message associated with the violation"}}}},"detail":{"readOnly":true,"type":"string"},"description":{"readOnly":true,"type":"string"},"type":{"readOnly":true,"type":"string"},"title":{"readOnly":true,"type":["string","null"]},"instance":{"readOnly":true,"type":["string","null"]}}},"Error":{"type":"object","description":"A representation of common errors.","deprecated":false,"properties":{"title":{"readOnly":true,"description":"A short, human-readable summary of the problem.","type":["string","null"]},"detail":{"readOnly":true,"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"status":{"type":"number","example":404,"default":400},"instance":{"readOnly":true,"description":"A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.","type":["string","null"]},"type":{"readOnly":true,"description":"A URI reference that identifies the problem type","type":"string"}}},"Error.jsonld":{"type":"object","description":"A representation of common errors.","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"title":{"readOnly":true,"description":"A short, human-readable summary of the problem.","type":["string","null"]},"detail":{"readOnly":true,"description":"A human-readable explanation specific to this occurrence of the problem.","type":["string","null"]},"status":{"type":"number","example":404,"default":400},"instance":{"readOnly":true,"description":"A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.","type":["string","null"]},"type":{"readOnly":true,"description":"A URI reference that identifies the problem type","type":"string"},"description":{"readOnly":true,"type":["string","null"]}}},"Event.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"identifier":{"type":"string"},"sequence":{"type":"integer"},"mandatory":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"Location":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"zone":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"zoneIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"name":{"type":"string"},"code":{"type":"string"},"zoneName":{"readOnly":true,"type":"string"},"isZone":{"type":"boolean"},"isPlace":{"type":"boolean"},"isPort":{"type":"boolean"},"isStartEnd":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["zoneIri","name","code"]},"Location.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"zone":{"readOnly":true,"$ref":"#\/components\/schemas\/Zone.jsonld"},"zoneIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"name":{"type":"string"},"code":{"type":"string"},"zoneName":{"readOnly":true,"type":"string"},"isZone":{"type":"boolean"},"isPlace":{"type":"boolean"},"isPort":{"type":"boolean"},"isStartEnd":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["zoneIri","name","code"]},"MediaObject.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"contentUrl":{"externalDocs":{"url":"https:\/\/schema.org\/contentUrl"},"type":["string","null"]},"filePath":{"readOnly":true,"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}}},"ShippingCompany":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"ShippingCompany.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code"]},"Trip":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"vessel":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"vesselIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"pilotageReference":{"readOnly":true,"type":["string","null"]},"startLocation":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"startLocationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"endLocation":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"endLocationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"completed":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["vesselIri","startLocationIri","endLocationIri","startDate","endDate"]},"Trip.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"vessel":{"readOnly":true,"$ref":"#\/components\/schemas\/Vessel.jsonld"},"vesselIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"pilotageReference":{"readOnly":true,"type":["string","null"]},"startLocation":{"readOnly":true,"$ref":"#\/components\/schemas\/Location.jsonld"},"startLocationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"endLocation":{"readOnly":true,"$ref":"#\/components\/schemas\/Location.jsonld"},"endLocationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"completed":{"type":"boolean"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["vesselIri","startLocationIri","endLocationIri","startDate","endDate"]},"TripLocation":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip"},"tripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"location":{"$ref":"#\/components\/schemas\/Location"},"locationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"arrivalDateTime":{"type":["string","null"],"format":"date-time"},"departureDateTime":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["tripIri","locationIri"]},"TripLocation.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"$ref":"#\/components\/schemas\/Trip.jsonld"},"tripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"location":{"$ref":"#\/components\/schemas\/Location.jsonld"},"locationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"arrivalDateTime":{"type":["string","null"],"format":"date-time"},"departureDateTime":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["tripIri","locationIri"]},"User":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"email":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"firstName":{"type":"string"},"referenceId":{"type":"string"},"lastName":{"type":"string"},"image":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"imageIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"imageUrl":{"readOnly":true,"type":["string","null"]},"fullName":{"readOnly":true,"type":["string","null"]},"password":{"writeOnly":true,"description":"The plaintext password when being set or changed.","type":["string","null"]},"isAdmin":{"type":"boolean"},"active":{"type":"boolean"},"isPilot":{"type":"boolean"},"roles":{"readOnly":true,"type":"array","items":{"type":"string"}},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["email","firstName","referenceId","lastName","isAdmin","active","isPilot"]},"User.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"email":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"firstName":{"type":"string"},"referenceId":{"type":"string"},"lastName":{"type":"string"},"image":{"readOnly":true,"$ref":"#\/components\/schemas\/MediaObject.jsonld"},"imageIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"imageUrl":{"readOnly":true,"type":["string","null"]},"fullName":{"readOnly":true,"type":["string","null"]},"password":{"writeOnly":true,"description":"The plaintext password when being set or changed.","type":["string","null"]},"isAdmin":{"type":"boolean"},"active":{"type":"boolean"},"isPilot":{"type":"boolean"},"roles":{"readOnly":true,"type":"array","items":{"type":"string"}},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["email","firstName","referenceId","lastName","isAdmin","active","isPilot"]},"UserTrip":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"tripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"user":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"userIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"captainName":{"type":["string","null"]},"completed":{"type":"boolean"},"approved":{"type":"boolean"},"signature":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"signatureIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"signatureUrl":{"readOnly":true,"type":["string","null"]},"completedDate":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["tripIri","userIri","completed","approved"]},"UserTrip.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"trip":{"readOnly":true,"$ref":"#\/components\/schemas\/Trip.jsonld"},"tripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"user":{"readOnly":true,"$ref":"#\/components\/schemas\/User.jsonld"},"userIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"captainName":{"type":["string","null"]},"completed":{"type":"boolean"},"approved":{"type":"boolean"},"signature":{"readOnly":true,"$ref":"#\/components\/schemas\/MediaObject.jsonld"},"signatureIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"signatureUrl":{"readOnly":true,"type":["string","null"]},"completedDate":{"type":["string","null"],"format":"date-time"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["tripIri","userIri","completed","approved"]},"UserTripEvent":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"userTrip":{"readOnly":true,"$ref":"#\/components\/schemas\/UserTrip"},"userTripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"event":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"eventIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"location":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"locationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"user":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"date":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["userTripIri","eventIri","locationIri","date"]},"UserTripEvent.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"userTrip":{"readOnly":true,"$ref":"#\/components\/schemas\/UserTrip.jsonld"},"userTripIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"event":{"readOnly":true,"$ref":"#\/components\/schemas\/Event.jsonld"},"eventIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"location":{"readOnly":true,"$ref":"#\/components\/schemas\/Location.jsonld"},"locationIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"user":{"readOnly":true,"$ref":"#\/components\/schemas\/User.jsonld"},"date":{"type":"string","format":"date-time"},"note":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["userTripIri","eventIri","locationIri","date"]},"Vessel":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"company":{"readOnly":true,"type":"string","format":"iri-reference","example":"https:\/\/example.com\/"},"companyIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"length":{"type":["number","null"]},"breadth":{"type":["number","null"]},"draft":{"type":["number","null"]},"grossTonnage":{"type":["number","null"]},"imoNo":{"type":["string","null"]},"callSign":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code","companyIri"]},"Vessel.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"code":{"type":"string"},"company":{"readOnly":true,"$ref":"#\/components\/schemas\/ShippingCompany.jsonld"},"companyIri":{"type":["string","null"],"format":"iri-reference","example":"https:\/\/example.com\/"},"length":{"type":["number","null"]},"breadth":{"type":["number","null"]},"draft":{"type":["number","null"]},"grossTonnage":{"type":["number","null"]},"imoNo":{"type":["string","null"]},"callSign":{"type":["string","null"]},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name","code","companyIri"]},"Zone":{"type":"object","description":"","deprecated":false,"properties":{"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name"]},"Zone.jsonld":{"type":"object","description":"","deprecated":false,"properties":{"@context":{"readOnly":true,"oneOf":[{"type":"string"},{"type":"object","properties":{"@vocab":{"type":"string"},"hydra":{"type":"string","enum":["http:\/\/www.w3.org\/ns\/hydra\/core#"]}},"required":["@vocab","hydra"],"additionalProperties":true}]},"@id":{"readOnly":true,"type":"string"},"@type":{"readOnly":true,"type":"string"},"dbId":{"readOnly":true,"type":["integer","null"]},"name":{"type":"string"},"createdAt":{"readOnly":true,"type":["string","null"],"format":"date-time"}},"required":["name"]},"Credentials":{"type":"object","properties":{"email":{"type":"string","example":"user@example.com"},"password":{"type":"string","example":"password123"}}},"AuthResponse":{"type":"object","properties":{"@id":{"type":"string","example":"\/api\/users\/1"},"dbId":{"type":"integer","example":1},"token":{"type":"string","example":"JWT_TOKEN"}}}},"responses":{},"parameters":{},"examples":{},"requestBodies":{},"headers":{},"securitySchemes":{"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"JWT":[]}],"tags":[{"name":"Event"},{"name":"Location"},{"name":"MediaObject"},{"name":"ShippingCompany"},{"name":"Trip"},{"name":"TripLocation"},{"name":"User"},{"name":"UserTrip"},{"name":"UserTripEvent"},{"name":"Vessel"},{"name":"Zone"}],"webhooks":{}} \ No newline at end of file diff --git a/angular/openapi.yaml b/angular/openapi.yaml index 78eda8e..b01bd0b 100644 --- a/angular/openapi.yaml +++ b/angular/openapi.yaml @@ -4183,10 +4183,6 @@ components: type: - string - 'null' - customerReference: - type: - - string - - 'null' startLocation: readOnly: true type: string @@ -4280,10 +4276,6 @@ components: type: - string - 'null' - customerReference: - type: - - string - - 'null' startLocation: readOnly: true $ref: '#/components/schemas/Location.jsonld' @@ -4352,14 +4344,15 @@ components: - 'null' format: iri-reference example: 'https://example.com/' - isArrival: - type: boolean - isTransit: - type: boolean - isDeparture: - type: boolean - date: - type: string + arrivalDateTime: + type: + - string + - 'null' + format: date-time + departureDateTime: + type: + - string + - 'null' format: date-time createdAt: readOnly: true @@ -4370,7 +4363,6 @@ components: required: - tripIri - locationIri - - date TripLocation.jsonld: type: object description: '' @@ -4420,14 +4412,15 @@ components: - 'null' format: iri-reference example: 'https://example.com/' - isArrival: - type: boolean - isTransit: - type: boolean - isDeparture: - type: boolean - date: - type: string + arrivalDateTime: + type: + - string + - 'null' + format: date-time + departureDateTime: + type: + - string + - 'null' format: date-time createdAt: readOnly: true @@ -4438,7 +4431,6 @@ components: required: - tripIri - locationIri - - date User: type: object description: '' diff --git a/angular/src/app/_components/_abstract/abstract-data-form-component.ts b/angular/src/app/_components/_abstract/abstract-data-form-component.ts index cd62498..32033ae 100644 --- a/angular/src/app/_components/_abstract/abstract-data-form-component.ts +++ b/angular/src/app/_components/_abstract/abstract-data-form-component.ts @@ -1,4 +1,4 @@ -import { Directive, EventEmitter, Input, Output, OnInit } from '@angular/core'; +import {Directive, EventEmitter, Input, Output, OnInit, AfterViewInit} from '@angular/core'; import { FormGroup } from '@angular/forms'; import { Observable } from 'rxjs'; import { Router } from '@angular/router'; @@ -20,7 +20,7 @@ export interface FormSubmitEvent { } @Directive() -export abstract class AbstractDataFormComponent implements OnInit { +export abstract class AbstractDataFormComponent implements OnInit, AfterViewInit { @Input() data?: T; @Input() mode: FormMode = FormMode.Create; @Input() id?: string | number; @@ -51,6 +51,9 @@ export abstract class AbstractDataFormComponent
- +
\ No newline at end of file diff --git a/angular/src/app/_components/datetime-picker/datetime-picker.component.ts b/angular/src/app/_components/datetime-picker/datetime-picker.component.ts index d02453f..a4667a9 100644 --- a/angular/src/app/_components/datetime-picker/datetime-picker.component.ts +++ b/angular/src/app/_components/datetime-picker/datetime-picker.component.ts @@ -11,6 +11,7 @@ export class DatetimePickerComponent implements OnInit { @Input() inputId: string = 'myId'; @Input() initialValue: string | null = null; @Input() readonly: boolean = false; + @Input() showSeconds: boolean = false; @Output() dateTimeChange = new EventEmitter(); form: FormGroup; @@ -46,25 +47,48 @@ export class DatetimePickerComponent implements OnInit { return date.toLocaleDateString('en-CA'); } - private formatTime(date: Date): string { - return date.toLocaleTimeString('en-GB', { hour12: false }); - } + private formatTime(date: Date): string { + if (this.showSeconds) { + return date.toLocaleTimeString('en-GB', { hour12: false }); + } else { + // Nur Stunden und Minuten zurückgeben + return date.toLocaleTimeString('en-GB', { + hour12: false, + hour: '2-digit', + minute: '2-digit' + }); + } + } + + private emitDateTime() { + const { date, time } = this.form.value; + if (date && time) { + const [year, month, day] = date.split('-'); - private emitDateTime() { - const { date, time } = this.form.value; - if (date && time) { - const [year, month, day] = date.split('-'); - const [hours, minutes, seconds] = time.split(':'); - const dateTime = new Date(Number(year), Number(month) - 1, Number(day), Number(hours), Number(minutes), Number(seconds)); + // Parse Zeit je nach Format (mit oder ohne Sekunden) + let hours, minutes, seconds; + if (this.showSeconds && time.split(':').length > 2) { + [hours, minutes, seconds] = time.split(':'); + } else { + [hours, minutes] = time.split(':'); + seconds = '00'; + } - // Format the date to match the loaded format - const formattedDate = dateTime.toLocaleString('sv-SE', { timeZone: 'Europe/Berlin' }).replace(' ', 'T') + '+02:00'; + const dateTime = new Date( + Number(year), + Number(month) - 1, + Number(day), + Number(hours), + Number(minutes), + Number(seconds || 0) + ); - //console.log('Emitting datetime:', formattedDate); - this.dateTimeChange.emit(formattedDate); - } else { - //console.log('Emitting null datetime'); - this.dateTimeChange.emit(null); + // Format the date to match the loaded format + const formattedDate = dateTime.toLocaleString('sv-SE', { timeZone: 'Europe/Berlin' }).replace(' ', 'T') + '+02:00'; + + this.dateTimeChange.emit(formattedDate); + } else { + this.dateTimeChange.emit(null); + } } - } } diff --git a/angular/src/app/_components/list/list.component.ts b/angular/src/app/_components/list/list.component.ts index 46697a9..ef88784 100644 --- a/angular/src/app/_components/list/list.component.ts +++ b/angular/src/app/_components/list/list.component.ts @@ -29,6 +29,7 @@ export class ListComponent implements OnInit, AfterViewInit, OnDestroy { @Input() public onRowSelectedFunction!: Function; @Input() public onUpdateBooleanStateFunction!: ListUpdateElementFunctionType; @Input() public dataFormComponent!: Type>; + @Input() public dataFormComponentData?: any; @Input() public searchable: boolean; @Input() public showDetailButton: boolean; @Input() public showPosition: boolean; @@ -122,6 +123,9 @@ export class ListComponent implements OnInit, AfterViewInit, OnDestroy { this.setupAutoRefresh(); } + ngAfterViewInit(): void { + } + private setupAutoRefresh(): void { this.clearAutoRefresh(); if (this.refreshIntervalSeconds && this.refreshIntervalSeconds > 0) { @@ -205,9 +209,6 @@ export class ListComponent implements OnInit, AfterViewInit, OnDestroy { return visibility; } - ngAfterViewInit(): void { - } - getData = (): void => { this.getDataFunction( this.pagingComponent.getPageIndex(), @@ -392,7 +393,7 @@ export class ListComponent implements OnInit, AfterViewInit, OnDestroy { public onCreateData() { this.appHelperService.openModal( this.dataFormComponent, - null, + this.dataFormComponentData, this.getData ); } diff --git a/angular/src/app/_forms/apiForms.ts b/angular/src/app/_forms/apiForms.ts index 144cb6a..8eb08d6 100644 --- a/angular/src/app/_forms/apiForms.ts +++ b/angular/src/app/_forms/apiForms.ts @@ -99,7 +99,6 @@ export const tripForm = new FormGroup({ vessel: new FormControl(null, []), vesselIri: new FormControl(null, [Validators.required]), pilotageReference: new FormControl(null, []), - customerReference: new FormControl(null, []), startLocation: new FormControl(null, []), startLocationIri: new FormControl(null, [Validators.required]), endLocation: new FormControl(null, []), @@ -116,7 +115,6 @@ export const tripJsonldForm = new FormGroup({ vessel: new FormControl(null, []), vesselIri: new FormControl(null, [Validators.required]), pilotageReference: new FormControl(null, []), - customerReference: new FormControl(null, []), startLocation: new FormControl(null, []), startLocationIri: new FormControl(null, [Validators.required]), endLocation: new FormControl(null, []), @@ -134,10 +132,8 @@ export const tripLocationForm = new FormGroup({ tripIri: new FormControl(null, [Validators.required]), location: new FormControl(null, []), locationIri: new FormControl(null, [Validators.required]), - isArrival: new FormControl(null, []), - isTransit: new FormControl(null, []), - isDeparture: new FormControl(null, []), - date: new FormControl(null, [Validators.required]), + arrivalDateTime: new FormControl(null, []), + departureDateTime: new FormControl(null, []), createdAt: new FormControl(null, []) }); @@ -147,10 +143,8 @@ export const tripLocationJsonldForm = new FormGroup({ tripIri: new FormControl(null, [Validators.required]), location: new FormControl(null, []), locationIri: new FormControl(null, [Validators.required]), - isArrival: new FormControl(null, []), - isTransit: new FormControl(null, []), - isDeparture: new FormControl(null, []), - date: new FormControl(null, [Validators.required]), + arrivalDateTime: new FormControl(null, []), + departureDateTime: new FormControl(null, []), createdAt: new FormControl(null, []) }); diff --git a/angular/src/app/_helpers/app-helper.service.ts b/angular/src/app/_helpers/app-helper.service.ts index 9e31f3b..a7a9f4f 100644 --- a/angular/src/app/_helpers/app-helper.service.ts +++ b/angular/src/app/_helpers/app-helper.service.ts @@ -47,6 +47,7 @@ export class AppHelperService { public openModal(component: any, data: any, callback?: (callbackParam?: any) => void, callbackParam?: any): Promise { const modalRef = this.modalService.open(component); + console.log(data); for (const key in data) { modalRef.componentInstance[key] = data[key]; } diff --git a/angular/src/app/_views/trip/trip-detail/trip-detail.component.html b/angular/src/app/_views/trip/trip-detail/trip-detail.component.html index f3bcc51..abf717d 100644 --- a/angular/src/app/_views/trip/trip-detail/trip-detail.component.html +++ b/angular/src/app/_views/trip/trip-detail/trip-detail.component.html @@ -16,106 +16,10 @@

{{ 'trip.itinerary_locations' | translate }}

- -
-
-
- - - -
- -
- -
- -
-
- -
- -
- -
-
- -
-
- - -
-
- - -
- -
- - -
-
- -
- -
-
-
- -
-
- -
-
- -
-
- -
-
+ +
@@ -137,10 +41,6 @@ > - -
- -
diff --git a/angular/src/app/_views/trip/trip-detail/trip-detail.component.ts b/angular/src/app/_views/trip/trip-detail/trip-detail.component.ts index 6d7ad1b..52789c6 100644 --- a/angular/src/app/_views/trip/trip-detail/trip-detail.component.ts +++ b/angular/src/app/_views/trip/trip-detail/trip-detail.component.ts @@ -168,74 +168,6 @@ export class TripDetailComponent implements OnInit, AfterViewInit { } } - formatDateForInput(dateString: string): string { - if (!dateString) return ''; - const date = new Date(dateString); - return date.toISOString().split('T')[0]; - } - - formatTimeForInput(dateString: string): string { - if (!dateString) return ''; - const date = new Date(dateString); - return date.toTimeString().slice(0, 5); - } - - onDateInputChange(event: Event, index: number) { - const input = event.target as HTMLInputElement; - const currentDate = new Date(this.tripLocations[index].date || new Date()); - const [year, month, day] = input.value.split('-').map(Number); - - currentDate.setFullYear(year, month - 1, day); - this.tripLocations[index].date = currentDate.toISOString(); - } - - onTimeInputChange(event: Event, index: number) { - const input = event.target as HTMLInputElement; - const currentDate = new Date(this.tripLocations[index].date || new Date()); - const [hours, minutes] = input.value.split(':').map(Number); - - currentDate.setHours(hours, minutes); - this.tripLocations[index].date = currentDate.toISOString(); - } - - onIsArrivalChange(event: Event, index: number) { - const checkbox = event.target as HTMLInputElement; - this.tripLocations[index].isArrival = checkbox.checked; - } - - onIsTransitChange(event: Event, index: number) { - const checkbox = event.target as HTMLInputElement; - this.tripLocations[index].isTransit = checkbox.checked; - } - - onIsDepartureChange(event: Event, index: number) { - const checkbox = event.target as HTMLInputElement; - this.tripLocations[index].isDeparture = checkbox.checked; - } - - addNewTripLocation() { - // Create a new empty trip location - const newTripLocation: TripLocationJsonld = { - tripIri: this.trip.id!, - date: new Date().toISOString(), - isArrival: false, - locationIri: null - }; - - this.tripLocations.push(newTripLocation); - this.locationForms.push(this.createLocationForm(null)); - - // Force update in the next event loop to properly initialize the search-select - setTimeout(() => { - if (this.searchSelects) { - const lastSelect = this.searchSelects.last; - if (lastSelect) { - lastSelect.ngAfterViewInit(); - } - } - }); - } - addNewUserTrip() { // Erstelle ein unvollständiges Objekt (ohne user-Property) const newUserTrip: UserTripJsonld = { @@ -303,110 +235,6 @@ export class TripDetailComponent implements OnInit, AfterViewInit { }) } - removeTripLocation(index: number): void { - this.translateService.get('basic.delete_confirm').subscribe((confirmMessage: string) => { - if (!confirm(confirmMessage)) { - return; - } - // Just remove from arrays; deletion happens later in saveAllTripLocations() - this.tripLocations.splice(index, 1); - this.locationForms.splice(index, 1); - }); - } - - removeUserTrip(index: number) { - this.translateService.get('basic.delete_confirm').subscribe((confirmMessage: string) => { - if (!confirm(confirmMessage)) { - return; - } - // Nur aus dem Array entfernen, tatsächliches Löschen erfolgt beim Speichern - this.userTrips.splice(index, 1); - this.userForms.splice(index, 1); - }); - } - - saveAllTripLocations(): void { - // A) DELETE: find which original dbIds are missing → delete those - const originalDbIds = this.originalTripLocations - .map(o => o.dbId) - // narrow type to number (filter out null/undefined) - .filter((id): id is number => id != null); - - const currentDbIds = this.tripLocations - .map(t => t.dbId) - .filter((id): id is number => id != null); - - const dbIdsToDelete = originalDbIds.filter(id => !currentDbIds.includes(id)); - dbIdsToDelete.forEach(dbId => { - this.tripLocationService - .tripLocationsIdDelete(dbId.toString()) - .subscribe({ - next: () => console.log(`TripLocation ${dbId} deleted.`), - error: err => console.error(`Error deleting TripLocation ${dbId}:`, err) - }); - }); - - // B) UPSERT: create or update remaining entries - this.tripLocations.forEach((tripLocation, index) => { - const form = this.locationForms[index]; - const locationVal = form.get('location')?.value; - const dbId = tripLocation.dbId; - const isNew = dbId == null; // no dbId → brand new - - // only for existing entries compare against snapshot - let locationChanged = false; - let modelChanged = false; - if (!isNew) { - const original = this.originalTripLocations[index]; - locationChanged = locationVal !== original.locationIri; - modelChanged = ( - tripLocation.date !== original.date || - tripLocation.isArrival !== original.isArrival || - tripLocation.isTransit !== original.isTransit || - tripLocation.isDeparture !== original.isDeparture - ); - } - - // skip if neither new nor changed - if (!(isNew || locationChanged || modelChanged)) { - return; - } - - // validate a location was chosen - if (!locationVal) { - console.error(`Location missing for entry #${index}`); - return; - } - if (typeof locationVal === 'string') { - tripLocation.locationIri = locationVal; - } - // always ensure the parent trip IRI is set - tripLocation.tripIri = this.trip?.id ?? null; - - // choose correct API call - const save$ = isNew - ? this.tripLocationService.tripLocationsPost(tripLocation) - : this.tripLocationService.tripLocationsIdPatch( - dbId!.toString(), - this.appHelperService.convertJsonldToJson(tripLocation) - ); - - // execute save and log result - save$.subscribe({ - next: saved => { - console.log(`TripLocation #${index} ${isNew ? 'created' : 'updated'}.`); - }, - error: err => { - console.error(`Error saving TripLocation #${index}:`, err); - } - }); - }); - - // C) Finally: reset original snapshot to current state - this.originalTripLocations = JSON.parse(JSON.stringify(this.tripLocations)); - } - - saveAllUserTrips() { // Aktuelle IDs speichern, um später gelöschte Einträge zu identifizieren let originalUserTripIds: string[] = []; diff --git a/angular/src/app/_views/trip/trip-form/trip-form.component.html b/angular/src/app/_views/trip/trip-form/trip-form.component.html index 037b73b..d905705 100644 --- a/angular/src/app/_views/trip/trip-form/trip-form.component.html +++ b/angular/src/app/_views/trip/trip-form/trip-form.component.html @@ -49,10 +49,6 @@ -
- - -
diff --git a/angular/src/app/_views/trip/trip-list/trip-list.component.ts b/angular/src/app/_views/trip/trip-list/trip-list.component.ts index 32c1167..23d43fb 100644 --- a/angular/src/app/_views/trip/trip-list/trip-list.component.ts +++ b/angular/src/app/_views/trip/trip-list/trip-list.component.ts @@ -32,14 +32,6 @@ export class TripListComponent { sortable: true, filterType: FilterBarComponent.FILTER_TYPE_TEXT, } as ListColDefinition, - { - name: 'customerReference', - text: 'trip.customer_reference', - type: ListComponent.COLUMN_TYPE_TEXT, - field: 'customerReference', - sortable: true, - filterType: FilterBarComponent.FILTER_TYPE_TEXT, - } as ListColDefinition, { name: 'vessel', text: 'trip.vessel', diff --git a/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.html b/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.html new file mode 100644 index 0000000..8973a2d --- /dev/null +++ b/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.html @@ -0,0 +1,57 @@ +
+ @if (!isEditMode()) { +
+

{{ ('basic.new') | translate }} {{ 'model.trip_location' | translate }}

+
+ } +
+
+
+
+ + + + +
+
+ +
+ +
+ +
+
+
+
+ + + @if (isEditMode()) { + + } +
+
+
+
+
diff --git a/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.scss b/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.spec.ts b/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.spec.ts new file mode 100644 index 0000000..6421153 --- /dev/null +++ b/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TripLocationFormComponent } from './trip-location-form.component'; + +describe('TripLocationFormComponent', () => { + let component: TripLocationFormComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [TripLocationFormComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(TripLocationFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.ts b/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.ts new file mode 100644 index 0000000..1bd4573 --- /dev/null +++ b/angular/src/app/_views/trip/trip-location-form/trip-location-form.component.ts @@ -0,0 +1,72 @@ +import {Component, Input} from '@angular/core'; +import {AbstractDataFormComponent} from "@app/_components/_abstract/abstract-data-form-component"; +import { + LocationService, TripJsonld, + TripLocationJsonld, + TripLocationService, +} from "@app/core/api/v1"; +import {AppHelperService} from "@app/_helpers/app-helper.service"; +import {TranslateService} from "@ngx-translate/core"; +import {Router} from "@angular/router"; +import {ROUTE_BASE_DATA} from "@app/app-routing.module"; +import {tripLocationForm} from "@app/_forms/apiForms"; +import {ListGetDataFunctionType} from "@app/_components/list/list-get-data-function-type"; +import {ListColDefinition} from "@app/_components/list/list-col-definition"; +import {SearchSelectComponent} from "@app/_components/search-select/search-select.component"; + +@Component({ + selector: 'app-trip-location-form', + templateUrl: './trip-location-form.component.html', + styleUrl: './trip-location-form.component.scss' +}) +export class TripLocationFormComponent extends AbstractDataFormComponent { + + @Input() public trip!: TripJsonld; + @Input() public arrivalDateTime?: string; + @Input() public departureDateTime?: string; + protected readonly SearchSelectComponent = SearchSelectComponent; + protected locationColDefinitions: ListColDefinition[]; + + constructor( + private tripLocationService: TripLocationService, + private locationService: LocationService, + private appHelperService: AppHelperService, + translateService: TranslateService, + router: Router + ) { + super( + tripLocationForm, + (data: TripLocationJsonld) => { + return this.tripLocationService.tripLocationsPost(data); + }, + (id: string | number, data: TripLocationJsonld) => + this.tripLocationService.tripLocationsIdPatch( + id.toString(), + this.appHelperService.convertJsonldToJson(data) + ), + (id: string | number) => this.tripLocationService.tripLocationsIdDelete(id.toString()), + translateService, + router + ); + + this.redirectAfterDelete = '/' + ROUTE_BASE_DATA; + this.locationColDefinitions = SearchSelectComponent.getDefaultColDefLocations(); + } + + override ngOnInit() { + super.ngOnInit(); + this.form.get('tripIri')?.setValue(this.trip.id); + this.form.get('arrivalDateTime')?.setValue(this.arrivalDateTime); + this.form.get('departureDateTime')?.setValue(this.departureDateTime); + } + + getLocations: ListGetDataFunctionType = (index: number, pageSize: number, term?: string) => { + return this.locationService.locationsGetCollection( + index, + pageSize, + term + ); + } + + protected readonly tripLocationForm = tripLocationForm; +} diff --git a/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.html b/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.html new file mode 100644 index 0000000..90590a6 --- /dev/null +++ b/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.html @@ -0,0 +1,9 @@ +
+ +
\ No newline at end of file diff --git a/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.scss b/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.spec.ts b/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.spec.ts new file mode 100644 index 0000000..a0742de --- /dev/null +++ b/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TripLocationListComponent } from './trip-location-list.component'; + +describe('TripLocationListComponent', () => { + let component: TripLocationListComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [TripLocationListComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(TripLocationListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.ts b/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.ts new file mode 100644 index 0000000..b66dff9 --- /dev/null +++ b/angular/src/app/_views/trip/trip-location-list/trip-location-list.component.ts @@ -0,0 +1,127 @@ +import {Component, Input, Type, ViewChild} from '@angular/core'; +import {ListComponent} from "@app/_components/list/list.component"; +import {ListColDefinition} from "@app/_components/list/list-col-definition"; +import {TripJsonld, TripLocationService} from "@app/core/api/v1"; +import {AppHelperService} from "@app/_helpers/app-helper.service"; +import {FilterBarComponent} from "@app/_components/filter-bar/filter-bar.component"; +import {ListGetDataFunctionType} from "@app/_components/list/list-get-data-function-type"; +import {TripLocationFormComponent} from "@app/_views/trip/trip-location-form/trip-location-form.component"; +import {map, tap} from "rxjs/operators"; + +@Component({ + selector: 'app-trip-location-list', + templateUrl: './trip-location-list.component.html', + styleUrl: './trip-location-list.component.scss' +}) +export class TripLocationListComponent { + + @Input() public trip!: TripJsonld; + @ViewChild("listComponent", {static: false}) listComponent!: ListComponent; + + protected tripLocationFormComponent = TripLocationFormComponent; + protected listColDefinitions!: ListColDefinition[]; + protected dataFormComponentData: any; + + constructor( + private tripLocationService: TripLocationService, + protected appHelperService: AppHelperService, + ) { + this.listColDefinitions = [ + { + name: 'location', + text: 'model.location', + type: ListComponent.COLUMN_TYPE_TEXT, + subResource: 'location', + field: 'name', + sortable: true, + filterType: FilterBarComponent.FILTER_TYPE_TEXT, + } as ListColDefinition, + { + name: 'zone', + text: 'model.zone', + type: ListComponent.COLUMN_TYPE_TEXT, + subResource: 'location', + field: 'zoneName', + sortable: true, + filterType: FilterBarComponent.FILTER_TYPE_TEXT, + } as ListColDefinition, + { + name: 'arrivalDateTime', + text: 'trip_location.arrival_date_time', + type: ListComponent.COLUMN_TYPE_DATE, + field: 'arrivalDateTime', + sortable: true, + filterType: FilterBarComponent.FILTER_TYPE_DATE, + } as ListColDefinition, + { + name: 'departureDateTime', + text: 'trip_location.departure_date_time', + type: ListComponent.COLUMN_TYPE_DATE, + field: 'departureDateTime', + sortable: true, + filterType: FilterBarComponent.FILTER_TYPE_DATE, + } as ListColDefinition, + { + name: 'createdAt', + text: 'common.created_at', + type: ListComponent.COLUMN_TYPE_DATE, + field: 'createdAt', + sortable: true, + filterType: FilterBarComponent.FILTER_TYPE_DATE, + } as ListColDefinition, + ]; + } + + ngOnInit() { + this.dataFormComponentData = { + trip: this.trip, + arrivalDateTime: new Date().toISOString(), + departureDateTime: new Date(new Date().setHours(new Date().getHours() + 1)) + }; + } + + ngAfterViewInit(): void { + this.listComponent.getData(); + } + + getData: ListGetDataFunctionType = ( + index: number, + pageSize: number, + term?: string, + ) => { + return this.tripLocationService.tripLocationsGetCollection( + index, + pageSize, + this.trip.id, + undefined, + this.listComponent.getFilterJsonString(), + this.listComponent.getSortingJsonString() + ).pipe( + map(response => { + // Set default arrival and departure time before return + let arrivalDateTime = new Date().toISOString(); + let departureDateTime = new Date(new Date().setHours(new Date().getHours() + 1)).toISOString(); + if (response.member && response.member.length > 0) { + const lastEntry = response.member[response.member.length - 1]; + if (lastEntry.departureDateTime) { + const departureDate = new Date(lastEntry.departureDateTime); + departureDate.setDate(departureDate.getDate() + 1); + arrivalDateTime = departureDate.toISOString(); + + const arrivalDate = new Date(arrivalDateTime); + arrivalDate.setHours(arrivalDate.getHours() + 1); + departureDateTime = arrivalDate.toISOString(); + } + } + this.dataFormComponentData = { + trip: this.trip, + arrivalDateTime: arrivalDateTime, + departureDateTime: departureDateTime + + }; + + return response; + }) + ); + } +} diff --git a/angular/src/app/app.module.ts b/angular/src/app/app.module.ts index b924ac4..64fa27c 100644 --- a/angular/src/app/app.module.ts +++ b/angular/src/app/app.module.ts @@ -71,6 +71,8 @@ import { UserTripEventComponent } from './_views/user-trip-event/user-trip-event import { UserTripEventListComponent } from './_views/user-trip-event/user-trip-event-list/user-trip-event-list.component'; import { UserFormComponent } from './_views/user/user-form/user-form.component'; import { ImageUploadComponent } from './_components/image-upload/image-upload.component'; +import { TripLocationListComponent } from './_views/trip/trip-location-list/trip-location-list.component'; +import { TripLocationFormComponent } from './_views/trip/trip-location-form/trip-location-form.component'; registerLocaleData(localeDe, 'de-DE'); @@ -167,6 +169,8 @@ export function HttpLoaderFactory(http: HttpClient) { UserTripEventListComponent, UserFormComponent, ImageUploadComponent, + TripLocationListComponent, + TripLocationFormComponent, ], providers: [ {provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true}, diff --git a/angular/src/app/core/api/v1/model/trip.ts b/angular/src/app/core/api/v1/model/trip.ts index 1633f03..c3f5f50 100644 --- a/angular/src/app/core/api/v1/model/trip.ts +++ b/angular/src/app/core/api/v1/model/trip.ts @@ -19,7 +19,6 @@ export interface Trip { readonly vessel?: string; vesselIri: string | null; readonly pilotageReference?: string | null; - customerReference?: string | null; readonly startLocation?: string; startLocationIri: string | null; readonly endLocation?: string; diff --git a/angular/src/app/core/api/v1/model/tripJsonld.ts b/angular/src/app/core/api/v1/model/tripJsonld.ts index fdb565a..68f6297 100644 --- a/angular/src/app/core/api/v1/model/tripJsonld.ts +++ b/angular/src/app/core/api/v1/model/tripJsonld.ts @@ -24,7 +24,6 @@ export interface TripJsonld { readonly vessel?: VesselJsonld; vesselIri: string | null; readonly pilotageReference?: string | null; - customerReference?: string | null; readonly startLocation?: LocationJsonld; startLocationIri: string | null; readonly endLocation?: LocationJsonld; diff --git a/angular/src/app/core/api/v1/model/tripLocation.ts b/angular/src/app/core/api/v1/model/tripLocation.ts index ec27f2a..9647f5d 100644 --- a/angular/src/app/core/api/v1/model/tripLocation.ts +++ b/angular/src/app/core/api/v1/model/tripLocation.ts @@ -22,10 +22,8 @@ export interface TripLocation { tripIri: string | null; location?: Location; locationIri: string | null; - isArrival?: boolean; - isTransit?: boolean; - isDeparture?: boolean; - date: string; + arrivalDateTime?: string | null; + departureDateTime?: string | null; readonly createdAt?: string | null; } diff --git a/angular/src/app/core/api/v1/model/tripLocationJsonld.ts b/angular/src/app/core/api/v1/model/tripLocationJsonld.ts index a044340..8833c91 100644 --- a/angular/src/app/core/api/v1/model/tripLocationJsonld.ts +++ b/angular/src/app/core/api/v1/model/tripLocationJsonld.ts @@ -25,10 +25,8 @@ export interface TripLocationJsonld { tripIri: string | null; location?: LocationJsonld; locationIri: string | null; - isArrival?: boolean; - isTransit?: boolean; - isDeparture?: boolean; - date: string; + arrivalDateTime?: string | null; + departureDateTime?: string | null; readonly createdAt?: string | null; } diff --git a/angular/src/assets/i18n/en.json b/angular/src/assets/i18n/en.json index 577cedc..fcf3c92 100644 --- a/angular/src/assets/i18n/en.json +++ b/angular/src/assets/i18n/en.json @@ -43,6 +43,11 @@ "events": "Events", "completed": "Completed" }, + "trip_location": + { + "arrival_date_time": "ETA", + "departure_date_time": "ETD" + }, "user_trip": { "view": "Pilotage", @@ -67,6 +72,7 @@ "vessel": "Vessel", "shipping_company": "Shipping Company", "trip": "Trip", + "trip_location": "Itinerary location", "user": "User", "user_trip": "Pilotage", "event": "Event" diff --git a/httpdocs/migrations/Version20250507154018.php b/httpdocs/migrations/Version20250507154018.php new file mode 100644 index 0000000..f2aab32 --- /dev/null +++ b/httpdocs/migrations/Version20250507154018.php @@ -0,0 +1,41 @@ +addSql(<<<'SQL' + ALTER TABLE trip DROP customer_reference + SQL); + $this->addSql(<<<'SQL' + ALTER TABLE trip_location ADD arrival_date_time DATETIME DEFAULT NULL COMMENT '(DC2Type:datetime_immutable)', ADD departure_date_time DATETIME DEFAULT NULL COMMENT '(DC2Type:datetime_immutable)', DROP is_arrival, DROP date, DROP is_transit, DROP is_departure + SQL); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql(<<<'SQL' + ALTER TABLE trip_location ADD is_arrival TINYINT(1) NOT NULL, ADD date DATETIME NOT NULL COMMENT '(DC2Type:datetime_immutable)', ADD is_transit TINYINT(1) NOT NULL, ADD is_departure TINYINT(1) NOT NULL, DROP arrival_date_time, DROP departure_date_time + SQL); + $this->addSql(<<<'SQL' + ALTER TABLE trip ADD customer_reference VARCHAR(255) DEFAULT NULL + SQL); + } +} diff --git a/httpdocs/src/ApiResource/TripApi.php b/httpdocs/src/ApiResource/TripApi.php index 191ecba..132f977 100644 --- a/httpdocs/src/ApiResource/TripApi.php +++ b/httpdocs/src/ApiResource/TripApi.php @@ -81,8 +81,6 @@ class TripApi #[ApiProperty(writable: false)] public ?string $pilotageReference = null; - public ?string $customerReference = null; - /** * @var LocationApi */ diff --git a/httpdocs/src/ApiResource/TripLocationApi.php b/httpdocs/src/ApiResource/TripLocationApi.php index 7be002d..1852ab5 100644 --- a/httpdocs/src/ApiResource/TripLocationApi.php +++ b/httpdocs/src/ApiResource/TripLocationApi.php @@ -40,7 +40,7 @@ use Symfony\Component\Validator\Constraints\NotBlank; security: 'is_granted("ROLE_ADMIN")' ) ], - order: ['date' => 'ASC'], + order: ['arrivalDateTime' => 'ASC', 'departureDateTime' => 'ASC'], security: 'is_granted("ROLE_USER")', provider: EntityToDtoStateProvider::class, processor: EntityClassDtoStateProcessor::class, @@ -62,9 +62,9 @@ class TripLocationApi * @var TripApi */ #[ApiProperty( - writable: true, + writable: false, readableLink: true, - writableLink: true, + writableLink: false, builtinTypes: [ new Type( 'object', @@ -82,9 +82,9 @@ class TripLocationApi * @var LocationApi */ #[ApiProperty( - writable: true, + writable: false, readableLink: true, - writableLink: true, + writableLink: false, builtinTypes: [ new Type( 'object', @@ -98,14 +98,9 @@ class TripLocationApi #[ApiProperty(writable: true)] public ?LocationApi $locationIri = null; - public bool $isArrival = false; + public ?\DateTimeImmutable $arrivalDateTime = null; - public bool $isTransit = false; - - public bool $isDeparture = false; - - #[Assert\NotBlank] - public \DateTimeImmutable $date; + public ?\DateTimeImmutable $departureDateTime = null; #[ApiProperty(writable: false)] public ?\DateTimeImmutable $createdAt = null; diff --git a/httpdocs/src/Entity/Trip.php b/httpdocs/src/Entity/Trip.php index 7781991..ac73847 100644 --- a/httpdocs/src/Entity/Trip.php +++ b/httpdocs/src/Entity/Trip.php @@ -22,9 +22,6 @@ class Trip #[ORM\JoinColumn(nullable: false)] private Vessel $vessel; - #[ORM\Column(length: 255, nullable: true)] - private ?string $customerReference = null; - #[ORM\ManyToOne(targetEntity: Location::class)] #[ORM\JoinColumn(name: 'start_location_id', nullable: false)] private Location $startLocation; diff --git a/httpdocs/src/Entity/TripLocation.php b/httpdocs/src/Entity/TripLocation.php index 7dde8f0..95a6a11 100644 --- a/httpdocs/src/Entity/TripLocation.php +++ b/httpdocs/src/Entity/TripLocation.php @@ -24,26 +24,19 @@ class TripLocation #[ORM\JoinColumn(nullable: false)] private Location $location; - #[ORM\Column(nullable: false)] - private bool $isArrival = true; + #[ORM\Column(nullable: true)] + private ?DateTimeImmutable $arrivalDateTime = null; - #[ORM\Column(nullable: false)] - private bool $isTransit = true; - - #[ORM\Column(nullable: false)] - private bool $isDeparture = true; - - #[ORM\Column] - private DateTimeImmutable $date; + #[ORM\Column(nullable: true)] + private ?DateTimeImmutable $departureDateTime = null; #[ORM\Column] private DateTimeImmutable $createdAt; - public function __construct(Trip $trip, Location $location, DateTimeImmutable $date) + public function __construct(Trip $trip, Location $location) { $this->trip = $trip; $this->location = $location; - $this->date = $date; $this->createdAt = new DateTimeImmutable(); } @@ -74,45 +67,24 @@ class TripLocation return $this; } - public function getDate(): DateTimeImmutable - { - return $this->date; - } - - public function setDate(DateTimeImmutable $date): self - { - $this->date = $date; - return $this; - } - - public function isArrival(): bool - { - return $this->isArrival; - } - - public function setIsArrival(bool $isArrival): void - { - $this->isArrival = $isArrival; - } - - public function isTransit(): bool + public function getArrivalDateTime(): ?DateTimeImmutable { - return $this->isTransit; + return $this->arrivalDateTime; } - public function setIsTransit(bool $isTransit): void + public function setArrivalDateTime(?DateTimeImmutable $arrivalDateTime): void { - $this->isTransit = $isTransit; + $this->arrivalDateTime = $arrivalDateTime; } - public function isDeparture(): bool + public function getDepartureDateTime(): ?DateTimeImmutable { - return $this->isDeparture; + return $this->departureDateTime; } - public function setIsDeparture(bool $isDeparture): void + public function setDepartureDateTime(?DateTimeImmutable $departureDateTime): void { - $this->isDeparture = $isDeparture; + $this->departureDateTime = $departureDateTime; } public function getCreatedAt(): DateTimeImmutable diff --git a/httpdocs/src/Mapper/TripApiToEntityMapper.php b/httpdocs/src/Mapper/TripApiToEntityMapper.php index 9b1b667..66c3f2d 100644 --- a/httpdocs/src/Mapper/TripApiToEntityMapper.php +++ b/httpdocs/src/Mapper/TripApiToEntityMapper.php @@ -73,7 +73,6 @@ class TripApiToEntityMapper implements MapperInterface assert($dto instanceof TripApi); assert($entity instanceof Trip); - $entity->setCustomerReference($dto->customerReference); $entity->setStartDate($dto->startDate); $entity->setEndDate($dto->endDate); $entity->setNote($dto->note); diff --git a/httpdocs/src/Mapper/TripEntityToApiMapper.php b/httpdocs/src/Mapper/TripEntityToApiMapper.php index ac02f82..d30605b 100644 --- a/httpdocs/src/Mapper/TripEntityToApiMapper.php +++ b/httpdocs/src/Mapper/TripEntityToApiMapper.php @@ -38,7 +38,6 @@ class TripEntityToApiMapper implements MapperInterface $dto->dbId = $entity->getId(); $dto->pilotageReference = "P-" . $entity->getId() . "-" . $entity->getStartDate()->format('Y'); - $dto->customerReference = $entity->getCustomerReference(); $dto->startDate = $entity->getStartDate(); $dto->endDate = $entity->getEndDate(); $dto->note = $entity->getNote(); diff --git a/httpdocs/src/Mapper/TripLocationApiToEntityMapper.php b/httpdocs/src/Mapper/TripLocationApiToEntityMapper.php index b8dc6aa..eba783d 100644 --- a/httpdocs/src/Mapper/TripLocationApiToEntityMapper.php +++ b/httpdocs/src/Mapper/TripLocationApiToEntityMapper.php @@ -49,7 +49,7 @@ class TripLocationApiToEntityMapper implements MapperInterface throw new \Exception('Location not found'); } - return new TripLocation($trip, $location, $dto->date); + return new TripLocation($trip, $location); } public function populate(object $from, object $to, array $context): object @@ -67,10 +67,8 @@ class TripLocationApiToEntityMapper implements MapperInterface $entity->setLocation($location); } - $entity->setIsArrival($dto->isArrival); - $entity->setIsTransit($dto->isTransit); - $entity->setIsDeparture($dto->isDeparture); - $entity->setDate($dto->date); + $entity->setArrivalDateTime($dto->arrivalDateTime); + $entity->setDepartureDateTime($dto->departureDateTime); return $entity; } diff --git a/httpdocs/src/Mapper/TripLocationEntityToApiMapper.php b/httpdocs/src/Mapper/TripLocationEntityToApiMapper.php index 69575f0..6d8f197 100644 --- a/httpdocs/src/Mapper/TripLocationEntityToApiMapper.php +++ b/httpdocs/src/Mapper/TripLocationEntityToApiMapper.php @@ -37,10 +37,8 @@ class TripLocationEntityToApiMapper implements MapperInterface assert($dto instanceof TripLocationApi); $dto->dbId = $entity->getId(); - $dto->date = $entity->getDate(); - $dto->isArrival = $entity->isArrival(); - $dto->isTransit = $entity->isTransit(); - $dto->isDeparture = $entity->isDeparture(); + $dto->arrivalDateTime = $entity->getArrivalDateTime(); + $dto->departureDateTime = $entity->getDepartureDateTime(); $dto->createdAt = $entity->getCreatedAt(); $dto->tripIri = $dto->trip = $this->microMapper->map($entity->getTrip(), TripApi::class, [