1046 lines
29 KiB
YAML
1046 lines
29 KiB
YAML
openapi: 3.0.0
|
|
x-stoplight:
|
|
id: mwv4y8vcnopwr
|
|
info:
|
|
version: 1.3.0
|
|
title: Bremen calling API
|
|
description: 'Administer DEBRE ship calls, times and notifications'
|
|
termsOfService: 'https://www.bsmd.de/'
|
|
contact:
|
|
name: Bremen calling API
|
|
url: 'https://www.textbausteine.net'
|
|
email: info@textbausteine.net
|
|
license:
|
|
name: Use at your own risk
|
|
url: 'https://www.bsmd.de/license'
|
|
servers:
|
|
- url: 'https://brecal.bsmd-emswe.eu'
|
|
description: Server hosted on vcup
|
|
tags:
|
|
- name: user
|
|
- name: shipcall
|
|
- name: times
|
|
- name: static
|
|
- name: ship
|
|
paths:
|
|
/login:
|
|
post:
|
|
description: Perform login
|
|
summary: Returns a JWT session token and user data if successful
|
|
tags:
|
|
- user
|
|
operationId: login
|
|
requestBody:
|
|
description: Login credentials
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/credentials'
|
|
responses:
|
|
'200':
|
|
description: Successful response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/login_result'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'403':
|
|
$ref: '#/components/responses/403'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
/user:
|
|
put:
|
|
description: Update user information
|
|
summary: 'Update user details (first/last name, phone, password)'
|
|
tags:
|
|
- user
|
|
operationId: userUpdate
|
|
requestBody:
|
|
description: User details
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/user_details'
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
/shipcalls:
|
|
get:
|
|
description: Get current ship calls
|
|
summary: Gets a list of ship calls
|
|
tags:
|
|
- shipcall
|
|
operationId: shipcallsGet
|
|
parameters:
|
|
- name: past_days
|
|
in: query
|
|
required: false
|
|
description: 'number of days in the past to include in the result. *Example: 7*.'
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ship call list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/shipcalls'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
post:
|
|
summary: Create a new ship call
|
|
description: A new shipcall is created without times at this point. This is ususally done by the BSMD or a participant with that particular role.
|
|
tags:
|
|
- shipcall
|
|
operationId: shipcallCreate
|
|
requestBody:
|
|
description: Creates a new ship call. **Do not** provide id parameter.
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/shipcall'
|
|
responses:
|
|
'201':
|
|
$ref: '#/components/responses/201'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
put:
|
|
summary: Updates a ship call
|
|
description: Updates a shipcall. Usually done if the participant assignments change.
|
|
tags:
|
|
- shipcall
|
|
operationId: shipcallUpdate
|
|
requestBody:
|
|
description: Creates a new ship call. The id parameter is **required**.
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/shipcall'
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
/ships:
|
|
get:
|
|
summary: gets a list of ships
|
|
description: Gets a list of ships including logically deleted ships to be used with shipcalls
|
|
tags:
|
|
- ship
|
|
operationId: shipsGet
|
|
responses:
|
|
'200':
|
|
description: list of ships
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ship_list'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
post:
|
|
summary: create a new ship entry
|
|
description: adds a new non-existing ship to the database. The ships IMO number is the unique identifier.
|
|
tags:
|
|
- ship
|
|
operationId: shipsCreate
|
|
requestBody:
|
|
description: Ship details. **Do not** provide id parameter.
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ship'
|
|
responses:
|
|
'201':
|
|
$ref: '#/components/responses/201'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
put:
|
|
summary: Update a ship entry
|
|
description: Updating a ship entry. Please do not modify the IMO number. In that case please add a new entry.
|
|
tags:
|
|
- ship
|
|
operationId: shipUpdate
|
|
requestBody:
|
|
description: Updated ship entry. The id parameter is **required**.
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ship'
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
delete:
|
|
summary: Delete a ship (logically).
|
|
description: 'A ship can only be logically deleted, since it is possible to have been used in previous shipcalls. On logical delete, the ship can no longer be selected in a new ship call.'
|
|
tags:
|
|
- ship
|
|
operationId: shipDelete
|
|
parameters:
|
|
- name: id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
/participants:
|
|
get:
|
|
summary: gets one or all participants
|
|
description: 'If no parameter is given, all participants are returned. The list can be used to display participant information in the context of ship calls.'
|
|
tags:
|
|
- static
|
|
operationId: participantsGet
|
|
parameters:
|
|
- name: user_id
|
|
in: query
|
|
required: false
|
|
description: '**Id of user**. *Example: 2*. User id returned by verify call.'
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: ship call list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/participant_list'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'404':
|
|
$ref: '#/components/responses/404'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
/times:
|
|
get:
|
|
summary: Gets list of times
|
|
description: Get all times assigned to a shipcall. These might not be complete.
|
|
tags:
|
|
- times
|
|
operationId: timesGet
|
|
parameters:
|
|
- name: shipcall_id
|
|
in: query
|
|
description: '**Id**. *Example: 42*. Id of referenced ship call.'
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: list of recorded times
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/times_list'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
post:
|
|
summary: Create a new times entry for a ship call
|
|
description: The times entry for a shipcall is created with reference to a participant. For each participant type there should be only one times data record.
|
|
tags:
|
|
- times
|
|
operationId: timesCreate
|
|
requestBody:
|
|
description: Times entry that will be added to the ship call. **Do not** provide id parameter.
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/times'
|
|
responses:
|
|
'201':
|
|
$ref: '#/components/responses/201'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
put:
|
|
summary: Update a times entry for a ship call
|
|
description: Updating a times entry for a ship for a particular participant. The times entries are required for a shipcall to pass the validation rules.
|
|
tags:
|
|
- times
|
|
operationId: timesUpdate
|
|
requestBody:
|
|
description: Times entry that will be added to the ship call. The id parameter is **required**.
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/times'
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
delete:
|
|
summary: Delete a times entry for a ship call.
|
|
description: A times entry is typically deleted if the agent for example changes or removes the participant assignment for a particular role.
|
|
tags:
|
|
- times
|
|
operationId: timesDelete
|
|
parameters:
|
|
- name: id
|
|
in: query
|
|
required: true
|
|
schema:
|
|
$ref: '#/components/schemas/timesId'
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/200'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
/notifications:
|
|
get:
|
|
summary: Gets a list of notifications pursuant to a specified participant and ship call
|
|
description: List of notifications (tbd)
|
|
tags:
|
|
- static
|
|
operationId: notificationsGet
|
|
parameters:
|
|
- name: shipcall_id
|
|
in: query
|
|
required: true
|
|
description: '**Id of ship call**. *Example: 52*. Id given in ship call list'
|
|
schema:
|
|
$ref: '#/components/schemas/shipcallId'
|
|
responses:
|
|
'200':
|
|
description: notification list
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/notification'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
/berths:
|
|
get:
|
|
description: 'Returns a list of berths, including berths that are (logically) deleted'
|
|
summary: Gets a list of all berths registered
|
|
tags:
|
|
- static
|
|
operationId: berthsGet
|
|
responses:
|
|
'200':
|
|
description: list of berths
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/berth_list'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
/history:
|
|
get:
|
|
description: This endpoint returns a list of changes made to the specific shipcall
|
|
summary: History data
|
|
tags:
|
|
- static
|
|
operationId: historyGet
|
|
parameters:
|
|
- name: shipcall_id
|
|
in: query
|
|
required: true
|
|
description: '**Id of ship call**. *Example: 52*. Id given in ship call list'
|
|
schema:
|
|
$ref: '#/components/schemas/shipcallId'
|
|
responses:
|
|
'200':
|
|
description: list of history entries
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/history_list'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
'503':
|
|
$ref: '#/components/responses/503'
|
|
components:
|
|
schemas:
|
|
credentials:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
password:
|
|
type: string
|
|
format: password
|
|
required:
|
|
- username
|
|
- password
|
|
timesId:
|
|
description: The unique identifier for a times entry
|
|
type: integer
|
|
shipcallId:
|
|
description: The unique identifier of a ship call
|
|
type: integer
|
|
participant_assignment:
|
|
description: Participant assigned to a shipcall with a given role (type)
|
|
type: object
|
|
required:
|
|
- participant_id
|
|
- type
|
|
properties:
|
|
participant_id:
|
|
type: integer
|
|
type:
|
|
description: 'Currently this is encoded as an integer, since in OpenAPI 3.0 there are no enumerations supported with discrete integer values like a bitwise flag array used here. Each bit corresponds to a role. Since a participant can have multiple roles, these bits are combined by OR. Individual values: 1: BSMD 2: TERMINAL, 4: PILOT, 8: AGENCY, 16: MOORING, 32: PORT_ADMINISTRATION, 64: TUG'
|
|
type: integer
|
|
shipcall:
|
|
type: object
|
|
properties:
|
|
id:
|
|
$ref: '#/components/schemas/shipcallId'
|
|
ship_id:
|
|
type: integer
|
|
type:
|
|
$ref: '#/components/schemas/ShipcallType'
|
|
eta:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
voyage:
|
|
type: string
|
|
maxLength: 16
|
|
nullable: true
|
|
etd:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
arrival_berth_id:
|
|
type: integer
|
|
nullable: true
|
|
departure_berth_id:
|
|
type: integer
|
|
nullable: true
|
|
tug_required:
|
|
type: boolean
|
|
nullable: true
|
|
pilot_required:
|
|
type: boolean
|
|
nullable: true
|
|
flags:
|
|
type: integer
|
|
nullable: true
|
|
pier_side:
|
|
type: boolean
|
|
nullable: true
|
|
bunkering:
|
|
type: boolean
|
|
nullable: true
|
|
replenishing_terminal:
|
|
type: boolean
|
|
nullable: true
|
|
replenishing_lock:
|
|
type: boolean
|
|
nullable: true
|
|
draft:
|
|
type: number
|
|
format: double
|
|
nullable: true
|
|
tidal_window_from:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
tidal_window_to:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
rain_sensitive_cargo:
|
|
type: boolean
|
|
nullable: true
|
|
recommended_tugs:
|
|
type: integer
|
|
nullable: true
|
|
anchored:
|
|
type: boolean
|
|
nullable: true
|
|
moored_lock:
|
|
type: boolean
|
|
nullable: true
|
|
canceled:
|
|
type: boolean
|
|
nullable: true
|
|
evaluation:
|
|
$ref: '#/components/schemas/EvaluationType'
|
|
evaluation_message:
|
|
maxLength: 512
|
|
type: string
|
|
nullable: true
|
|
time_ref_point:
|
|
type: integer
|
|
nullable: true
|
|
description: Physical reference point for all times given in shipcall and depending times entries
|
|
participants:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/participant_assignment'
|
|
created:
|
|
type: string
|
|
format: date-time
|
|
description: Readonly field set by the database
|
|
modified:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: Readonly field set by the database
|
|
required:
|
|
- id
|
|
- ship_id
|
|
- type
|
|
shipcalls:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/shipcall'
|
|
times:
|
|
type: object
|
|
description: 'the id parameter needs to be missing on POST and to be present on PUT (Update) calls, otherwise a 400 response will be generated'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
eta_berth:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: Arrival time at berth
|
|
eta_berth_fixed:
|
|
type: boolean
|
|
nullable: true
|
|
description: currently unused
|
|
etd_berth:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: departure time from berth
|
|
etd_berth_fixed:
|
|
type: boolean
|
|
nullable: true
|
|
description: currently unused
|
|
lock_time:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: arrival time at lock
|
|
lock_time_fixed:
|
|
type: boolean
|
|
nullable: true
|
|
description: currently unused
|
|
zone_entry:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: currently unused
|
|
zone_entry_fixed:
|
|
type: boolean
|
|
nullable: true
|
|
description: currently unused
|
|
operations_start:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: Start time for terminal operations
|
|
operations_end:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: End time for terminal operations
|
|
remarks:
|
|
type: string
|
|
maxLength: 512
|
|
nullable: true
|
|
shipcall_id:
|
|
type: integer
|
|
description: Reference to a shipcall id
|
|
participant_id:
|
|
type: integer
|
|
description: Reference to a participant id
|
|
berth_id:
|
|
type: integer
|
|
nullable: true
|
|
description: Reference to a berth id
|
|
berth_info:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 512
|
|
description: Additional info text for berth
|
|
pier_side:
|
|
description: 'true if ship is rotated, false otherwise'
|
|
type: boolean
|
|
nullable: true
|
|
participant_type:
|
|
type: integer
|
|
ata:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: can be set by mooring if actual times are different from planned
|
|
atd:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: can be set by mooring if actual times are different from planned
|
|
eta_interval_end:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: Optional end of the interval for the times eta entry
|
|
etd_interval_end:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: Optional end of the interval for the times etd entry
|
|
created:
|
|
type: string
|
|
format: date-time
|
|
description: Readonly field set by the database
|
|
modified:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: Readonly field set by the database
|
|
required:
|
|
- shipcall_id
|
|
- participant_id
|
|
times_list:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/times'
|
|
berth:
|
|
type: object
|
|
description: Ship berth used for a ship call
|
|
properties:
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
owner_id:
|
|
type: integer
|
|
nullable: true
|
|
description: Optional reference to a participant (terminal)
|
|
authority_id:
|
|
type: integer
|
|
nullable: true
|
|
description: Optional reference to a participant (port authority)
|
|
lock:
|
|
type: boolean
|
|
nullable: true
|
|
description: If true lock must be passed
|
|
created:
|
|
type: string
|
|
format: date-time
|
|
modified:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
deleted:
|
|
type: boolean
|
|
default: false
|
|
berth_list:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/berth'
|
|
ship:
|
|
type: object
|
|
description: a ship
|
|
properties:
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
maxLength: 64
|
|
imo:
|
|
type: integer
|
|
nullable: true
|
|
callsign:
|
|
type: string
|
|
maxLength: 8
|
|
nullable: true
|
|
participant_id:
|
|
type: integer
|
|
nullable: true
|
|
description: Optional reference to participant (tug role)
|
|
length:
|
|
type: number
|
|
format: double
|
|
nullable: true
|
|
width:
|
|
type: number
|
|
format: double
|
|
nullable: true
|
|
is_tug:
|
|
type: boolean
|
|
default: false
|
|
bollard_pull:
|
|
type: integer
|
|
nullable: true
|
|
eni:
|
|
type: integer
|
|
nullable: true
|
|
description: BSMD internal use
|
|
created:
|
|
type: string
|
|
format: date-time
|
|
modified:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
deleted:
|
|
type: boolean
|
|
default: false
|
|
ship_list:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ship'
|
|
history:
|
|
type: object
|
|
description: Single history entry with references
|
|
properties:
|
|
id:
|
|
type: integer
|
|
participant_id:
|
|
type: integer
|
|
shipcall_id:
|
|
type: integer
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
eta:
|
|
type: string
|
|
format: date-time
|
|
operation:
|
|
$ref: '#/components/schemas/OperationType'
|
|
type:
|
|
$ref: '#/components/schemas/ObjectType'
|
|
history_list:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/history'
|
|
x-stoplight:
|
|
id: 93b5ff080c12a
|
|
notification:
|
|
type: object
|
|
description: a notification created by the engine if a times entry violates a rule
|
|
properties:
|
|
id:
|
|
type: integer
|
|
shipcall_id:
|
|
type: integer
|
|
notification_type:
|
|
$ref: '#/components/schemas/NotificationType'
|
|
message:
|
|
type: string
|
|
created:
|
|
type: string
|
|
format: date-time
|
|
description: Readonly field set by the database
|
|
modified:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: Readonly field set by the database
|
|
participant:
|
|
type: object
|
|
description: A organisational entity that participates in Bremen Calling
|
|
properties:
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
maxLength: 128
|
|
street:
|
|
type: string
|
|
maxLength: 128
|
|
postal code:
|
|
type: string
|
|
maxLength: 5
|
|
city:
|
|
type: string
|
|
maxLength: 64
|
|
type:
|
|
type: integer
|
|
description: a logical combination (bitflag) of possible values. This cannot be encoded in a Enumeration type with discrete values in OpenAPI version < 3.1. The values are 1=
|
|
flags:
|
|
type: integer
|
|
nullable: true
|
|
created:
|
|
type: string
|
|
format: date-time
|
|
description: Readonly field set by the database
|
|
modified:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: Readonly field set by the database
|
|
deleted:
|
|
type: boolean
|
|
default: false
|
|
participant_list:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/participant'
|
|
login_result:
|
|
type: object
|
|
description: result structure of a successful login attempt
|
|
properties:
|
|
id:
|
|
type: integer
|
|
participant_id:
|
|
type: integer
|
|
first_name:
|
|
type: string
|
|
last_name:
|
|
type: string
|
|
user_name:
|
|
type: string
|
|
user_phone:
|
|
type: string
|
|
user_email:
|
|
type: string
|
|
exp:
|
|
type: number
|
|
format: float
|
|
token:
|
|
type: string
|
|
user_details:
|
|
type: object
|
|
description: fields that a user may change
|
|
properties:
|
|
id:
|
|
type: integer
|
|
old_password:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
new_password:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 128
|
|
first_name:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 45
|
|
last_name:
|
|
type: string
|
|
nullable: true
|
|
maxLength: 45
|
|
user_phone:
|
|
maxLength: 128
|
|
type: string
|
|
nullable: true
|
|
user_email:
|
|
maxLength: 128
|
|
type: string
|
|
nullable: true
|
|
Id:
|
|
type: object
|
|
description: A unique identifier for an entity
|
|
properties:
|
|
id:
|
|
type: integer
|
|
Error:
|
|
type: object
|
|
required:
|
|
- message
|
|
properties:
|
|
message:
|
|
description: A human readable error message
|
|
type: string
|
|
ShipcallType:
|
|
type: string
|
|
enum:
|
|
- undefined
|
|
- arrival
|
|
- departure
|
|
- shifting
|
|
x-internal: false
|
|
description: ''
|
|
NotificationType:
|
|
type: string
|
|
enum:
|
|
- undefined
|
|
- email
|
|
- push
|
|
EvaluationType:
|
|
type: string
|
|
nullable: true
|
|
enum:
|
|
- undefined
|
|
- green
|
|
- yellow
|
|
- red
|
|
OperationType:
|
|
type: string
|
|
enum:
|
|
- undefined
|
|
- insert
|
|
- update
|
|
- delete
|
|
ObjectType:
|
|
type: string
|
|
enum:
|
|
- times
|
|
- shipcall
|
|
securitySchemes:
|
|
ApiKey:
|
|
type: apiKey
|
|
in: header
|
|
name: Authorization
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Id'
|
|
'201':
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Id'
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
'401':
|
|
description: Not authorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
'403':
|
|
description: Forbidden
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
'404':
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
'500':
|
|
description: Unexpected error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
'503':
|
|
description: Service unavailable
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
security:
|
|
- ApiKey: []
|
|
externalDocs:
|
|
url: 'http://textbausteine.net/'
|
|
description: Extra documentation and conditions for Bremen Calling
|
|
x-internal: true
|