Files
omsorg/omsorgapp/api-client-ts/src/models/CreateFacilityRequest.ts
T
Felix KemmlerandClaude Sonnet 5 dfeb37cf33
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 17s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Successful in 6s
Docker-Images bauen und veröffentlichen / build (, omsorgapp/Dockerfile, omsorgapp) (push) Successful in 17s
Add employee-to-order assignments with FR-EM-3 conflict validation
Adds the Assignment core object (Order x Employee, date range) with full
CRUD, soft-delete/trash integration, and generated API clients.

Layers FR-EM-3 conflict checks onto assignment creation: qualification,
absence/availability, working-hours approximation, cross-order overlap,
and active-contract coverage. Each check's severity (Warning vs. Error)
is configurable at runtime via a new AssignmentValidationSettings
singleton and admin settings panel, instead of being hardcoded - lets
the business tune strictness per check without a redeploy.

Adds a live GET /api/assignments/check endpoint so the create-assignment
dialog can preview conflicts as the user picks employee/dates, before
they hit save, rather than only finding out after submitting.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 00:44:14 +02:00

266 lines
8.1 KiB
TypeScript

/* tslint:disable */
/* eslint-disable */
/**
* OmsorgCore.Api
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { mapValues } from '../runtime';
/**
*
* @export
* @interface CreateFacilityRequest
*/
export interface CreateFacilityRequest {
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
name?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
crmStatus?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
facilityType?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
website?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
street?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
postalCode?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
city?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
country?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
billingStreet?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
billingPostalCode?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
billingCity?: string | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
billingCountry?: string | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
followUpDays?: number | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
billingRate?: number | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
nightSurchargePercent?: number | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
saturdaySurchargePercent?: number | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
sundaySurchargePercent?: number | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
holidaySurchargePercent?: number | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
travelCostRate?: number | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
travelCostMode?: string | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
travelCostPerKm?: number | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
mealAllowanceRate?: number | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
minimumHours?: number | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
billingInterval?: string | null;
/**
*
* @type {number}
* @memberof CreateFacilityRequest
*/
paymentTermDays?: number | null;
/**
*
* @type {string}
* @memberof CreateFacilityRequest
*/
individualAgreements?: string | null;
}
/**
* Check if a given object implements the CreateFacilityRequest interface.
*/
export function instanceOfCreateFacilityRequest(value: object): value is CreateFacilityRequest {
return true;
}
export function CreateFacilityRequestFromJSON(json: any): CreateFacilityRequest {
return CreateFacilityRequestFromJSONTyped(json, false);
}
export function CreateFacilityRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateFacilityRequest {
if (json == null) {
return json;
}
return {
'name': json['name'] == null ? undefined : json['name'],
'crmStatus': json['crmStatus'] == null ? undefined : json['crmStatus'],
'facilityType': json['facilityType'] == null ? undefined : json['facilityType'],
'website': json['website'] == null ? undefined : json['website'],
'street': json['street'] == null ? undefined : json['street'],
'postalCode': json['postalCode'] == null ? undefined : json['postalCode'],
'city': json['city'] == null ? undefined : json['city'],
'country': json['country'] == null ? undefined : json['country'],
'billingStreet': json['billingStreet'] == null ? undefined : json['billingStreet'],
'billingPostalCode': json['billingPostalCode'] == null ? undefined : json['billingPostalCode'],
'billingCity': json['billingCity'] == null ? undefined : json['billingCity'],
'billingCountry': json['billingCountry'] == null ? undefined : json['billingCountry'],
'followUpDays': json['followUpDays'] == null ? undefined : json['followUpDays'],
'billingRate': json['billingRate'] == null ? undefined : json['billingRate'],
'nightSurchargePercent': json['nightSurchargePercent'] == null ? undefined : json['nightSurchargePercent'],
'saturdaySurchargePercent': json['saturdaySurchargePercent'] == null ? undefined : json['saturdaySurchargePercent'],
'sundaySurchargePercent': json['sundaySurchargePercent'] == null ? undefined : json['sundaySurchargePercent'],
'holidaySurchargePercent': json['holidaySurchargePercent'] == null ? undefined : json['holidaySurchargePercent'],
'travelCostRate': json['travelCostRate'] == null ? undefined : json['travelCostRate'],
'travelCostMode': json['travelCostMode'] == null ? undefined : json['travelCostMode'],
'travelCostPerKm': json['travelCostPerKm'] == null ? undefined : json['travelCostPerKm'],
'mealAllowanceRate': json['mealAllowanceRate'] == null ? undefined : json['mealAllowanceRate'],
'minimumHours': json['minimumHours'] == null ? undefined : json['minimumHours'],
'billingInterval': json['billingInterval'] == null ? undefined : json['billingInterval'],
'paymentTermDays': json['paymentTermDays'] == null ? undefined : json['paymentTermDays'],
'individualAgreements': json['individualAgreements'] == null ? undefined : json['individualAgreements'],
};
}
export function CreateFacilityRequestToJSON(json: any): CreateFacilityRequest {
return CreateFacilityRequestToJSONTyped(json, false);
}
export function CreateFacilityRequestToJSONTyped(value?: CreateFacilityRequest | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'crmStatus': value['crmStatus'],
'facilityType': value['facilityType'],
'website': value['website'],
'street': value['street'],
'postalCode': value['postalCode'],
'city': value['city'],
'country': value['country'],
'billingStreet': value['billingStreet'],
'billingPostalCode': value['billingPostalCode'],
'billingCity': value['billingCity'],
'billingCountry': value['billingCountry'],
'followUpDays': value['followUpDays'],
'billingRate': value['billingRate'],
'nightSurchargePercent': value['nightSurchargePercent'],
'saturdaySurchargePercent': value['saturdaySurchargePercent'],
'sundaySurchargePercent': value['sundaySurchargePercent'],
'holidaySurchargePercent': value['holidaySurchargePercent'],
'travelCostRate': value['travelCostRate'],
'travelCostMode': value['travelCostMode'],
'travelCostPerKm': value['travelCostPerKm'],
'mealAllowanceRate': value['mealAllowanceRate'],
'minimumHours': value['minimumHours'],
'billingInterval': value['billingInterval'],
'paymentTermDays': value['paymentTermDays'],
'individualAgreements': value['individualAgreements'],
};
}