{"openapi":"3.0.3","info":{"title":"Varyos Public API","description":"Public Varyos API: tenant-scoped business data (customers, products, orders, invoices, appointments, documents, medical records and catalogs). Authenticate with your APIM subscription key (Ocp-Apim-Subscription-Key header).","contact":{"name":"Varuna Support","email":"support@varuna.com"},"license":{"name":"Proprietary"},"version":"v1"},"paths":{"/api/appointments/by-calendar/{calendarId}":{"get":{"tags":["AppointmentApi"],"summary":"Gets appointments for a calendar.","operationId":"AppointmentApi_GetByCalendar","parameters":[{"name":"calendarId","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}}}}}}}},"/api/appointments/{id}":{"get":{"tags":["AppointmentApi"],"summary":"Gets an appointment by ID.","operationId":"AppointmentApi_GetById","parameters":[{"name":"id","in":"path","description":"The appointment ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["AppointmentApi"],"summary":"Updates an appointment.","operationId":"AppointmentApi_Update","parameters":[{"name":"id","in":"path","description":"The appointment ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated appointment data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["AppointmentApi"],"summary":"Removes an appointment. Does not free a shared slot (use reject for that); an ad-hoc\nsingle-use slot created together with the appointment is removed along with it.","operationId":"AppointmentApi_Remove","parameters":[{"name":"id","in":"path","description":"The appointment ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"204":{"description":"No Content"}}}},"/api/appointments/by-patient/{patientId}":{"get":{"tags":["AppointmentApi"],"summary":"Gets appointments for a patient.","operationId":"AppointmentApi_GetByPatient","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"publicOnly","in":"query","description":"Whether to return only public appointments.","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}}}}}}}},"/api/appointments/by-customer/{customerId}":{"get":{"tags":["AppointmentApi"],"summary":"Gets appointments for a customer.","operationId":"AppointmentApi_GetByCustomer","parameters":[{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"publicOnly","in":"query","description":"Whether to return only public appointments.","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}}}}}}}},"/api/appointments/by-doctor/{doctorId}":{"get":{"tags":["AppointmentApi"],"summary":"Gets appointments for a doctor.","operationId":"AppointmentApi_GetByDoctor","parameters":[{"name":"doctorId","in":"path","description":"The doctor ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"publicOnly","in":"query","description":"Whether to return only public appointments.","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}}}}}}}},"/api/appointments/status-wording":{"get":{"tags":["AppointmentApi"],"summary":"Gets the status wording for an appointment status.","operationId":"AppointmentApi_GetStatusWording","parameters":[{"name":"status","in":"query","description":"The appointment status.","schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentStatus"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/appointments":{"post":{"tags":["AppointmentApi"],"summary":"Creates a new appointment.","operationId":"AppointmentApi_Create","requestBody":{"description":"The appointment data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/appointments/self":{"post":{"tags":["AppointmentApi"],"summary":"Creates a self-managed appointment.","operationId":"AppointmentApi_CreateSelfAppointment","requestBody":{"description":"The self-managed appointment data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.SelfManageAppointmentViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.SelfManageAppointmentViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.SelfManageAppointmentViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/appointments/{id}/reject":{"post":{"tags":["AppointmentApi"],"summary":"Rejects an appointment (adjusts slot).","operationId":"AppointmentApi_Reject","parameters":[{"name":"id","in":"path","description":"The appointment ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The appointment to reject.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/appointments/slots/by-calendar/{calendarId}":{"get":{"tags":["AppointmentApi"],"summary":"Gets appointment slots for a calendar.","operationId":"AppointmentApi_GetSlotsByCalendar","parameters":[{"name":"calendarId","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}}}}}},"/api/appointments/slots/{id}":{"get":{"tags":["AppointmentApi"],"summary":"Gets an appointment slot by ID.","operationId":"AppointmentApi_GetSlotById","parameters":[{"name":"id","in":"path","description":"The appointment slot ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["AppointmentApi"],"summary":"Updates an appointment slot.","operationId":"AppointmentApi_UpdateSlot","parameters":[{"name":"id","in":"path","description":"The slot ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated slot data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["AppointmentApi"],"summary":"Removes an appointment slot.","operationId":"AppointmentApi_RemoveSlot","parameters":[{"name":"id","in":"path","description":"The slot ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The slot to remove.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"204":{"description":"No Content"}}}},"/api/appointments/slots":{"post":{"tags":["AppointmentApi"],"summary":"Creates an appointment slot.","operationId":"AppointmentApi_CreateSlot","requestBody":{"description":"The slot data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"}}}},"/api/appointments/slots/generate":{"post":{"tags":["AppointmentApi"],"summary":"Generates appointment slots for a calendar.","operationId":"AppointmentApi_GenerateSlots","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.GenerateSlotsRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.GenerateSlotsRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.GenerateSlotsRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"}}}},"/api/appointments/reminders/by-patient/{patientId}":{"get":{"tags":["AppointmentApi"],"summary":"Gets reminders for a patient.","operationId":"AppointmentApi_GetRemindersForPatient","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.ReminderViewModel"}}}}}}}},"/api/appointments/reminders":{"post":{"tags":["AppointmentApi"],"summary":"Creates a reminder.","operationId":"AppointmentApi_CreateReminder","requestBody":{"description":"The reminder data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.ReminderViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.ReminderViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.ReminderViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"}}}},"/api/appointments/reminders/{id}":{"put":{"tags":["AppointmentApi"],"summary":"Updates a reminder.","operationId":"AppointmentApi_UpdateReminder","parameters":[{"name":"id","in":"path","description":"The reminder ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated reminder data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.ReminderViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.ReminderViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.ReminderViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["AppointmentApi"],"summary":"Deletes a reminder.","operationId":"AppointmentApi_DeleteReminder","parameters":[{"name":"id","in":"path","description":"The reminder ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"204":{"description":"No Content"}}}},"/api/calendars":{"get":{"tags":["CalendarApi"],"summary":"Gets all calendars.","operationId":"CalendarApi_GetAll","parameters":[{"name":"fullGraph","in":"query","description":"Whether to include related entities.","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}}}}}}},"post":{"tags":["CalendarApi"],"summary":"Creates a new calendar.","operationId":"CalendarApi_Create","requestBody":{"description":"The calendar data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"}}}},"/api/calendars/{id}":{"get":{"tags":["CalendarApi"],"summary":"Gets a calendar by ID.","operationId":"CalendarApi_GetById","parameters":[{"name":"id","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["CalendarApi"],"summary":"Updates an existing calendar.","operationId":"CalendarApi_Update","parameters":[{"name":"id","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated calendar data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["CalendarApi"],"summary":"Removes a calendar.","operationId":"CalendarApi_Remove","parameters":[{"name":"id","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The calendar to remove.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"204":{"description":"No Content"}}}},"/api/calendars/by-doctor/{doctorId}":{"get":{"tags":["CalendarApi"],"summary":"Gets calendars for a doctor.","operationId":"CalendarApi_GetByDoctor","parameters":[{"name":"doctorId","in":"path","description":"The doctor ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"}}}}}}}},"/api/calendars/resources":{"get":{"tags":["CalendarApi"],"summary":"Gets all resources.","operationId":"CalendarApi_GetAllResources","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}}}}}}},"post":{"tags":["CalendarApi"],"summary":"Creates a new resource.","operationId":"CalendarApi_CreateResource","requestBody":{"description":"The resource data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}}}}}}},"/api/calendars/resources/count":{"get":{"tags":["CalendarApi"],"summary":"Gets the resource count.","operationId":"CalendarApi_GetResourceCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/calendars/resources/{id}":{"get":{"tags":["CalendarApi"],"summary":"Gets a resource by ID.","operationId":"CalendarApi_GetResourceById","parameters":[{"name":"id","in":"path","description":"The resource ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["CalendarApi"],"summary":"Updates a resource.","operationId":"CalendarApi_UpdateResource","parameters":[{"name":"id","in":"path","description":"The resource ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated resource data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["CalendarApi"],"summary":"Deletes a resource.","operationId":"CalendarApi_DeleteResource","parameters":[{"name":"id","in":"path","description":"The resource ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The resource to delete.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/calendars/appointment-types":{"get":{"tags":["CalendarApi"],"summary":"Gets all appointment types.","operationId":"CalendarApi_GetAllAppointmentTypes","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}}}}}}},"post":{"tags":["CalendarApi"],"summary":"Creates a new appointment type.","operationId":"CalendarApi_CreateAppointmentType","requestBody":{"description":"The appointment type data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}}}}}}},"/api/calendars/appointment-types/count":{"get":{"tags":["CalendarApi"],"summary":"Gets the appointment type count.","operationId":"CalendarApi_GetAppointmentTypeCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/calendars/appointment-types/{typeId}":{"get":{"tags":["CalendarApi"],"summary":"Gets an appointment type by ID.","operationId":"CalendarApi_GetAppointmentTypeById","parameters":[{"name":"typeId","in":"path","description":"The appointment type ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["CalendarApi"],"summary":"Updates an appointment type.","operationId":"CalendarApi_UpdateAppointmentType","parameters":[{"name":"typeId","in":"path","description":"The appointment type ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated appointment type data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["CalendarApi"],"summary":"Deletes an appointment type.","operationId":"CalendarApi_DeleteAppointmentType","parameters":[{"name":"typeId","in":"path","description":"The appointment type ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The appointment type to delete.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/calendars/slots/count":{"get":{"tags":["CalendarApi"],"summary":"Gets the slot count.","operationId":"CalendarApi_GetSlotCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/calendars/{calendarId}/slots":{"get":{"tags":["CalendarApi"],"summary":"Gets all slots for a calendar.","operationId":"CalendarApi_GetAllSlots","parameters":[{"name":"calendarId","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"excludePastSlots","in":"query","description":"Whether to exclude past slots.","schema":{"type":"boolean","default":true}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}}}}},"post":{"tags":["CalendarApi"],"summary":"Creates a slot.","operationId":"CalendarApi_CreateSlot","parameters":[{"name":"calendarId","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The slot data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}}}}},"/api/calendars/{calendarId}/slots/available":{"get":{"tags":["CalendarApi"],"summary":"Gets available slots for a calendar.","operationId":"CalendarApi_GetAvailableSlots","parameters":[{"name":"calendarId","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}}}}}},"/api/calendars/slots/{slotId}/appointment":{"get":{"tags":["CalendarApi"],"summary":"Gets the appointment for a slot.","operationId":"CalendarApi_GetAppointmentForSlot","parameters":[{"name":"slotId","in":"path","description":"The slot ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/calendars/{calendarId}/slots/{slotId}":{"put":{"tags":["CalendarApi"],"summary":"Updates a slot.","operationId":"CalendarApi_UpdateSlot","parameters":[{"name":"calendarId","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"slotId","in":"path","description":"The slot ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated slot data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["CalendarApi"],"summary":"Deletes a slot.","operationId":"CalendarApi_DeleteSlot","parameters":[{"name":"calendarId","in":"path","description":"The calendar ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"slotId","in":"path","description":"The slot ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The slot to delete.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/categories":{"get":{"tags":["CategoryApi"],"summary":"Gets all categories.","operationId":"CategoryApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"}}}}}}},"post":{"tags":["CategoryApi"],"summary":"Creates a new category.","operationId":"CategoryApi_Create","requestBody":{"description":"The category data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/categories/{id}":{"get":{"tags":["CategoryApi"],"summary":"Gets a category by ID.","operationId":"CategoryApi_GetById","parameters":[{"name":"id","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["CategoryApi"],"summary":"Updates an existing category.","operationId":"CategoryApi_Update","parameters":[{"name":"id","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated category data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["CategoryApi"],"summary":"Deletes a category.","operationId":"CategoryApi_Delete","parameters":[{"name":"id","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/categories/by-name/{name}":{"get":{"tags":["CategoryApi"],"summary":"Gets a category by name.","operationId":"CategoryApi_GetByName","parameters":[{"name":"name","in":"path","description":"The category name.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/categories/exists":{"get":{"tags":["CategoryApi"],"summary":"Checks if a category with the given name exists.","operationId":"CategoryApi_Exists","parameters":[{"name":"name","in":"query","description":"The category name.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/customers":{"get":{"tags":["CustomerApi"],"summary":"Gets all customers.","operationId":"CustomerApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}}}}},"post":{"tags":["CustomerApi"],"summary":"Creates a new customer.","operationId":"CustomerApi_Create","requestBody":{"description":"The customer data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.CRM.Customers.CustomerViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.CRM.Customers.CustomerViewModel"}}}}}}},"/api/customers/{id}":{"get":{"tags":["CustomerApi"],"summary":"Gets a customer by ID.","operationId":"CustomerApi_GetById","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["CustomerApi"],"summary":"Updates an existing customer.","operationId":"CustomerApi_Update","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated customer data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["CustomerApi"],"summary":"Deletes a customer.","operationId":"CustomerApi_Delete","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/customers/search":{"get":{"tags":["CustomerApi"],"summary":"Searches customers by search term.","operationId":"CustomerApi_Search","parameters":[{"name":"term","in":"query","description":"The search term.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum number of results (default: 50).","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}}}}}},"/api/customers/search/by-phone":{"get":{"tags":["CustomerApi"],"summary":"Searches customers by phone number.","operationId":"CustomerApi_SearchByPhone","parameters":[{"name":"phone","in":"query","description":"The normalized phone number.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}}}}}},"/api/customers/by-email/{email}":{"get":{"tags":["CustomerApi"],"summary":"Gets a customer by email address.","operationId":"CustomerApi_GetByEmail","parameters":[{"name":"email","in":"path","description":"The email address.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/customers/by-code/{code}":{"get":{"tags":["CustomerApi"],"summary":"Gets a customer by quick access code.","operationId":"CustomerApi_GetByQuickAccessCode","parameters":[{"name":"code","in":"path","description":"The quick access code.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/customers/by-address":{"post":{"tags":["CustomerApi"],"summary":"Gets a customer by name and address.","operationId":"CustomerApi_GetByNameAndAddress","requestBody":{"description":"The search criteria.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.CustomerAddressSearchRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.CustomerAddressSearchRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.CustomerAddressSearchRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/customers/exists":{"get":{"tags":["CustomerApi"],"summary":"Checks if a customer with the given name exists.","operationId":"CustomerApi_Exists","parameters":[{"name":"name","in":"query","description":"The customer name.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/customers/leads":{"get":{"tags":["CustomerApi"],"summary":"Gets all leads.","operationId":"CustomerApi_GetLeads","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}}}}}},"/api/customers/{id}/lead":{"patch":{"tags":["CustomerApi"],"summary":"Marks or unmarks a customer as a lead.","operationId":"CustomerApi_SetLeadStatus","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"isLead","in":"query","description":"Whether to mark as lead (true) or unmark (false).","schema":{"type":"boolean","default":true}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/customers/{id}/addresses":{"put":{"tags":["CustomerApi"],"summary":"Updates customer addresses.","operationId":"CustomerApi_UpdateAddresses","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The list of addresses.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/customers/{id}/notes":{"get":{"tags":["CustomerApi"],"summary":"Gets all notes for a customer.","operationId":"CustomerApi_GetNotes","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteViewModel"}}}}}}},"post":{"tags":["CustomerApi"],"summary":"Creates a new note for a customer.","operationId":"CustomerApi_CreateNote","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The note data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_Homepage.ViewModels.Notes.NoteViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/customers/{id}/notes/{noteId}":{"get":{"tags":["CustomerApi"],"summary":"Gets a specific note by ID.","operationId":"CustomerApi_GetNoteById","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"noteId","in":"path","description":"The note ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["CustomerApi"],"summary":"Updates an existing note.","operationId":"CustomerApi_UpdateNote","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"noteId","in":"path","description":"The note ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated note data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["CustomerApi"],"summary":"Deletes a note.","operationId":"CustomerApi_DeleteNote","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"noteId","in":"path","description":"The note ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/customers/{id}/communication":{"get":{"tags":["CustomerApi"],"summary":"Gets all communication records for a customer.","operationId":"CustomerApi_GetCommunication","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.CommunicationLedgerViewModel"}}}}}}},"post":{"tags":["CustomerApi"],"summary":"Adds a communication record for a customer.","operationId":"CustomerApi_AddCommunication","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The communication data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AddCommunicationRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AddCommunicationRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AddCommunicationRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"204":{"description":"No Content"}}}},"/api/customers/{id}/blobs":{"get":{"tags":["CustomerApi"],"summary":"Gets all blobs with metadata for a customer.","operationId":"CustomerApi_GetBlobs","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}}},"/api/customers/{id}/blobs/{fileName}":{"get":{"tags":["CustomerApi"],"summary":"Gets a specific blob by filename.","operationId":"CustomerApi_GetBlob","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"fileName","in":"path","description":"The blob filename.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/customers/{id}/images":{"get":{"tags":["CustomerApi"],"summary":"Gets all image blobs for a customer.","operationId":"CustomerApi_GetImages","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}},"post":{"tags":["CustomerApi"],"summary":"Uploads a new image for a customer.","operationId":"CustomerApi_UploadImage","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The file data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}},"put":{"tags":["CustomerApi"],"summary":"Updates an existing image for a customer.","operationId":"CustomerApi_UpdateImage","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated file data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}}},"/api/customers/{id}/images/lease":{"get":{"tags":["CustomerApi"],"summary":"Gets a SAS lease URL for an image blob.","operationId":"CustomerApi_GetImageLease","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"blobPath","in":"query","description":"The blob path.","required":true,"schema":{"type":"string"}},{"name":"visibilityMinutes","in":"query","description":"Lease duration in minutes (default: 5).","schema":{"type":"integer","format":"int32","default":5}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/customers/{id}/images/{fileName}":{"delete":{"tags":["CustomerApi"],"summary":"Deletes an image for a customer.","operationId":"CustomerApi_DeleteImage","parameters":[{"name":"id","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"fileName","in":"path","description":"The filename to delete.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}}},"/api/document-templates":{"get":{"tags":["DocumentTemplateApi"],"summary":"Gets all document templates.","operationId":"DocumentTemplateApi_GetAll","parameters":[{"name":"refresh","in":"query","description":"Whether to refresh the cache.","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}}}}}}},"post":{"tags":["DocumentTemplateApi"],"summary":"Creates a new document template.","operationId":"DocumentTemplateApi_Create","requestBody":{"description":"The template data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Management.Templates.DocumentTemplateViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/document-templates/by-tenant/{tenantId}":{"get":{"tags":["DocumentTemplateApi"],"summary":"Gets document templates for a specific tenant.","operationId":"DocumentTemplateApi_GetByTenant","parameters":[{"name":"tenantId","in":"path","description":"The tenant ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}}}}}}}},"/api/document-templates/{id}":{"get":{"tags":["DocumentTemplateApi"],"summary":"Gets a document template by ID.","operationId":"DocumentTemplateApi_GetById","parameters":[{"name":"id","in":"path","description":"The template ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["DocumentTemplateApi"],"summary":"Updates a document template.","operationId":"DocumentTemplateApi_Update","parameters":[{"name":"id","in":"path","description":"The template ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated template data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["DocumentTemplateApi"],"summary":"Deletes a document template.","operationId":"DocumentTemplateApi_Delete","parameters":[{"name":"id","in":"path","description":"The template ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/document-templates/by-names":{"post":{"tags":["DocumentTemplateApi"],"summary":"Gets starter templates by names for copy operations.","operationId":"DocumentTemplateApi_GetByNames","requestBody":{"description":"The template items to match by name.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}}}}}}}},"/api/ebm":{"get":{"tags":["EbmApi"],"summary":"Gets all EBM codes.","operationId":"EbmApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}}}}}},"post":{"tags":["EbmApi"],"summary":"Creates a new EBM code.","operationId":"EbmApi_Create","requestBody":{"description":"The EBM code data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/ebm/count":{"get":{"tags":["EbmApi"],"summary":"Gets the count of EBM codes.","operationId":"EbmApi_GetCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/ebm/valid":{"get":{"tags":["EbmApi"],"summary":"Gets only currently valid EBM codes.","operationId":"EbmApi_GetValid","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}}}}}}},"/api/ebm/{id}":{"get":{"tags":["EbmApi"],"summary":"Gets an EBM code by ID.","operationId":"EbmApi_GetById","parameters":[{"name":"id","in":"path","description":"The EBM code ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["EbmApi"],"summary":"Updates an existing EBM code.","operationId":"EbmApi_Update","parameters":[{"name":"id","in":"path","description":"The EBM code ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated EBM code data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["EbmApi"],"summary":"Deletes an EBM code.","operationId":"EbmApi_Delete","parameters":[{"name":"id","in":"path","description":"The EBM code ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/ebm/by-code/{code}":{"get":{"tags":["EbmApi"],"summary":"Gets an EBM code by its code string.","operationId":"EbmApi_GetByCode","parameters":[{"name":"code","in":"path","description":"The EBM code string.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/ebm/search":{"get":{"tags":["EbmApi"],"summary":"Searches EBM codes by code or label.","operationId":"EbmApi_Search","parameters":[{"name":"term","in":"query","description":"The search term (min 2 characters).","schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"Maximum number of results.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}}}}}}},"/api/ebm/by-chapter/{chapter}":{"get":{"tags":["EbmApi"],"summary":"Gets EBM codes by chapter.","operationId":"EbmApi_GetByChapter","parameters":[{"name":"chapter","in":"path","description":"The chapter name.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}}}}}}},"/api/ebm/chapters":{"get":{"tags":["EbmApi"],"summary":"Gets all distinct chapters.","operationId":"EbmApi_GetChapters","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/ebm/batch":{"post":{"tags":["EbmApi"],"summary":"Creates multiple EBM codes.","operationId":"EbmApi_CreateBatch","requestBody":{"description":"The EBM codes to create.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.EbmCodeViewModel"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/ebm/all":{"delete":{"tags":["EbmApi"],"summary":"Clears all EBM codes from the database.","operationId":"EbmApi_ClearAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/forms/{id}":{"get":{"tags":["FormsApi"],"summary":"Gets a form by ID.","operationId":"FormsApi_GetById","parameters":[{"name":"id","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.FormBaseViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["FormsApi"],"summary":"Updates a form.","operationId":"FormsApi_Update","parameters":[{"name":"id","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated form data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"patch":{"tags":["FormsApi"],"summary":"Updates a form property.","operationId":"FormsApi_UpdateProperty","parameters":[{"name":"id","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"propName","in":"query","description":"The property name.","schema":{"type":"string"}}],"requestBody":{"description":"The new property value.","content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*\u002Bjson":{"schema":{}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}},"delete":{"tags":["FormsApi"],"summary":"Deletes a form.","operationId":"FormsApi_Delete","parameters":[{"name":"id","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"204":{"description":"No Content"}}}},"/api/forms/{id}/with-attachment":{"get":{"tags":["FormsApi"],"summary":"Gets a form with attachments.","operationId":"FormsApi_GetWithAttachment","parameters":[{"name":"id","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.FormBaseViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/forms/{id}/head-data":{"get":{"tags":["FormsApi"],"summary":"Gets form head data.","operationId":"FormsApi_GetHeadData","parameters":[{"name":"id","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.IPatientHeadData"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/forms/by-patient/{patientNr}":{"get":{"tags":["FormsApi"],"summary":"Gets forms for a patient.","operationId":"FormsApi_GetByPatient","parameters":[{"name":"patientNr","in":"path","description":"The patient number.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"createdOnOrAfter","in":"query","description":"Only return forms created on or after this date.","schema":{"type":"string","format":"date-time"}},{"name":"openOnly","in":"query","description":"Whether to return only open forms.","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.FormBaseViewModel"}}}}}}}},"/api/forms/by-customer/{customerId}":{"get":{"tags":["FormsApi"],"summary":"Gets forms for a customer.","operationId":"FormsApi_GetByCustomer","parameters":[{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.AggregatedView"}}}}}}}},"/api/forms":{"post":{"tags":["FormsApi"],"summary":"Creates a new form.","operationId":"FormsApi_Create","parameters":[{"name":"isInternal","in":"query","description":"Whether the form is internal.","schema":{"type":"boolean","default":false}}],"requestBody":{"description":"The form data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/forms/{formId}/assign-customer/{customerId}":{"post":{"tags":["FormsApi"],"summary":"Assigns a customer to a form.","operationId":"FormsApi_AssignCustomer","parameters":[{"name":"formId","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"customerId","in":"path","description":"The customer ID to assign.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/forms/list":{"get":{"tags":["FormsApi"],"summary":"Retrieves list data with filtering.","operationId":"FormsApi_GetListData","parameters":[{"name":"includeHomePage","in":"query","schema":{"type":"boolean","default":true}},{"name":"includeTablet","in":"query","schema":{"type":"boolean","default":true}},{"name":"includeFinished","in":"query","schema":{"type":"boolean","default":false}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":0}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":2147483647}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.AggregatedView"}}}}}}}},"/api/forms/list/{id}":{"get":{"tags":["FormsApi"],"summary":"Retrieves a single form data.","operationId":"FormsApi_GetSingleFormData","parameters":[{"name":"id","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"includeFinished","in":"query","description":"Whether to include finished forms.","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.AggregatedView"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/forms/count-all":{"get":{"tags":["FormsApi"],"summary":"Counts forms matching criteria.","operationId":"FormsApi_CountAll","parameters":[{"name":"tenantId","in":"query","schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Varuna.Persistence.Repositories.CountCriteria"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Varuna.Persistence.Repositories.CountCriteria"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Varuna.Persistence.Repositories.CountCriteria"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Varuna.Persistence.Repositories.CountResult"}}}}}}}},"/api/forms/attachments/{id}":{"get":{"tags":["FormsApi"],"summary":"Gets an attachment.","operationId":"FormsApi_GetAttachment","parameters":[{"name":"id","in":"path","description":"The attachment ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/forms/{formId}/attachments/{fileName}":{"get":{"tags":["FormsApi"],"summary":"Gets an attachment file from a form.","operationId":"FormsApi_GetAttachmentFile","parameters":[{"name":"formId","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"fileName","in":"path","description":"The file name.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/forms/{formId}/attachments":{"put":{"tags":["FormsApi"],"summary":"Updates an attachment.","operationId":"FormsApi_UpdateAttachment","parameters":[{"name":"formId","in":"path","description":"The form ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The update request containing form and file data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.UpdateAttachmentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.UpdateAttachmentRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.UpdateAttachmentRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}}},"/api/forms/emails":{"get":{"tags":["FormsApi"],"summary":"Gets emails.","operationId":"FormsApi_GetEmails","parameters":[{"name":"limit","in":"query","description":"Maximum number of emails to return.","schema":{"type":"integer","format":"int32","default":0}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Content.Pages.EmailResponseViewModel"}}}}}}},"put":{"tags":["FormsApi"],"summary":"Updates an email.","operationId":"FormsApi_UpdateEmail","requestBody":{"description":"The email response to update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Content.Pages.EmailResponseViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Content.Pages.EmailResponseViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Content.Pages.EmailResponseViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}}},"/api/forms/emails/count":{"get":{"tags":["FormsApi"],"summary":"Gets email count.","operationId":"FormsApi_GetEmailCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/forms/emails/external":{"get":{"tags":["FormsApi"],"summary":"Gets external mail.","operationId":"FormsApi_GetExternalMail","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.AggregatedView"}}}}}}}},"/api/forms/emails/sync":{"post":{"tags":["FormsApi"],"summary":"Synchronizes external mailbox.","operationId":"FormsApi_SyncMailbox","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.AggregatedView"}}}}}}}},"/api/forms/chats/{id}":{"patch":{"tags":["FormsApi"],"summary":"Updates a chat property.","operationId":"FormsApi_UpdateChatProperty","parameters":[{"name":"id","in":"path","description":"The chat ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"propName","in":"query","description":"The property name.","schema":{"type":"string"}}],"requestBody":{"description":"The new value.","content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*\u002Bjson":{"schema":{}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}},"delete":{"tags":["FormsApi"],"summary":"Deletes a chat.","operationId":"FormsApi_DeleteChat","parameters":[{"name":"id","in":"path","description":"The chat ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/forms/send-to-customer":{"post":{"tags":["FormsApi"],"summary":"Sends a response to customer.","operationId":"FormsApi_SendToCustomer","parameters":[{"name":"stage","in":"query","description":"Which response goes out: the confirmation (FirstResponse) or the editor\u0027s answer (SecondResponse).","schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.FormResponseStage"}}],"requestBody":{"description":"The aggregated form data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.AggregatedView"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.AggregatedView"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.AggregatedView"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}}},"/api/forms/send-immediate":{"post":{"tags":["FormsApi"],"summary":"Sends an immediate response to customer.","operationId":"FormsApi_SendImmediateToCustomer","parameters":[{"name":"stage","in":"query","description":"Which response goes out; defaults to the confirmation (FirstResponse).","schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.FormResponseStage"}}],"requestBody":{"description":"The custom form data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}}},"/api/goae":{"get":{"tags":["GoaeApi"],"summary":"Gets all GO\u00C4 codes.","operationId":"GoaeApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}}}}}},"post":{"tags":["GoaeApi"],"summary":"Creates a new GO\u00C4 code.","operationId":"GoaeApi_Create","requestBody":{"description":"The GO\u00C4 code data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/goae/count":{"get":{"tags":["GoaeApi"],"summary":"Gets the count of GO\u00C4 codes.","operationId":"GoaeApi_GetCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/goae/{id}":{"get":{"tags":["GoaeApi"],"summary":"Gets a GO\u00C4 code by ID.","operationId":"GoaeApi_GetById","parameters":[{"name":"id","in":"path","description":"The GO\u00C4 code ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["GoaeApi"],"summary":"Updates an existing GO\u00C4 code.","operationId":"GoaeApi_Update","parameters":[{"name":"id","in":"path","description":"The GO\u00C4 code ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated GO\u00C4 code data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["GoaeApi"],"summary":"Deletes a GO\u00C4 code.","operationId":"GoaeApi_Delete","parameters":[{"name":"id","in":"path","description":"The GO\u00C4 code ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/goae/by-code/{code}":{"get":{"tags":["GoaeApi"],"summary":"Gets a GO\u00C4 code by its code string (Ziffer).","operationId":"GoaeApi_GetByCode","parameters":[{"name":"code","in":"path","description":"The GO\u00C4 code string.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/goae/search":{"get":{"tags":["GoaeApi"],"summary":"Searches GO\u00C4 codes by code or title.","operationId":"GoaeApi_Search","parameters":[{"name":"term","in":"query","description":"The search term (min 2 characters).","schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"Maximum number of results.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}}}}}}},"/api/goae/by-section/{section}":{"get":{"tags":["GoaeApi"],"summary":"Gets GO\u00C4 codes by section (Abschnitt).","operationId":"GoaeApi_GetBySection","parameters":[{"name":"section","in":"path","description":"The section name.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}}}}}}},"/api/goae/sections":{"get":{"tags":["GoaeApi"],"summary":"Gets all distinct sections.","operationId":"GoaeApi_GetSections","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/goae/batch":{"post":{"tags":["GoaeApi"],"summary":"Creates multiple GO\u00C4 codes.","operationId":"GoaeApi_CreateBatch","requestBody":{"description":"The GO\u00C4 codes to create.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.GoaeCodeViewModel"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/goae/all":{"delete":{"tags":["GoaeApi"],"summary":"Clears all GO\u00C4 codes from the database.","operationId":"GoaeApi_ClearAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/icd10":{"get":{"tags":["Icd10Api"],"summary":"Gets all ICD-10 codes.","operationId":"Icd10Api_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}}}}},"post":{"tags":["Icd10Api"],"summary":"Creates a new ICD-10 code.","operationId":"Icd10Api_Create","requestBody":{"description":"The ICD-10 code data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/icd10/count":{"get":{"tags":["Icd10Api"],"summary":"Gets the count of ICD-10 codes.","operationId":"Icd10Api_GetCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/icd10/has-data":{"get":{"tags":["Icd10Api"],"summary":"Checks if any ICD-10 codes exist in the database.","operationId":"Icd10Api_HasData","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/icd10/chapters":{"get":{"tags":["Icd10Api"],"summary":"Gets all chapter (top-level) codes.","operationId":"Icd10Api_GetChapters","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}}}}}},"/api/icd10/{id}":{"get":{"tags":["Icd10Api"],"summary":"Gets an ICD-10 code by ID.","operationId":"Icd10Api_GetById","parameters":[{"name":"id","in":"path","description":"The ICD-10 code ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["Icd10Api"],"summary":"Updates an existing ICD-10 code.","operationId":"Icd10Api_Update","parameters":[{"name":"id","in":"path","description":"The ICD-10 code ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated ICD-10 code data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["Icd10Api"],"summary":"Deletes an ICD-10 code.","operationId":"Icd10Api_Delete","parameters":[{"name":"id","in":"path","description":"The ICD-10 code ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/icd10/by-code/{code}":{"get":{"tags":["Icd10Api"],"summary":"Gets an ICD-10 code by its code string.","operationId":"Icd10Api_GetByCode","parameters":[{"name":"code","in":"path","description":"The ICD-10 code string.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/icd10/search":{"get":{"tags":["Icd10Api"],"summary":"Searches ICD-10 codes by code or label.","operationId":"Icd10Api_Search","parameters":[{"name":"term","in":"query","description":"The search term (min 2 characters).","schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"Maximum number of results.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}}}}}},"/api/icd10/children/{parentCode}":{"get":{"tags":["Icd10Api"],"summary":"Gets child codes for a given parent code.","operationId":"Icd10Api_GetChildren","parameters":[{"name":"parentCode","in":"path","description":"The parent code.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}}}}}},"/api/icd10/by-kind/{kind}":{"get":{"tags":["Icd10Api"],"summary":"Gets codes by kind (chapter, block, category).","operationId":"Icd10Api_GetByKind","parameters":[{"name":"kind","in":"path","description":"The code kind.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}}}}}},"/api/icd10/batch":{"post":{"tags":["Icd10Api"],"summary":"Creates multiple ICD-10 codes in bulk.","operationId":"Icd10Api_CreateBatch","requestBody":{"description":"The ICD-10 codes to create.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeViewModel"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/icd10/all":{"delete":{"tags":["Icd10Api"],"summary":"Clears all ICD-10 codes from the database (used before re-import).","operationId":"Icd10Api_ClearAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items":{"get":{"tags":["InventoryApi"],"summary":"Gets all inventory items.","operationId":"InventoryApi_GetAllItems","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}}}}},"post":{"tags":["InventoryApi"],"summary":"Creates an inventory item.","operationId":"InventoryApi_CreateItem","requestBody":{"description":"The item data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/count":{"get":{"tags":["InventoryApi"],"summary":"Gets item count.","operationId":"InventoryApi_GetItemCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/inventory/items/{id}":{"get":{"tags":["InventoryApi"],"summary":"Gets an inventory item by ID.","operationId":"InventoryApi_GetItemById","parameters":[{"name":"id","in":"path","description":"The item ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["InventoryApi"],"summary":"Updates an inventory item.","operationId":"InventoryApi_UpdateItem","parameters":[{"name":"id","in":"path","description":"The item ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated item data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["InventoryApi"],"summary":"Deletes an inventory item.","operationId":"InventoryApi_DeleteItem","parameters":[{"name":"id","in":"path","description":"The item ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/by-barcode/{barcode}":{"get":{"tags":["InventoryApi"],"summary":"Gets an inventory item by barcode.","operationId":"InventoryApi_GetByBarcode","parameters":[{"name":"barcode","in":"path","description":"The barcode.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/by-sku/{sku}":{"get":{"tags":["InventoryApi"],"summary":"Gets an inventory item by SKU.","operationId":"InventoryApi_GetBySku","parameters":[{"name":"sku","in":"path","description":"The SKU.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/search":{"get":{"tags":["InventoryApi"],"summary":"Searches inventory items.","operationId":"InventoryApi_SearchItems","parameters":[{"name":"searchTerm","in":"query","description":"The search term.","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}}}}}},"/api/inventory/items/low-stock":{"get":{"tags":["InventoryApi"],"summary":"Gets low stock items.","operationId":"InventoryApi_GetLowStock","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}}}}}},"/api/inventory/items/out-of-stock":{"get":{"tags":["InventoryApi"],"summary":"Gets out of stock items.","operationId":"InventoryApi_GetOutOfStock","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}}}}}},"/api/inventory/items/by-category/{categoryId}":{"get":{"tags":["InventoryApi"],"summary":"Gets items by category.","operationId":"InventoryApi_GetByCategory","parameters":[{"name":"categoryId","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}}}}}},"/api/inventory/items/by-supplier/{supplierId}":{"get":{"tags":["InventoryApi"],"summary":"Gets items by supplier.","operationId":"InventoryApi_GetBySupplier","parameters":[{"name":"supplierId","in":"path","description":"The supplier ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}}}}}},"/api/inventory/items/by-shelf/{shelf}":{"get":{"tags":["InventoryApi"],"summary":"Gets items by shelf/location.","operationId":"InventoryApi_GetByShelf","parameters":[{"name":"shelf","in":"path","description":"The shelf/location.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}}}}}},"/api/inventory/items/by-product/{productId}":{"get":{"tags":["InventoryApi"],"summary":"Gets items by product.","operationId":"InventoryApi_GetByProduct","parameters":[{"name":"productId","in":"path","description":"The product ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}}}}}},"/api/inventory/items/unlinked":{"get":{"tags":["InventoryApi"],"summary":"Gets unlinked inventory items.","operationId":"InventoryApi_GetUnlinked","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryItemViewModel"}}}}}}}},"/api/inventory/items/move-to-shelf":{"post":{"tags":["InventoryApi"],"summary":"Moves items to a new shelf.","operationId":"InventoryApi_MoveToShelf","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.MoveToShelfRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.MoveToShelfRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.MoveToShelfRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/bulk":{"delete":{"tags":["InventoryApi"],"summary":"Deletes multiple items.","operationId":"InventoryApi_DeleteItems","requestBody":{"description":"The item IDs to delete.","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},"text/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/bulk-category":{"put":{"tags":["InventoryApi"],"summary":"Updates category for multiple items.","operationId":"InventoryApi_UpdateItemsCategory","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.UpdateCategoryRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.UpdateCategoryRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.UpdateCategoryRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/{id}/adjust-stock":{"post":{"tags":["InventoryApi"],"summary":"Adjusts stock quantity.","operationId":"InventoryApi_AdjustStock","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AdjustStockRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AdjustStockRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AdjustStockRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/{id}/transfer":{"post":{"tags":["InventoryApi"],"summary":"Transfers item to new location.","operationId":"InventoryApi_TransferItem","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.TransferItemRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.TransferItemRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.TransferItemRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/stock/product/{productId}":{"get":{"tags":["InventoryApi"],"summary":"Gets total stock for a product.","operationId":"InventoryApi_GetTotalStockForProduct","parameters":[{"name":"productId","in":"path","description":"The product ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"number","format":"double"}}}}}}},"/api/inventory/stock/product/{productId}/check":{"get":{"tags":["InventoryApi"],"summary":"Checks if product has sufficient stock.","operationId":"InventoryApi_HasSufficientStock","parameters":[{"name":"productId","in":"path","description":"The product ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"requiredQuantity","in":"query","description":"The required quantity.","schema":{"type":"number","format":"double"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/inventory/stock/product/{productId}/withdraw":{"post":{"tags":["InventoryApi"],"summary":"Withdraws stock for a product.","operationId":"InventoryApi_WithdrawStock","parameters":[{"name":"productId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.WithdrawStockRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.WithdrawStockRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.WithdrawStockRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/stock/product/{productId}/add":{"post":{"tags":["InventoryApi"],"summary":"Adds stock for a product.","operationId":"InventoryApi_AddStock","parameters":[{"name":"productId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AddStockRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AddStockRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AddStockRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/from-product/{productId}":{"post":{"tags":["InventoryApi"],"summary":"Creates inventory item from product.","operationId":"InventoryApi_CreateFromProduct","parameters":[{"name":"productId","in":"path","description":"The product ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"userId","in":"query","description":"The user ID.","schema":{"type":"string"}},{"name":"userName","in":"query","description":"The user name.","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/inventory/items/{itemId}/link-product/{productId}":{"post":{"tags":["InventoryApi"],"summary":"Links inventory item to product.","operationId":"InventoryApi_LinkToProduct","parameters":[{"name":"itemId","in":"path","description":"The inventory item ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"productId","in":"path","description":"The product ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/categories":{"get":{"tags":["InventoryApi"],"summary":"Gets all categories.","operationId":"InventoryApi_GetCategories","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryCategoryViewModel"}}}}}}},"post":{"tags":["InventoryApi"],"summary":"Creates a category.","operationId":"InventoryApi_CreateCategory","requestBody":{"description":"The category data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryCategoryViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryCategoryViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryCategoryViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/categories/{id}":{"get":{"tags":["InventoryApi"],"summary":"Gets a category by ID.","operationId":"InventoryApi_GetCategoryById","parameters":[{"name":"id","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryCategoryViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["InventoryApi"],"summary":"Updates a category.","operationId":"InventoryApi_UpdateCategory","parameters":[{"name":"id","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated category data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryCategoryViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryCategoryViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryCategoryViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["InventoryApi"],"summary":"Deletes a category.","operationId":"InventoryApi_DeleteCategory","parameters":[{"name":"id","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/inventory/items/{itemId}/transactions":{"get":{"tags":["InventoryApi"],"summary":"Gets transactions for an item.","operationId":"InventoryApi_GetTransactions","parameters":[{"name":"itemId","in":"path","description":"The inventory item ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryTransactionViewModel"}}}}}}}},"/api/inventory/transactions/recent":{"get":{"tags":["InventoryApi"],"summary":"Gets recent transactions.","operationId":"InventoryApi_GetRecentTransactions","parameters":[{"name":"count","in":"query","description":"Number of transactions to return.","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryTransactionViewModel"}}}}}}}},"/api/inventory/dashboard":{"get":{"tags":["InventoryApi"],"summary":"Gets dashboard data.","operationId":"InventoryApi_GetDashboard","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryDashboardViewModel"}}}}}}},"/api/inventory/shelves":{"get":{"tags":["InventoryApi"],"summary":"Gets distinct shelf locations.","operationId":"InventoryApi_GetShelves","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/invoice-addresses":{"get":{"tags":["InvoiceAddressApi"],"summary":"Gets all invoice addresses.","operationId":"InvoiceAddressApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}}}}}}},"post":{"tags":["InvoiceAddressApi"],"summary":"Creates a new invoice address.","operationId":"InvoiceAddressApi_Create","requestBody":{"description":"The invoice address data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/invoice-addresses/{id}":{"get":{"tags":["InvoiceAddressApi"],"summary":"Gets an invoice address by ID.","operationId":"InvoiceAddressApi_GetById","parameters":[{"name":"id","in":"path","description":"The invoice address ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["InvoiceAddressApi"],"summary":"Updates an existing invoice address.","operationId":"InvoiceAddressApi_Update","parameters":[{"name":"id","in":"path","description":"The invoice address ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated invoice address data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["InvoiceAddressApi"],"summary":"Deletes an invoice address.","operationId":"InvoiceAddressApi_Delete","parameters":[{"name":"id","in":"path","description":"The invoice address ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/invoices":{"get":{"tags":["InvoiceApi"],"summary":"Gets all invoices.","operationId":"InvoiceApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}}}}}}},"post":{"tags":["InvoiceApi"],"summary":"Creates a new invoice.","operationId":"InvoiceApi_Create","requestBody":{"description":"The invoice data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Invoices.InvoiceViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Invoices.InvoiceViewModel"}}}}}}},"/api/invoices/{id}":{"get":{"tags":["InvoiceApi"],"summary":"Gets an invoice by ID.","operationId":"InvoiceApi_GetById","parameters":[{"name":"id","in":"path","description":"The invoice ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["InvoiceApi"],"summary":"Updates an existing invoice.","operationId":"InvoiceApi_Update","parameters":[{"name":"id","in":"path","description":"The invoice ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated invoice data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["InvoiceApi"],"summary":"Deletes an invoice.","operationId":"InvoiceApi_Delete","parameters":[{"name":"id","in":"path","description":"The invoice ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"force","in":"query","description":"Force deletion even if referenced (default: false).","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/invoices/customer/{customerId}":{"get":{"tags":["InvoiceApi"],"summary":"Gets all invoices for a customer.","operationId":"InvoiceApi_GetByCustomerId","parameters":[{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}}}}}}}},"/api/invoices/customer/{customerId}/exists":{"get":{"tags":["InvoiceApi"],"summary":"Checks if a customer has any invoices.","operationId":"InvoiceApi_CustomerHasInvoices","parameters":[{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/invoices/customers/has-invoices":{"post":{"tags":["InvoiceApi"],"summary":"Checks if multiple customers have invoices.","operationId":"InvoiceApi_CustomersHaveInvoices","requestBody":{"description":"The list of customer IDs.","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},"text/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/System.ValueTuple_System.Int32_System.Boolean"}}}}}}}},"/api/invoices/for-order/{orderId}":{"get":{"tags":["InvoiceApi"],"summary":"Gets the invoice for a specific order.","operationId":"InvoiceApi_GetForOrder","parameters":[{"name":"orderId","in":"path","description":"The order ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/invoices/from-offer":{"post":{"tags":["InvoiceApi"],"summary":"Creates an invoice from an offer.","operationId":"InvoiceApi_CreateFromOffer","requestBody":{"description":"The offer to convert.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Invoices.InvoiceViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Invoices.InvoiceViewModel"}}}}}}},"/api/invoices/from-order":{"post":{"tags":["InvoiceApi"],"summary":"Creates an invoice from an order.","operationId":"InvoiceApi_CreateFromOrder","requestBody":{"description":"The order to convert.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Invoices.InvoiceViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Invoices.InvoiceViewModel"}}}}}}},"/api/invoices/xrechnung":{"post":{"tags":["InvoiceApi"],"summary":"Generates XRechnung XML for an invoice.","operationId":"InvoiceApi_GenerateXRechnung","requestBody":{"description":"The XRechnung generation request containing invoice and optional order data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.GenerateXRechnungRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.GenerateXRechnungRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.GenerateXRechnungRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/xml":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/xml":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}}}}}}},"/api/labels":{"get":{"tags":["LabelApi"],"operationId":"LabelApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}}}}}}},"post":{"tags":["LabelApi"],"operationId":"LabelApi_Create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}}}}}}},"/api/labels/by-type/{type}":{"get":{"tags":["LabelApi"],"operationId":"LabelApi_GetByType","parameters":[{"name":"type","in":"path","required":true,"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelTypeViewModel"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}}}}}}}},"/api/labels/{id}":{"get":{"tags":["LabelApi"],"operationId":"LabelApi_GetById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["LabelApi"],"operationId":"LabelApi_Update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["LabelApi"],"operationId":"LabelApi_Delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/labels/{id}/in-use":{"get":{"tags":["LabelApi"],"operationId":"LabelApi_IsInUse","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/labels/{id}/usage-count":{"get":{"tags":["LabelApi"],"operationId":"LabelApi_GetUsageCount","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/labels/assignments/{entityType}/{entityId}":{"get":{"tags":["LabelApi"],"operationId":"LabelApi_GetAssignments","parameters":[{"name":"entityType","in":"path","required":true,"schema":{"type":"string"}},{"name":"entityId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelAssignmentViewModel"}}}}}}}},"/api/labels/assignments/{entityType}/{entityId}/{labelId}":{"post":{"tags":["LabelApi"],"operationId":"LabelApi_Assign","parameters":[{"name":"entityType","in":"path","required":true,"schema":{"type":"string"}},{"name":"entityId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"labelId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}}}},"delete":{"tags":["LabelApi"],"operationId":"LabelApi_Unassign","parameters":[{"name":"entityType","in":"path","required":true,"schema":{"type":"string"}},{"name":"entityId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"labelId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}}}}},"/api/meddok/{id}":{"get":{"tags":["MedDokApi"],"summary":"Gets a MedDok entry by ID.","operationId":"MedDokApi_GetById","parameters":[{"name":"id","in":"path","description":"The MedDok entry ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["MedDokApi"],"summary":"Updates an existing MedDok entry.","operationId":"MedDokApi_Update","parameters":[{"name":"id","in":"path","description":"The MedDok entry ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated MedDok entry data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["MedDokApi"],"summary":"Deletes a MedDok entry.","operationId":"MedDokApi_Delete","parameters":[{"name":"id","in":"path","description":"The MedDok entry ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/meddok/by-patient/{customerId}":{"get":{"tags":["MedDokApi"],"summary":"Gets all MedDok entries for a customer (patient).","operationId":"MedDokApi_GetByCustomer","parameters":[{"name":"customerId","in":"path","description":"The Customer.Id (leading PK).","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}}}}}},"/api/meddok/by-patient/{customerId}/category/{kategorieId}":{"get":{"tags":["MedDokApi"],"summary":"Gets MedDok entries for a customer filtered by category.","operationId":"MedDokApi_GetByCustomerAndCategory","parameters":[{"name":"customerId","in":"path","description":"The Customer.Id (leading PK).","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"kategorieId","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}}}}}},"/api/meddok/count/by-patient/{customerId}":{"get":{"tags":["MedDokApi"],"summary":"Gets the count of MedDok entries for a customer.","operationId":"MedDokApi_GetCountByCustomer","parameters":[{"name":"customerId","in":"path","description":"The Customer.Id (leading PK).","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/meddok/recent/by-patient/{customerId}":{"get":{"tags":["MedDokApi"],"summary":"Gets the most recent MedDok entries for a customer.","operationId":"MedDokApi_GetRecentByCustomer","parameters":[{"name":"customerId","in":"path","description":"The Customer.Id (leading PK).","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"Maximum number of entries to return.","schema":{"type":"integer","format":"int32","default":10}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}}}}}},"/api/meddok/search/by-patient/{customerId}":{"get":{"tags":["MedDokApi"],"summary":"Searches MedDok entries for a customer by detail text.","operationId":"MedDokApi_Search","parameters":[{"name":"customerId","in":"path","description":"The Customer.Id (leading PK).","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"searchText","in":"query","description":"The text to search for.","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}}}}}},"/api/meddok":{"post":{"tags":["MedDokApi"],"summary":"Creates a new MedDok entry.","operationId":"MedDokApi_Create","requestBody":{"description":"The MedDok entry data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/meddok/{id}/mark-printed":{"post":{"tags":["MedDokApi"],"summary":"Marks a MedDok entry as printed.","operationId":"MedDokApi_MarkAsPrinted","parameters":[{"name":"id","in":"path","description":"The MedDok entry ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/meddok-categories":{"get":{"tags":["MedDokKategorieApi"],"summary":"Gets all MedDok categories.","operationId":"MedDokKategorieApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}}}}}}},"post":{"tags":["MedDokKategorieApi"],"summary":"Creates a new MedDok category.","operationId":"MedDokKategorieApi_Create","requestBody":{"description":"The category data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/meddok-categories/active":{"get":{"tags":["MedDokKategorieApi"],"summary":"Gets only active MedDok categories.","operationId":"MedDokKategorieApi_GetActive","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}}}}}}}},"/api/meddok-categories/count":{"get":{"tags":["MedDokKategorieApi"],"summary":"Gets the count of MedDok categories.","operationId":"MedDokKategorieApi_GetCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/meddok-categories/{id}":{"get":{"tags":["MedDokKategorieApi"],"summary":"Gets a MedDok category by ID.","operationId":"MedDokKategorieApi_GetById","parameters":[{"name":"id","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["MedDokKategorieApi"],"summary":"Updates an existing MedDok category.","operationId":"MedDokKategorieApi_Update","parameters":[{"name":"id","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated category data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["MedDokKategorieApi"],"summary":"Deletes a MedDok category.","operationId":"MedDokKategorieApi_Delete","parameters":[{"name":"id","in":"path","description":"The category ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/meddok-categories/search":{"get":{"tags":["MedDokKategorieApi"],"summary":"Searches MedDok categories.","operationId":"MedDokKategorieApi_Search","parameters":[{"name":"searchText","in":"query","description":"The search text.","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"}}}}}}}},"/api/my/documents":{"get":{"tags":["MyDocumentsApi"],"summary":"Gets personal document metadata for the current tenant.","operationId":"MyDocumentsApi_GetDocuments","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/services":{"get":{"tags":["NursingApi"],"summary":"Gets all nursing services.","operationId":"NursingApi_GetNursingServices","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}}}}}}},"post":{"tags":["NursingApi"],"summary":"Creates a nursing service.","operationId":"NursingApi_CreateNursingService","requestBody":{"description":"The service data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/services/{id}":{"get":{"tags":["NursingApi"],"summary":"Gets a nursing service by ID.","operationId":"NursingApi_GetNursingService","parameters":[{"name":"id","in":"path","description":"The service ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["NursingApi"],"summary":"Updates a nursing service.","operationId":"NursingApi_UpdateNursingService","parameters":[{"name":"id","in":"path","description":"The service ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated service data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["NursingApi"],"summary":"Deletes a nursing service.","operationId":"NursingApi_DeleteNursingService","parameters":[{"name":"id","in":"path","description":"The service ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}}},"/api/nursing/services/assignment/{userId}":{"get":{"tags":["NursingApi"],"summary":"Gets a nursing service assignment for a user.","operationId":"NursingApi_GetAssignment","parameters":[{"name":"userId","in":"path","description":"The user ID.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/services/{nursingServiceId}/users":{"get":{"tags":["NursingApi"],"summary":"Gets assigned users for a nursing service.","operationId":"NursingApi_GetAssignedUsers","parameters":[{"name":"nursingServiceId","in":"path","description":"The service ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"}}}}}}},"post":{"tags":["NursingApi"],"summary":"Assigns or removes a user from a nursing service.","operationId":"NursingApi_AssignOrRemoveUser","parameters":[{"name":"nursingServiceId","in":"path","description":"The service ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"add","in":"query","description":"Whether to add (true) or remove (false).","schema":{"type":"boolean","default":true}}],"requestBody":{"description":"The user to assign/remove.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}}},"/api/nursing/shared-houses":{"get":{"tags":["NursingApi"],"summary":"Gets all shared houses.","operationId":"NursingApi_GetSharedHouses","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"}}}}}}},"post":{"tags":["NursingApi"],"summary":"Creates a shared house.","operationId":"NursingApi_CreateSharedHouse","requestBody":{"description":"The shared house and nursing service data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.CreateSharedHouseRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.CreateSharedHouseRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.CreateSharedHouseRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/shared-houses/by-service/{nursingServiceId}":{"get":{"tags":["NursingApi"],"summary":"Gets shared houses for a nursing service.","operationId":"NursingApi_GetSharedHousesByService","parameters":[{"name":"nursingServiceId","in":"path","description":"The nursing service ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"}}}}}}}},"/api/nursing/shared-houses/for-user/{userId}":{"get":{"tags":["NursingApi"],"summary":"Gets shared houses for a user.","operationId":"NursingApi_GetSharedHousesForUser","parameters":[{"name":"userId","in":"path","description":"The user ID.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"}}}}}}}},"/api/nursing/shared-houses/{id}":{"get":{"tags":["NursingApi"],"summary":"Gets a shared house by ID.","operationId":"NursingApi_GetSharedHouse","parameters":[{"name":"id","in":"path","description":"The shared house ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["NursingApi"],"summary":"Updates a shared house.","operationId":"NursingApi_UpdateSharedHouse","parameters":[{"name":"id","in":"path","description":"The shared house ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated shared house data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["NursingApi"],"summary":"Deletes a shared house.","operationId":"NursingApi_DeleteSharedHouse","parameters":[{"name":"id","in":"path","description":"The shared house ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/shared-houses/by-patient/{patNr}":{"get":{"tags":["NursingApi"],"summary":"Gets a shared house by patient.","operationId":"NursingApi_GetSharedHouseByPatient","parameters":[{"name":"patNr","in":"path","description":"The patient number.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/shared-houses/{sharedHouseId}/patients":{"get":{"tags":["NursingApi"],"summary":"Gets patients in a shared house.","operationId":"NursingApi_GetSharedHousePatients","parameters":[{"name":"sharedHouseId","in":"path","description":"The shared house ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}}}}},"/api/nursing/shared-houses/patients":{"post":{"tags":["NursingApi"],"summary":"Adds a patient to a shared house.","operationId":"NursingApi_AddSharedHousePatient","requestBody":{"description":"The shared house patient data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHousePatientViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHousePatientViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHousePatientViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/shared-houses/{sharedHouseId}/patients/{patientId}":{"delete":{"tags":["NursingApi"],"summary":"Removes a patient from a shared house.","operationId":"NursingApi_RemoveSharedHousePatient","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"sharedHouseId","in":"path","description":"The shared house ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/shared-houses/{sharedHouseId}/users":{"get":{"tags":["NursingApi"],"summary":"Gets assigned users for a shared house.","operationId":"NursingApi_GetSharedHouseAssignedUsers","parameters":[{"name":"sharedHouseId","in":"path","description":"The shared house ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"}}}}}}}},"/api/nursing/shared-houses/{sharedHouseId}/users/{userId}":{"post":{"tags":["NursingApi"],"summary":"Assigns a user to a shared house.","operationId":"NursingApi_AssignUserToSharedHouse","parameters":[{"name":"sharedHouseId","in":"path","description":"The shared house ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"userId","in":"path","description":"The user ID to assign.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}}},"/api/nursing/requests":{"get":{"tags":["NursingApi"],"summary":"Gets all nursing requests.","operationId":"NursingApi_GetAllRequests","parameters":[{"name":"recent","in":"query","description":"Filter requests since this date.","schema":{"type":"string","format":"date-time"}},{"name":"showClosed","in":"query","description":"Whether to include closed requests.","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingRequestFormViewModel"}}}}}}},"post":{"tags":["NursingApi"],"summary":"Creates nursing requests.","operationId":"NursingApi_CreateRequest","parameters":[{"name":"sharedHouseId","in":"query","description":"The shared house ID.","schema":{"type":"integer","format":"int32"}},{"name":"name","in":"query","description":"The request name.","schema":{"type":"string"}}],"requestBody":{"description":"The requests to create.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingRequestViewModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingRequestViewModel"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingRequestViewModel"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"}}},"delete":{"tags":["NursingApi"],"summary":"Deletes a request.","operationId":"NursingApi_DeleteRequest","requestBody":{"description":"The request to delete.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingRequestFormViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingRequestFormViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingRequestFormViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"}}}},"/api/nursing/requests/{id}/status":{"put":{"tags":["NursingApi"],"summary":"Updates a request status.","operationId":"NursingApi_UpdateRequestStatus","parameters":[{"name":"id","in":"path","description":"The request ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"status","in":"query","description":"The new status.","schema":{"$ref":"#/components/schemas/ViewModels.Content.Pages.ProcessingStatus"}}],"requestBody":{"description":"The user making the change.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/attachments/{id}":{"get":{"tags":["NursingApi"],"summary":"Gets an attachment.","operationId":"NursingApi_GetAttachment","parameters":[{"name":"id","in":"path","description":"The attachment ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}},"/api/nursing/medication-plans/{patNr}":{"get":{"tags":["NursingApi"],"summary":"Gets a medication plan for a patient.","operationId":"NursingApi_GetMedicationPlan","parameters":[{"name":"patNr","in":"path","description":"The patient number.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/nursing/patients/search":{"get":{"tags":["NursingApi"],"summary":"Searches for patients.","operationId":"NursingApi_SearchPatient","parameters":[{"name":"nameOrPatNr","in":"query","description":"The name or patient number.","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}}}}}},"/api/offers/{id}/accept":{"post":{"tags":["OfferApi"],"summary":"Accepts an offer from the mobile app: the offer becomes Accepted, an order is created from it,\nand a confirmation record goes into the order\u0027s and the customer\u0027s digital file. With a\nsignature (the customer signs on the employee\u0027s phone) the PNG is filed as well; without one\nthe confirmation names the employee who converted the offer. Requires the mobile full view\n(\u0060AppFullView\u0060) or Admin.","operationId":"OfferApi_Accept","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AcceptOfferRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AcceptOfferRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AcceptOfferRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.AcceptOfferResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/offers":{"get":{"tags":["OfferApi"],"summary":"Gets all offers.","operationId":"OfferApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}}}}}}},"post":{"tags":["OfferApi"],"summary":"Creates a new offer.","operationId":"OfferApi_Create","requestBody":{"description":"The offer data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Offers.OfferViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Offers.OfferViewModel"}}}}}}},"/api/offers/{id}":{"get":{"tags":["OfferApi"],"summary":"Gets an offer by ID.","operationId":"OfferApi_GetById","parameters":[{"name":"id","in":"path","description":"The offer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["OfferApi"],"summary":"Updates an existing offer.","operationId":"OfferApi_Update","parameters":[{"name":"id","in":"path","description":"The offer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated offer data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["OfferApi"],"summary":"Deletes an offer.","operationId":"OfferApi_Delete","parameters":[{"name":"id","in":"path","description":"The offer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/offers/rejected":{"delete":{"tags":["OfferApi"],"summary":"Deletes all rejected offers.","operationId":"OfferApi_DeleteRejected","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}}}}},"/api/offers/customer/{customerId}":{"get":{"tags":["OfferApi"],"summary":"Gets all offers for a customer.","operationId":"OfferApi_GetByCustomerId","parameters":[{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}}}}}}}},"/api/offers/customer/{customerId}/exists":{"get":{"tags":["OfferApi"],"summary":"Checks if a customer has any offers.","operationId":"OfferApi_CustomerHasOffers","parameters":[{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/offers/customers/has-offers":{"post":{"tags":["OfferApi"],"summary":"Checks if multiple customers have offers.","operationId":"OfferApi_CustomersHaveOffers","requestBody":{"description":"The list of customer IDs.","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},"text/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/System.ValueTuple_System.Int32_System.Boolean"}}}}}}}},"/api/offers/{id}/has-orders":{"get":{"tags":["OfferApi"],"summary":"Checks if an offer has order references.","operationId":"OfferApi_HasOrderReferences","parameters":[{"name":"id","in":"path","description":"The offer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/offers/{id}/has-invoices":{"get":{"tags":["OfferApi"],"summary":"Checks if an offer has invoice references.","operationId":"OfferApi_HasInvoiceReferences","parameters":[{"name":"id","in":"path","description":"The offer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/orders":{"get":{"tags":["OrderApi"],"summary":"Gets all orders.","operationId":"OrderApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}}}}},"post":{"tags":["OrderApi"],"summary":"Creates a new order.","operationId":"OrderApi_Create","requestBody":{"description":"The order data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Orders.OrderViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Orders.OrderViewModel"}}}}}}},"/api/orders/{id}":{"get":{"tags":["OrderApi"],"summary":"Gets an order by ID.","operationId":"OrderApi_GetById","parameters":[{"name":"id","in":"path","description":"The order ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["OrderApi"],"summary":"Updates an existing order.","operationId":"OrderApi_Update","parameters":[{"name":"id","in":"path","description":"The order ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated order data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["OrderApi"],"summary":"Deletes an order.","operationId":"OrderApi_Delete","parameters":[{"name":"id","in":"path","description":"The order ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/orders/by-number/{orderNumber}":{"get":{"tags":["OrderApi"],"summary":"Gets an order by order number.","operationId":"OrderApi_GetByOrderNumber","parameters":[{"name":"orderNumber","in":"path","description":"The order number.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/orders/batch":{"put":{"tags":["OrderApi"],"summary":"Updates multiple orders.","operationId":"OrderApi_UpdateBatch","requestBody":{"description":"The list of orders to update.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/orders/customer/{customerId}":{"get":{"tags":["OrderApi"],"summary":"Gets all orders for a customer.","operationId":"OrderApi_GetByCustomerId","parameters":[{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}}}}}},"/api/orders/customer/{customerId}/exists":{"get":{"tags":["OrderApi"],"summary":"Checks if a customer has any orders.","operationId":"OrderApi_CustomerHasOrders","parameters":[{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/orders/customers/has-orders":{"post":{"tags":["OrderApi"],"summary":"Checks if multiple customers have orders.","operationId":"OrderApi_CustomersHaveOrders","requestBody":{"description":"The list of customer IDs.","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},"text/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}},"application/*\u002Bjson":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/System.ValueTuple_System.Int32_System.Boolean"}}}}}}}},"/api/orders/{id}/state":{"patch":{"tags":["OrderApi"],"summary":"Starts, pauses or completes an order from the mobile app. Only the transitions in\nVaruna.Management.App.Controllers.Api.OrderApiController.MobileTransitions are accepted; the response carries the new state.","operationId":"OrderApi_SetState","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetOrderStateRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetOrderStateRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetOrderStateRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/orders/{id}/files":{"get":{"tags":["OrderApi"],"summary":"Lists the order\u0027s digital file (photos, voice notes, dictations, confirmations).","operationId":"OrderApi_GetFiles","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}},"post":{"tags":["OrderApi"],"summary":"Adds a file to the order\u0027s digital file (mobile capture: photo, voice note, dictation).","operationId":"OrderApi_UploadFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/orders/{id}/files/lease":{"get":{"tags":["OrderApi"],"summary":"Time-limited SAS URL for one file of the order\u0027s digital file.","operationId":"OrderApi_GetFileLease","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"blobPath","in":"query","required":true,"schema":{"type":"string"}},{"name":"visibilityMinutes","in":"query","schema":{"type":"integer","format":"int32","default":5}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/orders/{id}/assignees":{"put":{"tags":["OrderApi"],"summary":"Replaces the order\u0027s explicit employee assignment (Digitale Akte \u2192 Mitarbeiter). Returns the\norder with \u0060assignees\u0060, \u0060suggestedAssignees\u0060 and \u0060effectiveAssigneeIds\u0060.","operationId":"OrderApi_SetAssignees","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetOrderAssigneesRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetOrderAssigneesRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetOrderAssigneesRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/orders/{id}/location":{"patch":{"tags":["OrderApi"],"summary":"Updates only the location of an order.","operationId":"OrderApi_UpdateLocation","parameters":[{"name":"id","in":"path","description":"The order ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The location data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.UpdateOrderLocationRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.UpdateOrderLocationRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.UpdateOrderLocationRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/orders/{id}/follow-up":{"patch":{"tags":["OrderApi"],"summary":"Sets a parent order for a follow-up order.","operationId":"OrderApi_SetFollowUp","parameters":[{"name":"id","in":"path","description":"The child order ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The parent order ID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetFollowUpOrderRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetFollowUpOrderRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetFollowUpOrderRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["OrderApi"],"summary":"Clears the follow-up relationship for an order.","operationId":"OrderApi_ClearFollowUp","parameters":[{"name":"id","in":"path","description":"The order ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/orders/from-offer":{"post":{"tags":["OrderApi"],"summary":"Creates an order from an offer.","operationId":"OrderApi_CreateFromOffer","requestBody":{"description":"The offer to convert.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Orders.OrderViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Orders.OrderViewModel"}}}}}}},"/api/orders/from-offer/follow-up":{"post":{"tags":["OrderApi"],"summary":"Creates a follow-up order from an offer with a parent order.","operationId":"OrderApi_CreateFollowUpFromOffer","requestBody":{"description":"The offer and optional parent order ID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.CreateOrderFromOfferRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.CreateOrderFromOfferRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.CreateOrderFromOfferRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Orders.OrderViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Orders.OrderViewModel"}}}}}}},"/api/patients":{"get":{"tags":["PatientApi"],"summary":"Gets all patients.","operationId":"PatientApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}}}}},"post":{"tags":["PatientApi"],"summary":"Creates a new patient.","operationId":"PatientApi_Create","requestBody":{"description":"The patient data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Medical.Patients.PatientViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/paged":{"get":{"tags":["PatientApi"],"summary":"Gets patients with pagination.","operationId":"PatientApi_GetPaged","parameters":[{"name":"page","in":"query","description":"Page number (1-based).","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","description":"Number of items per page.","schema":{"type":"integer","format":"int32","default":20}},{"name":"searchText","in":"query","description":"Optional search text for name filtering.","schema":{"type":"string"}},{"name":"sortColumn","in":"query","description":"Column to sort by.","schema":{"type":"string"}},{"name":"sortDescending","in":"query","description":"Sort direction.","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Core.PagedResult_ViewModels.Medical.Patients.PatientViewModel"}}}}}}},"/api/patients/count":{"get":{"tags":["PatientApi"],"summary":"Gets patient count.","operationId":"PatientApi_GetCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/patients/{id}":{"get":{"tags":["PatientApi"],"summary":"Gets a patient by ID.","operationId":"PatientApi_GetById","parameters":[{"name":"id","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["PatientApi"],"summary":"Updates an existing patient.","operationId":"PatientApi_Update","parameters":[{"name":"id","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated patient data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["PatientApi"],"summary":"Deletes a patient.","operationId":"PatientApi_Delete","parameters":[{"name":"id","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/by-external/{externalId}":{"get":{"tags":["PatientApi"],"summary":"Gets a patient by external ID (GUID).","operationId":"PatientApi_GetByExternalId","parameters":[{"name":"externalId","in":"path","description":"The external ID.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/by-email":{"get":{"tags":["PatientApi"],"summary":"Gets a patient by email.","operationId":"PatientApi_GetByEmail","parameters":[{"name":"email","in":"query","description":"The patient\u0027s email.","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/by-patnr/{patNr}":{"get":{"tags":["PatientApi"],"summary":"Gets a patient by patient number.","operationId":"PatientApi_GetByPatientNumber","parameters":[{"name":"patNr","in":"path","description":"The patient number.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/search":{"get":{"tags":["PatientApi"],"summary":"Searches patients by name.","operationId":"PatientApi_Search","parameters":[{"name":"searchString","in":"query","description":"The search string.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum number of results.","schema":{"type":"integer","format":"int32","default":5}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}}}}}},"/api/patients/find":{"get":{"tags":["PatientApi"],"summary":"Finds a patient by name and birth date.","operationId":"PatientApi_Find","parameters":[{"name":"givenName","in":"query","schema":{"type":"string"}},{"name":"surName","in":"query","schema":{"type":"string"}},{"name":"birthDate","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/import":{"post":{"tags":["PatientApi"],"summary":"Imports a patient with pre-set PatientNr and ExternalId.","operationId":"PatientApi_Import","requestBody":{"description":"The patient data with PatientNr and ExternalId set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/{patNr}/eligibility":{"get":{"tags":["PatientApi"],"summary":"Checks if a patient is eligible (insurance status).","operationId":"PatientApi_CheckEligibility","parameters":[{"name":"patNr","in":"path","description":"The patient number.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.PatientEligibilityResponse"}}}}}}},"/api/patients/{patNr}/contacts":{"get":{"tags":["PatientApi"],"summary":"Gets patient contact information.","operationId":"PatientApi_GetContacts","parameters":[{"name":"patNr","in":"path","description":"The patient number.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientContactViewModel"}}}}}}}},"/api/patients/{patNr}/medication-plan":{"get":{"tags":["PatientApi"],"summary":"Gets the medication plan for a patient.","operationId":"PatientApi_GetMedicationPlan","parameters":[{"name":"patNr","in":"path","description":"The patient number (external PVS identifier).","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"post":{"tags":["PatientApi"],"summary":"Adds a medication plan for a patient.","operationId":"PatientApi_AddMedicationPlan","parameters":[{"name":"patNr","in":"path","description":"The patient number (external PVS identifier).","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The medication plan data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/{patientId}/medication-plan/{medPlanId}":{"delete":{"tags":["PatientApi"],"summary":"Deletes a medication plan.","operationId":"PatientApi_DeleteMedicationPlan","parameters":[{"name":"patientId","in":"path","description":"The patient ID (Patient.Id).","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"medPlanId","in":"path","description":"The medication plan ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/{patientId}/images":{"get":{"tags":["PatientApi"],"summary":"Gets all blob images for a patient.","operationId":"PatientApi_GetImages","parameters":[{"name":"tenantId","in":"query","description":"The tenant ID.","schema":{"type":"integer","format":"int32"}},{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}},"post":{"tags":["PatientApi"],"summary":"Adds a blob image for a patient.","operationId":"PatientApi_AddImage","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The file data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}},"put":{"tags":["PatientApi"],"summary":"Updates a blob image for a patient.","operationId":"PatientApi_UpdateImage","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated file data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}}},"/api/patients/{patientId}/images/lease":{"get":{"tags":["PatientApi"],"summary":"Gets a blob image lease URL.","operationId":"PatientApi_GetImageLease","parameters":[{"name":"tenantId","in":"query","description":"The tenant ID.","schema":{"type":"integer","format":"int32"}},{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"blobPath","in":"query","description":"The blob path.","schema":{"type":"string"}},{"name":"visibilityInMinutes","in":"query","description":"The visibility duration in minutes.","schema":{"type":"integer","format":"int32","default":5}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/patients/{patientId}/images/{fileName}":{"delete":{"tags":["PatientApi"],"summary":"Deletes a blob image for a patient.","operationId":"PatientApi_DeleteImage","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"fileName","in":"path","description":"The file name to delete.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}}},"/api/patients/{patientId}/with-customer":{"get":{"tags":["PatientApi"],"summary":"Gets a patient with linked customer data.","operationId":"PatientApi_GetWithCustomer","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/{patientId}/link-customer/{customerId}":{"post":{"tags":["PatientApi"],"summary":"Links a patient to an existing customer.","operationId":"PatientApi_LinkToCustomer","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/{patientId}/link-customer":{"delete":{"tags":["PatientApi"],"summary":"Unlinks a patient from their customer.","operationId":"PatientApi_UnlinkFromCustomer","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/{patientId}/create-customer":{"post":{"tags":["PatientApi"],"summary":"Creates a customer from patient data.","operationId":"PatientApi_CreateCustomerFromPatient","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/patients/{patientId}/find-matching-customer":{"get":{"tags":["PatientApi"],"summary":"Finds a matching customer for a patient.","operationId":"PatientApi_FindMatchingCustomer","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/products":{"get":{"tags":["ProductApi"],"summary":"Gets all products.","operationId":"ProductApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}}}}}}},"post":{"tags":["ProductApi"],"summary":"Creates a new product.","operationId":"ProductApi_Create","requestBody":{"description":"The product data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Products.ProductViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Persistence.DataResult_ViewModels.Commerce.Products.ProductViewModel"}}}}}}},"/api/products/tenant/{tenantId}":{"get":{"tags":["ProductApi"],"summary":"Gets all products for a specific tenant.","operationId":"ProductApi_GetAllByTenant","parameters":[{"name":"tenantId","in":"path","description":"The tenant ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}}}}}}}},"/api/products/{id}":{"get":{"tags":["ProductApi"],"summary":"Gets a product by ID.","operationId":"ProductApi_GetById","parameters":[{"name":"id","in":"path","description":"The product ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["ProductApi"],"summary":"Updates an existing product.","operationId":"ProductApi_Update","parameters":[{"name":"id","in":"path","description":"The product ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated product data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["ProductApi"],"summary":"Deletes a product.","operationId":"ProductApi_Delete","parameters":[{"name":"id","in":"path","description":"The product ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/products/search":{"get":{"tags":["ProductApi"],"summary":"Searches products by search term.","operationId":"ProductApi_Search","parameters":[{"name":"term","in":"query","description":"The search term.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum number of results (default: 50).","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}}}}}}}},"/api/products/by-name/{name}":{"get":{"tags":["ProductApi"],"summary":"Gets products by name.","operationId":"ProductApi_GetByName","parameters":[{"name":"name","in":"path","description":"The product name.","required":true,"schema":{"type":"string"}},{"name":"exactMatch","in":"query","description":"Whether to match exactly (default: false).","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}}}}}}}},"/api/products/by-sku/{sku}":{"get":{"tags":["ProductApi"],"summary":"Gets products by SKU.","operationId":"ProductApi_GetBySku","parameters":[{"name":"sku","in":"path","description":"The SKU.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}}}}}}}},"/api/products/exists":{"get":{"tags":["ProductApi"],"summary":"Checks if a product with the given name exists.","operationId":"ProductApi_Exists","parameters":[{"name":"name","in":"query","description":"The product name.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/products/{id}/history":{"get":{"tags":["ProductApi"],"summary":"Gets the change history for a product.","operationId":"ProductApi_GetHistory","parameters":[{"name":"id","in":"path","description":"The product ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}}}}}}}},"/api/projects":{"get":{"tags":["ProjectApi"],"summary":"Gets projects.","operationId":"ProjectApi_GetAll","parameters":[{"name":"includeArchived","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewModel"}}}}}}}},"/api/projects/{id}":{"get":{"tags":["ProjectApi"],"summary":"Gets a project by ID.","operationId":"ProjectApi_GetById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/projects/{id}/status":{"patch":{"tags":["ProjectApi"],"summary":"Starts, pauses or completes a project from the mobile app.","operationId":"ProjectApi_SetStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetProjectStatusRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetProjectStatusRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetProjectStatusRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/projects/{id}/lots":{"get":{"tags":["ProjectApi"],"summary":"The project\u0027s steps (Gewerke/Lose) in working order.","operationId":"ProjectApi_GetLots","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectLotViewModel"}}}}}}}},"/api/projects/{id}/lots/{lotId}/status":{"patch":{"tags":["ProjectApi"],"summary":"Executes one step: the lot moves to InProgress or Completed. A lot that belongs to a different\nproject answers 404 so a stale id from the phone can never touch another project.","operationId":"ProjectApi_SetLotStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"lotId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetProjectLotStatusRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetProjectLotStatusRequest"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/App.Controllers.Api.SetProjectLotStatusRequest"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectLotViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/projects/{id}/files":{"get":{"tags":["ProjectApi"],"summary":"Gets all files for a project.","operationId":"ProjectApi_GetFiles","parameters":[{"name":"id","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}},"post":{"tags":["ProjectApi"],"summary":"Uploads a new file for a project.","operationId":"ProjectApi_UploadFile","parameters":[{"name":"id","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The file data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}},"put":{"tags":["ProjectApi"],"summary":"Updates an existing file for a project.","operationId":"ProjectApi_UpdateFile","parameters":[{"name":"id","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated file data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}}},"/api/projects/{id}/files/{fileName}":{"get":{"tags":["ProjectApi"],"summary":"Gets a specific file by filename.","operationId":"ProjectApi_GetFile","parameters":[{"name":"id","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"fileName","in":"path","description":"The filename.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["ProjectApi"],"summary":"Deletes a file for a project.","operationId":"ProjectApi_DeleteFile","parameters":[{"name":"id","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"fileName","in":"path","description":"The filename to delete.","required":true,"schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}}}}}}}},"/api/projects/{id}/files/lease":{"get":{"tags":["ProjectApi"],"summary":"Gets a SAS lease URL for a project file.","operationId":"ProjectApi_GetFileLease","parameters":[{"name":"id","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"blobPath","in":"query","description":"The blob path.","required":true,"schema":{"type":"string"}},{"name":"visibilityMinutes","in":"query","description":"Lease duration in minutes (default: 5).","schema":{"type":"integer","format":"int32","default":5}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/suppliers":{"get":{"tags":["SupplierApi"],"summary":"Gets all suppliers.","operationId":"SupplierApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}}}}}}},"post":{"tags":["SupplierApi"],"summary":"Creates a new supplier.","operationId":"SupplierApi_Create","requestBody":{"description":"The supplier data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/suppliers/count":{"get":{"tags":["SupplierApi"],"summary":"Gets supplier count.","operationId":"SupplierApi_GetCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/suppliers/{id}":{"get":{"tags":["SupplierApi"],"summary":"Gets a supplier by ID.","operationId":"SupplierApi_GetById","parameters":[{"name":"id","in":"path","description":"The supplier ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["SupplierApi"],"summary":"Updates an existing supplier.","operationId":"SupplierApi_Update","parameters":[{"name":"id","in":"path","description":"The supplier ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated supplier data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["SupplierApi"],"summary":"Deletes a supplier.","operationId":"SupplierApi_Delete","parameters":[{"name":"id","in":"path","description":"The supplier ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/suppliers/active":{"get":{"tags":["SupplierApi"],"summary":"Gets all active suppliers.","operationId":"SupplierApi_GetActive","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}}}}}}}},"/api/suppliers/search":{"get":{"tags":["SupplierApi"],"summary":"Searches suppliers by text.","operationId":"SupplierApi_Search","parameters":[{"name":"searchText","in":"query","description":"The search text.","schema":{"type":"string"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}}}}}}}},"/api/suppliers/expiring-contracts":{"get":{"tags":["SupplierApi"],"summary":"Gets suppliers with expiring contracts.","operationId":"SupplierApi_GetExpiringContracts","parameters":[{"name":"months","in":"query","description":"Number of months to look ahead.","schema":{"type":"integer","format":"int32","default":1}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}}}}}}}},"/api/suppliers/expired-contracts":{"get":{"tags":["SupplierApi"],"summary":"Gets suppliers with expired contracts.","operationId":"SupplierApi_GetExpiredContracts","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"}}}}}}}},"/api/crm/tasks":{"get":{"tags":["TasksApi"],"summary":"Gets all tasks.","operationId":"TasksApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}}}}}}},"post":{"tags":["TasksApi"],"summary":"Creates a new task.","operationId":"TasksApi_Create","requestBody":{"description":"The task data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/crm/tasks/by-customer/{customerId}":{"get":{"tags":["TasksApi"],"summary":"Gets tasks for a customer.","operationId":"TasksApi_GetByCustomer","parameters":[{"name":"customerId","in":"path","description":"The customer ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}}}}}}}},"/api/crm/tasks/tenant/{tenantId}":{"post":{"tags":["TasksApi"],"summary":"Creates a task for a specific tenant.","operationId":"TasksApi_CreateForTenant","parameters":[{"name":"tenantId","in":"path","description":"The tenant ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The task data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/crm/tasks/from-form":{"post":{"tags":["TasksApi"],"summary":"Creates a task from a form.","operationId":"TasksApi_CreateFromForm","parameters":[{"name":"formId","in":"query","description":"Optional form ID.","schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The task data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/crm/tasks/for-entity":{"post":{"tags":["TasksApi"],"summary":"Creates a task linked back to an arbitrary source entity (polymorphic reference).\nUsed so the task editor can offer a \u0022jump to source\u0022 action.","operationId":"TasksApi_CreateForEntity","parameters":[{"name":"entityType","in":"query","description":"Discriminator from \u0060EntityLabelEntityTypes\u0060 (e.g. \u0022Order\u0022, \u0022Project\u0022, \u0022Customer\u0022).","schema":{"type":"string"}},{"name":"entityId","in":"query","description":"Id of the referenced entity.","schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The task data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/crm/tasks/{id}":{"put":{"tags":["TasksApi"],"summary":"Updates an existing task.","operationId":"TasksApi_Update","parameters":[{"name":"id","in":"path","description":"The task ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated task data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/crm/tasks/{taskId}":{"delete":{"tags":["TasksApi"],"summary":"Deletes a task.","operationId":"TasksApi_Delete","parameters":[{"name":"taskId","in":"path","description":"The task ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/crm/tasks/{taskId}/status":{"post":{"tags":["TasksApi"],"summary":"Changes the state of a task.","operationId":"TasksApi_ChangeState","parameters":[{"name":"taskId","in":"path","description":"The task ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"status","in":"query","description":"The new status.","schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskStatus"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/crm/tasks/{taskId}/priority":{"post":{"tags":["TasksApi"],"summary":"Changes the priority of a task.","operationId":"TasksApi_ChangePriority","parameters":[{"name":"taskId","in":"path","description":"The task ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"priority","in":"query","description":"The new priority.","schema":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskPriority"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/units":{"get":{"tags":["UnitApi"],"summary":"Gets all units.","operationId":"UnitApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"}}}}}}},"post":{"tags":["UnitApi"],"summary":"Creates a new unit.","operationId":"UnitApi_Create","requestBody":{"description":"The unit data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/units/{id}":{"get":{"tags":["UnitApi"],"summary":"Gets a unit by ID.","operationId":"UnitApi_GetById","parameters":[{"name":"id","in":"path","description":"The unit ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"put":{"tags":["UnitApi"],"summary":"Updates an existing unit.","operationId":"UnitApi_Update","parameters":[{"name":"id","in":"path","description":"The unit ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"The updated unit data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"}},"application/*\u002Bjson":{"schema":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"}}}},"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}},"delete":{"tags":["UnitApi"],"summary":"Deletes a unit.","operationId":"UnitApi_Delete","parameters":[{"name":"id","in":"path","description":"The unit ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Varuna.Persistence.Result"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/waiting-room":{"get":{"tags":["WaitingRoomApi"],"summary":"Gets all waiting room entries.","operationId":"WaitingRoomApi_GetAll","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.WaitingRoomEntryViewModel"}}}}}}}},"/api/waiting-room/count":{"get":{"tags":["WaitingRoomApi"],"summary":"Gets the waiting room count.","operationId":"WaitingRoomApi_GetCount","responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/waiting-room/by-patient/{patientId}":{"get":{"tags":["WaitingRoomApi"],"summary":"Gets waiting room entries for a patient.","operationId":"WaitingRoomApi_GetByPatient","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.WaitingRoomEntryViewModel"}}}}}}},"delete":{"tags":["WaitingRoomApi"],"summary":"Removes all entries for a patient.","operationId":"WaitingRoomApi_RemovePatient","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}}}},"/api/waiting-room/check/{patientId}":{"get":{"tags":["WaitingRoomApi"],"summary":"Checks if a patient is in any waiting room.","operationId":"WaitingRoomApi_IsPatientInWaitingRoom","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/waiting-room/{patientId}":{"post":{"tags":["WaitingRoomApi"],"summary":"Adds a patient to the waiting room.","operationId":"WaitingRoomApi_AddToWaitingRoom","parameters":[{"name":"patientId","in":"path","description":"The patient ID.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"roomName","in":"query","description":"The room name.","schema":{"type":"string","default":"Wartezimmer"}},{"name":"roomIcon","in":"query","description":"The room icon.","schema":{"type":"string","default":"chair"}},{"name":"roomColor","in":"query","description":"The room color.","schema":{"type":"string","default":"Primary"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.WaitingRoomEntryViewModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}},"/api/waiting-room/{entryId}":{"delete":{"tags":["WaitingRoomApi"],"summary":"Removes a waiting room entry.","operationId":"WaitingRoomApi_Remove","parameters":[{"name":"entryId","in":"path","description":"The entry ID.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"200":{"description":"OK"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}},"components":{"schemas":{"App.Controllers.Api.AcceptOfferRequest":{"type":"object","properties":{"signatureDataUrl":{"type":"string","nullable":true},"signerName":{"type":"string","nullable":true},"note":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Body of M:Varuna.Management.App.Controllers.Api.OfferApiController.Accept(System.Int32,Varuna.Management.App.Controllers.Api.OfferApiController.AcceptOfferRequest,System.Threading.CancellationToken). SignatureDataUrl is the customer\u0027s signature as\nPNG data URL; without it the offer is converted on the employee\u0027s word (verbal or written order)."},"App.Controllers.Api.AcceptOfferResponse":{"type":"object","properties":{"offerId":{"type":"integer","format":"int32"},"orderId":{"type":"integer","format":"int32"},"orderNumber":{"type":"string","nullable":true},"signaturePath":{"type":"string","nullable":true},"confirmationPath":{"type":"string","nullable":true}},"additionalProperties":false},"App.Controllers.Api.AddCommunicationRequest":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/Homepage.ViewModels.Communication.CommunicationType"},"status":{"$ref":"#/components/schemas/Homepage.ViewModels.Communication.CommunicationStatus"},"channel":{"type":"string","nullable":true},"receiver":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"correlationId":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false,"description":"Request model for adding customer communication."},"App.Controllers.Api.AddStockRequest":{"type":"object","properties":{"quantity":{"type":"number","format":"double"},"shelf":{"type":"string","nullable":true},"lotNumber":{"type":"string","nullable":true},"serialNumber":{"type":"string","nullable":true},"reference":{"type":"string","nullable":true},"referenceType":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryReferenceTypeViewModel"},"userId":{"type":"string","nullable":true},"userName":{"type":"string","nullable":true},"unitCostNet":{"type":"number","format":"double","nullable":true}},"additionalProperties":false},"App.Controllers.Api.AdjustStockRequest":{"type":"object","properties":{"quantityChange":{"type":"number","format":"double"},"transactionType":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryTransactionTypeViewModel"},"reason":{"type":"string","nullable":true},"reference":{"type":"string","nullable":true},"referenceType":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryReferenceTypeViewModel"},"userId":{"type":"string","nullable":true},"userName":{"type":"string","nullable":true},"unitCostNet":{"type":"number","format":"double","nullable":true}},"additionalProperties":false},"App.Controllers.Api.CreateOrderFromOfferRequest":{"type":"object","properties":{"offer":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"},"parentOrderId":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false,"description":"Request model for creating an order from an offer with optional parent."},"App.Controllers.Api.CreateSharedHouseRequest":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"},"nursingService":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"}},"additionalProperties":false,"description":"Request model for creating a shared house."},"App.Controllers.Api.CustomerAddressSearchRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"street":{"type":"string","nullable":true},"zip":{"type":"string","nullable":true},"city":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Request model for searching customers by address."},"App.Controllers.Api.GenerateSlotsRequest":{"type":"object","properties":{"calendarId":{"type":"integer","format":"int32"},"appointmentTypeId":{"type":"integer","format":"int32"},"startTime":{"type":"string","format":"date-time"},"endTime":{"type":"string","format":"date-time"},"sessionDuration":{"type":"string","format":"date-span"}},"additionalProperties":false,"description":"Request model for generating appointment slots."},"App.Controllers.Api.GenerateXRechnungRequest":{"required":["invoice"],"type":"object","properties":{"invoice":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"},"order":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}},"additionalProperties":false,"description":"Request model for XRechnung generation."},"App.Controllers.Api.MoveToShelfRequest":{"type":"object","properties":{"itemIds":{"type":"array","items":{"type":"integer","format":"int32"},"nullable":true},"newShelf":{"type":"string","nullable":true},"userId":{"type":"string","nullable":true},"userName":{"type":"string","nullable":true}},"additionalProperties":false},"App.Controllers.Api.PatientEligibilityResponse":{"type":"object","properties":{"gkOk":{"type":"boolean"},"isPrivat":{"type":"boolean"},"patNr":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Response model for patient eligibility check."},"App.Controllers.Api.SetFollowUpOrderRequest":{"type":"object","properties":{"parentOrderId":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Request model for setting a follow-up order."},"App.Controllers.Api.SetOrderAssigneesRequest":{"type":"object","properties":{"userIds":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false,"description":"Employees explicitly assigned to an order; an empty list clears the assignment."},"App.Controllers.Api.SetOrderStateRequest":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderState"}},"additionalProperties":false,"description":"Request model for the mobile state buttons (\u0022Beginnen\u0022, \u0022Fertigstellen\u0022)."},"App.Controllers.Api.SetProjectLotStatusRequest":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.LotStatusViewModel"}},"additionalProperties":false,"description":"Request model for advancing one project step (Gewerk/Los) from the mobile app."},"App.Controllers.Api.SetProjectStatusRequest":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectStatus"}},"additionalProperties":false,"description":"Request model for the mobile project buttons (\u0022Beginnen\u0022, \u0022Beenden\u0022)."},"App.Controllers.Api.TransferItemRequest":{"type":"object","properties":{"newShelf":{"type":"string","nullable":true},"userId":{"type":"string","nullable":true},"userName":{"type":"string","nullable":true},"reason":{"type":"string","nullable":true}},"additionalProperties":false},"App.Controllers.Api.UpdateAttachmentRequest":{"type":"object","properties":{"form":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.FormBaseViewModel"},"file":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"}},"additionalProperties":false,"description":"Request model for updating a form attachment."},"App.Controllers.Api.UpdateCategoryRequest":{"type":"object","properties":{"itemIds":{"type":"array","items":{"type":"integer","format":"int32"},"nullable":true},"categoryId":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"App.Controllers.Api.UpdateOrderLocationRequest":{"type":"object","properties":{"latitude":{"type":"number","format":"double"},"longitude":{"type":"number","format":"double"}},"additionalProperties":false,"description":"Request model for updating order location."},"App.Controllers.Api.WithdrawStockRequest":{"type":"object","properties":{"quantity":{"type":"number","format":"double"},"reference":{"type":"string","nullable":true},"referenceType":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryReferenceTypeViewModel"},"userId":{"type":"string","nullable":true},"userName":{"type":"string","nullable":true}},"additionalProperties":false},"Azure.Core.GeoJson.GeoPosition":{"type":"object","properties":{"altitude":{"type":"number","format":"double","nullable":true,"readOnly":true},"longitude":{"type":"number","format":"double"},"latitude":{"type":"number","format":"double"},"count":{"type":"integer","format":"int32","readOnly":true}},"additionalProperties":false},"Blazorise.TextColor":{"type":"object","properties":{"name":{"type":"string","nullable":true},"parentEnumeration":{"$ref":"#/components/schemas/Blazorise.TextColor"},"utilityTarget":{"$ref":"#/components/schemas/Blazorise.UtilityTarget"},"isCssValue":{"type":"boolean","readOnly":true},"onSelf":{"$ref":"#/components/schemas/Blazorise.TextColor"},"onWrapper":{"$ref":"#/components/schemas/Blazorise.TextColor"},"emphasis":{"$ref":"#/components/schemas/Blazorise.TextColor"}},"additionalProperties":false},"Blazorise.UtilityTarget":{"enum":[0,1],"type":"integer","format":"int32"},"Core.PagedResult_ViewModels.Medical.Patients.PatientViewModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"},"unfilteredTotalCount":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32","readOnly":true},"hasPreviousPage":{"type":"boolean","readOnly":true},"hasNextPage":{"type":"boolean","readOnly":true}},"additionalProperties":false},"Generic.KeyValuePair_System.String_System.Object":{"type":"object","properties":{"key":{"type":"string","nullable":true},"value":{"nullable":true}},"additionalProperties":false},"Homepage.ViewModels.Communication.CommunicationDirection":{"enum":[0,1],"type":"integer","format":"int32"},"Homepage.ViewModels.Communication.CommunicationStatus":{"enum":[0,1,2,3,9,10],"type":"integer","format":"int32"},"Homepage.ViewModels.Communication.CommunicationType":{"enum":[1,2,3,4,5,6,7,8,9,10,11,99,100,101],"type":"integer","format":"int32"},"Homepage.ViewModels.Core.IPatientHeadData":{"type":"object","properties":{"surname":{"type":"string","nullable":true},"givenname":{"type":"string","nullable":true},"birthday":{"type":"string","format":"date-time","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true}},"additionalProperties":false},"Homepage.ViewModels.Core.InventoryAlertViewModel":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string","nullable":true},"currentStock":{"type":"number","format":"double"},"reorderLevel":{"type":"integer","format":"int32"},"status":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.StockStatus"},"shelf":{"type":"string","nullable":true},"categoryName":{"type":"string","nullable":true}},"additionalProperties":false},"Homepage.ViewModels.Core.InventoryCategoryViewModel":{"required":["name"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string"},"description":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"icon":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"color":{"maxLength":9,"minLength":0,"type":"string","nullable":true},"displayOrder":{"maximum":9999,"minimum":0,"type":"integer","format":"int32"},"itemCount":{"type":"integer","format":"int32"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Core.InventoryDashboardViewModel":{"type":"object","properties":{"totalItems":{"type":"integer","format":"int32"},"inStockCount":{"type":"integer","format":"int32"},"lowStockCount":{"type":"integer","format":"int32"},"outOfStockCount":{"type":"integer","format":"int32"},"totalValue":{"type":"number","format":"double"},"categoryCount":{"type":"integer","format":"int32"},"supplierCount":{"type":"integer","format":"int32"},"alerts":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryAlertViewModel"},"nullable":true},"recentTransactions":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryTransactionViewModel"},"nullable":true}},"additionalProperties":false},"Homepage.ViewModels.Core.InventoryItemViewModel":{"required":["name"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string"},"description":{"maxLength":2000,"minLength":0,"type":"string","format":"multiline","nullable":true},"sku":{"maxLength":64,"minLength":0,"type":"string","nullable":true},"barcode":{"maxLength":64,"minLength":0,"type":"string","nullable":true},"serialNumber":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"lotNumber":{"maxLength":200,"minLength":0,"type":"string","nullable":true},"amount":{"type":"integer","format":"int32"},"quantityOnHand":{"type":"number","format":"double"},"reorderLevel":{"maximum":2147483647,"minimum":0,"type":"integer","format":"int32"},"shelf":{"maxLength":32,"minLength":0,"type":"string","nullable":true},"unit":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"manufacturer":{"maxLength":200,"minLength":0,"type":"string","nullable":true},"packageSize":{"maximum":2147483647,"minimum":0,"type":"integer","format":"int32"},"averageMonthlyUse":{"maximum":2147483647,"minimum":0,"type":"integer","format":"int32"},"price":{"type":"number","format":"currency"},"averageCostNet":{"type":"number","format":"double","nullable":true},"lastPurchasePriceNet":{"type":"number","format":"double","nullable":true},"inventoryValueNet":{"type":"number","format":"double","nullable":true,"readOnly":true},"notes":{"maxLength":2000,"minLength":0,"type":"string","format":"multiline","nullable":true},"lastCheck":{"type":"string","format":"date","nullable":true},"categoryId":{"type":"integer","format":"int32","nullable":true},"categoryName":{"type":"string","nullable":true},"categoryColor":{"type":"string","nullable":true},"supplierId":{"type":"integer","format":"int32","nullable":true},"supplierName":{"type":"string","nullable":true},"productId":{"type":"integer","format":"int32","nullable":true},"productName":{"type":"string","nullable":true},"inventoryType":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryTypeViewModel"},"isNegativeStock":{"type":"boolean","readOnly":true},"isLowStock":{"type":"boolean","readOnly":true},"isOutOfStock":{"type":"boolean","readOnly":true},"isInStock":{"type":"boolean","readOnly":true},"stockStatus":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.StockStatus"},"stockStatusText":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Core.InventoryReferenceTypeViewModel":{"enum":[0,1,2,3,4,5,6,7,8,9,10],"type":"integer","format":"int32"},"Homepage.ViewModels.Core.InventoryTransactionTypeViewModel":{"enum":[1,2,3,4],"type":"integer","format":"int32"},"Homepage.ViewModels.Core.InventoryTransactionViewModel":{"type":"object","properties":{"inventoryItemId":{"type":"integer","format":"int32"},"inventoryItemName":{"type":"string","nullable":true},"transactionType":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryTransactionTypeViewModel"},"quantity":{"type":"integer","format":"int32"},"previousQuantity":{"type":"integer","format":"int32"},"newQuantity":{"type":"integer","format":"int32"},"quantityExact":{"type":"number","format":"double"},"previousQuantityExact":{"type":"number","format":"double"},"newQuantityExact":{"type":"number","format":"double"},"reason":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"unitCostNet":{"type":"number","format":"currency","nullable":true},"totalCostNet":{"type":"number","format":"currency","nullable":true},"runningAverageCostNet":{"type":"number","format":"currency","nullable":true},"reference":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"referenceType":{"$ref":"#/components/schemas/Homepage.ViewModels.Core.InventoryReferenceTypeViewModel"},"previousShelf":{"maxLength":32,"minLength":0,"type":"string","nullable":true},"newShelf":{"maxLength":32,"minLength":0,"type":"string","nullable":true},"userId":{"type":"string","nullable":true},"userName":{"type":"string","nullable":true},"timestamp":{"type":"string","format":"date-time"},"transactionTypeText":{"type":"string","nullable":true,"readOnly":true},"transactionTypeIcon":{"type":"string","nullable":true,"readOnly":true},"transactionTypeColor":{"type":"string","nullable":true,"readOnly":true},"referenceTypeText":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Core.InventoryTypeViewModel":{"enum":[0,1,2,3,4,5,99],"type":"integer","format":"int32"},"Homepage.ViewModels.Core.StockStatus":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"Homepage.ViewModels.EntityLabels.EntityLabelAssignmentViewModel":{"required":["entityId","entityType","labelId"],"type":"object","properties":{"entityId":{"type":"integer","format":"int32"},"entityType":{"maxLength":100,"minLength":0,"type":"string"},"labelId":{"type":"integer","format":"int32"},"assignedAt":{"type":"string","format":"date-time"},"assignedBy":{"type":"string","format":"uuid","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.EntityLabels.EntityLabelTypeViewModel":{"enum":[0,1,2,99],"type":"integer","format":"int32"},"Homepage.ViewModels.EntityLabels.EntityLabelViewModel":{"required":["name","type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelTypeViewModel"},"name":{"maxLength":100,"minLength":0,"type":"string"},"description":{"maxLength":500,"minLength":0,"type":"string","format":"multiline","nullable":true},"color":{"maxLength":9,"minLength":0,"type":"string","nullable":true},"icon":{"$ref":"#/components/schemas/Shared.ViewModels.Icons.IconRef"},"parentId":{"type":"integer","format":"int32","nullable":true},"sortOrder":{"type":"integer","format":"int32"},"isSystem":{"type":"boolean"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Forms.AggregatedView":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"externalUserRefNumber":{"type":"integer","format":"int32"},"userRefNumber":{"type":"integer","format":"int32","nullable":true},"surname":{"type":"string","nullable":true},"givenname":{"type":"string","nullable":true},"fullName":{"type":"string","nullable":true,"readOnly":true},"created":{"type":"string","format":"date-time"},"modified":{"type":"string","format":"date-time"},"editor":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"creator":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"hasAttachments":{"type":"boolean"},"chipcardValid":{"type":"boolean","nullable":true},"isPrivate":{"type":"boolean","nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"orderId":{"type":"integer","format":"int32","nullable":true},"caseId":{"type":"integer","format":"int32","nullable":true},"supplierId":{"type":"integer","format":"int32","nullable":true},"isRestricted":{"type":"boolean"},"ownerUserId":{"type":"string","nullable":true},"patientInformed":{"type":"boolean"},"attachmentIds":{"type":"array","items":{"type":"integer","format":"int32"},"nullable":true},"status":{"$ref":"#/components/schemas/ViewModels.Content.Pages.ProcessingStatus"},"canGetAnswered":{"type":"boolean"},"associatedTasks":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"},"nullable":true},"communicationPreferences":{"type":"object","additionalProperties":{"type":"boolean"},"nullable":true},"formName":{"type":"string"}},"additionalProperties":false},"Homepage.ViewModels.Forms.AppointmentCommunicationViewModel":{"type":"object","properties":{"appointmentStatus":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentStatus"},"phone":{"type":"string","nullable":true},"mobile":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"givenname":{"type":"string","nullable":true},"surname":{"type":"string","nullable":true},"notes":{"maxLength":300,"minLength":0,"type":"string","nullable":true},"appointmentName":{"type":"string","nullable":true},"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"resourceName":{"type":"string","nullable":true},"magicConfirmationLink":{"type":"string","nullable":true},"magicRejectionLink":{"type":"string","nullable":true},"magicResponseLink":{"type":"string","nullable":true},"created":{"type":"string","format":"date-time"}},"additionalProperties":false},"Homepage.ViewModels.Forms.BlazoriseColor":{"enum":[0,1,2,3,4,5,6,7,8],"type":"integer","format":"int32"},"Homepage.ViewModels.Forms.CustomFormAddressData":{"required":["city","street","zipCode"],"type":"object","properties":{"street":{"maxLength":30,"minLength":0,"type":"string"},"zipCode":{"maxLength":12,"minLength":0,"type":"string"},"city":{"maxLength":80,"minLength":0,"type":"string"},"changeNote":{"maxLength":500,"minLength":0,"type":"string","format":"multiline","nullable":true}},"additionalProperties":false},"Homepage.ViewModels.Forms.CustomFormHeadData":{"required":["givenname","surname"],"type":"object","properties":{"isBusinessAccount":{"type":"boolean"},"company":{"maxLength":200,"minLength":0,"type":"string","nullable":true},"salutation":{"$ref":"#/components/schemas/Varuna.Homepage.ViewModels.Salutation"},"title":{"type":"string","nullable":true},"surname":{"maxLength":30,"minLength":0,"type":"string"},"givenname":{"maxLength":30,"minLength":0,"type":"string"},"email":{"maxLength":128,"minLength":0,"type":"string","format":"email","nullable":true},"phone":{"maxLength":20,"minLength":0,"pattern":"^[\\d\\s\\-\\\u002B\\(\\)\\/]{5,20}$","type":"string","nullable":true},"mobile":{"maxLength":20,"minLength":0,"pattern":"^[\\d\\s\\-\\\u002B\\(\\)\\/]{5,20}$","type":"string","nullable":true},"allowWhatsApp":{"type":"boolean"},"responseChannel":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.SuggestionChannel"},"birthday":{"type":"string","format":"date","nullable":true},"birthdayFriendly":{"type":"string","nullable":true,"readOnly":true},"showCommData":{"type":"boolean"},"showBirthday":{"type":"boolean"},"showCommDataOptional":{"type":"boolean"},"showBirthdayOptional":{"type":"boolean"},"commDataOptional":{"type":"boolean","readOnly":true}},"additionalProperties":false},"Homepage.ViewModels.Forms.CustomFormMetadata":{"required":["title"],"type":"object","properties":{"showHeadData":{"type":"boolean"},"showBirthdate":{"type":"boolean"},"showCommData":{"type":"boolean"},"showBirthdateOptional":{"type":"boolean"},"showCommDataOptional":{"type":"boolean"},"isBusinessAccount":{"type":"boolean"},"showAddressData":{"type":"boolean"},"validateHeadData":{"type":"boolean"},"assignCustomer":{"type":"boolean"},"allowUploadFiles":{"type":"boolean"},"uploadFieldLabel":{"maxLength":35,"minLength":0,"type":"string","nullable":true},"requireSignature":{"type":"boolean"},"signatureFieldLabel":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"helpCallout":{"maxLength":1000,"minLength":0,"type":"string","nullable":true},"helpCalloutColor":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.BlazoriseColor"},"title":{"maxLength":200,"minLength":0,"type":"string"},"subtitle":{"maxLength":200,"minLength":0,"type":"string","nullable":true},"beforeHeadForm":{"maxLength":1200,"minLength":0,"type":"string","format":"multiline","nullable":true},"beforeForm":{"maxLength":1200,"minLength":0,"type":"string","format":"multiline","nullable":true},"confirmText":{"maxLength":1200,"minLength":0,"type":"string","format":"multiline","nullable":true},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Varuna.Shared.ViewModels.PropertySettings"},"nullable":true}},"additionalProperties":false},"Homepage.ViewModels.Forms.CustomFormViewModel":{"type":"object","properties":{"mobileAssignment":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.MobileFormAssignment"},"metaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormMetadata"},"headData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormHeadData"},"addressData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormAddressData"},"fileUploads":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"},"nullable":true},"hasAttachments":{"type":"boolean","readOnly":true},"signatureData":{"type":"string","nullable":true},"userReferenceId":{"nullable":true},"userReferenceType":{"$ref":"#/components/schemas/System.Type"},"linkSourceType":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.FormLinkSourceType"},"linkSourceId":{"type":"integer","format":"int32","nullable":true},"processHeadData":{"type":"boolean","readOnly":true},"processBirthday":{"type":"boolean","readOnly":true},"processCommData":{"type":"boolean","readOnly":true},"validateHeadData":{"type":"boolean","readOnly":true},"allowUploadFiles":{"type":"boolean","readOnly":true},"template":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Varuna.Shared.ViewModels.PropertySettings"},"nullable":true,"readOnly":true},"propertyValues":{"$ref":"#/components/schemas/Varuna.Shared.ViewModels.DynamicDictionary"},"serializedProperties":{"type":"string","nullable":true,"readOnly":true},"serializedValues":{"type":"string","nullable":true},"handwritingMetaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.HandwritingFormMetadata"},"isHandwritingForm":{"type":"boolean","readOnly":true},"handwritingData":{"type":"string","nullable":true},"hasHandwritingData":{"type":"boolean","readOnly":true},"canvasImageData":{"type":"string","nullable":true},"ocrStatus":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.OcrProcessingStatus"},"ocrRecognizedText":{"type":"string","nullable":true},"ocrErrorMessage":{"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Forms.FormBaseViewModel":{"type":"object","properties":{"fileUploads":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"},"nullable":true},"hasAttachments":{"type":"boolean","readOnly":true},"status":{"$ref":"#/components/schemas/ViewModels.Content.Pages.ProcessingStatus"},"patientInformed":{"type":"boolean"},"answer":{"type":"string","nullable":true},"editor":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"creator":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"modified":{"type":"string","format":"date-time","nullable":true},"created":{"type":"string","format":"date-time"},"surname":{"type":"string","nullable":true},"givenname":{"type":"string","nullable":true},"birthday":{"type":"string","format":"date-time","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"properties":{"type":"string","nullable":true},"handwritingData":{"type":"string","nullable":true},"canvasImageData":{"type":"string","nullable":true},"customerId":{"type":"integer","format":"int32","nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"orderId":{"type":"integer","format":"int32","nullable":true},"caseId":{"type":"integer","format":"int32","nullable":true},"metaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormMetadata"},"handwritingMetaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.HandwritingFormMetadata"},"signatureData":{"type":"string","nullable":true,"readOnly":true},"isHandwritingForm":{"type":"boolean","readOnly":true},"formName":{"type":"string","nullable":true,"readOnly":true},"responses":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Content.Pages.EmailResponseViewModel"},"nullable":true},"associatedTasks":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"},"nullable":true},"template":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"},"isInternal":{"type":"boolean"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Forms.FormLinkSourceType":{"enum":[1,2],"type":"integer","format":"int32"},"Homepage.ViewModels.Forms.FormResponseStage":{"enum":[1,2],"type":"integer","format":"int32"},"Homepage.ViewModels.Forms.HandwritingFormMetadata":{"required":["title"],"type":"object","properties":{"mode":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.HandwritingFormMode"},"title":{"maxLength":200,"minLength":0,"type":"string"},"subtitle":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"pdfBackgroundBlobId":{"type":"string","nullable":true},"canvasWidth":{"maximum":2000,"minimum":400,"type":"integer","format":"int32"},"canvasHeight":{"maximum":3000,"minimum":400,"type":"integer","format":"int32"},"strokeColor":{"maxLength":7,"minLength":0,"type":"string","nullable":true},"strokeWidth":{"maximum":10,"minimum":1,"type":"integer","format":"int32"},"regions":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.HandwritingRegion"},"nullable":true},"allowClear":{"type":"boolean"},"showUndoButton":{"type":"boolean"},"enableOcrAfterSubmit":{"type":"boolean"},"confirmText":{"maxLength":1200,"minLength":0,"type":"string","format":"multiline","nullable":true}},"additionalProperties":false},"Homepage.ViewModels.Forms.HandwritingFormMode":{"enum":[0,1],"type":"integer","format":"int32"},"Homepage.ViewModels.Forms.HandwritingRegion":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"x":{"maximum":100,"minimum":0,"type":"number","format":"double"},"y":{"maximum":100,"minimum":0,"type":"number","format":"double"},"width":{"maximum":100,"minimum":1,"type":"number","format":"double"},"height":{"maximum":100,"minimum":1,"type":"number","format":"double"},"fieldMapping":{"type":"string","nullable":true},"expectedDataType":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DataType"}},"additionalProperties":false},"Homepage.ViewModels.Forms.MobileFormAssignment":{"type":"object","properties":{"customerId":{"type":"integer","format":"int32","nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"orderId":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Homepage.ViewModels.Forms.OcrProcessingStatus":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"Homepage.ViewModels.Management.FileUploadDataViewModel":{"required":["friendlyName","name"],"type":"object","properties":{"friendlyName":{"maxLength":128,"minLength":0,"type":"string","readOnly":true},"folderPath":{"type":"string","nullable":true,"readOnly":true},"name":{"maxLength":128,"minLength":0,"type":"string"},"summary":{"type":"string","nullable":true},"sharingMode":{"type":"string","nullable":true},"sharingCode":{"type":"string","nullable":true},"sharedWithPortalUserId":{"type":"string","nullable":true},"sharingExpiresAt":{"type":"string","format":"date-time","nullable":true},"isSharingActive":{"type":"boolean","readOnly":true},"retentionExpiresAt":{"type":"string","format":"date-time","nullable":true},"deletedAt":{"type":"string","format":"date-time","nullable":true},"isRetentionExpired":{"type":"boolean","readOnly":true},"isSoftDeleted":{"type":"boolean","readOnly":true},"acknowledgementRequested":{"type":"boolean"},"acknowledgedAt":{"type":"string","format":"date-time","nullable":true},"acknowledgedBy":{"type":"string","nullable":true},"isAcknowledgementPending":{"type":"boolean","readOnly":true},"visibility":{"type":"string","nullable":true},"ownerId":{"type":"string","nullable":true},"ownerName":{"type":"string","nullable":true},"sharedWithUserIds":{"type":"string","nullable":true},"lastModified":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"expiresOn":{"type":"string","format":"date-time"},"hasLease":{"type":"boolean"},"contentLength":{"type":"integer","format":"int64"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"publicMetadata":{"type":"object","additionalProperties":{"type":"string"},"nullable":true,"readOnly":true},"size":{"type":"integer","format":"int64","readOnly":true},"readableFileSize":{"type":"string","nullable":true,"readOnly":true},"contentType":{"maxLength":32,"minLength":0,"type":"string","nullable":true},"isInline":{"type":"boolean"},"data":{"type":"string","format":"byte","nullable":true},"touched":{"type":"boolean"},"importUrl":{"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Notes.NoteOwnerType":{"enum":[1,2,3,4,5,6,7,8],"type":"integer","format":"int32"},"Homepage.ViewModels.Notes.NoteType":{"enum":[0,1,2],"type":"integer","format":"int32"},"Homepage.ViewModels.Notes.NoteViewModel":{"required":["content"],"type":"object","properties":{"ownerType":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteOwnerType"},"ownerId":{"type":"integer","format":"int32"},"content":{"minLength":1,"type":"string"},"noteType":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteType"},"title":{"maxLength":200,"minLength":0,"type":"string","nullable":true},"isPinned":{"type":"boolean"},"authorId":{"type":"string","nullable":true},"authorName":{"type":"string","nullable":true},"noteTypeFriendly":{"type":"string","nullable":true,"readOnly":true},"noteTypeColor":{"type":"string","nullable":true,"readOnly":true},"createdPoint":{"type":"string","format":"date-time"},"changedPoint":{"type":"string","format":"date-time","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Projects.LotStatusViewModel":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"Homepage.ViewModels.Projects.ProjectCustomerRelationViewModel":{"type":"object","properties":{"customerId":{"type":"integer","format":"int32"},"contactId":{"type":"integer","format":"int32","nullable":true},"customerName":{"type":"string","nullable":true},"contactName":{"type":"string","nullable":true},"informativeOnly":{"type":"boolean"},"displayName":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Projects.ProjectLotViewModel":{"required":["name"],"type":"object","properties":{"tenantId":{"type":"integer","format":"int32"},"projectId":{"type":"integer","format":"int32"},"name":{"maxLength":200,"minLength":0,"type":"string"},"description":{"maxLength":2000,"minLength":0,"type":"string","format":"multiline","nullable":true},"sortOrder":{"type":"integer","format":"int32"},"status":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.LotStatusViewModel"},"supplierOfferItems":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.SupplierOfferItemViewModel"},"nullable":true},"totalCost":{"type":"number","format":"double","readOnly":true},"itemCount":{"type":"integer","format":"int32","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Projects.ProjectStatus":{"enum":[0,1,2,3,4,5],"type":"integer","format":"int32"},"Homepage.ViewModels.Projects.ProjectUserRole":{"enum":[0,1],"type":"integer","format":"int32"},"Homepage.ViewModels.Projects.ProjectUserViewModel":{"required":["userId"],"type":"object","properties":{"tenantId":{"type":"integer","format":"int32"},"projectId":{"type":"integer","format":"int32"},"userId":{"maxLength":450,"minLength":0,"type":"string"},"user":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"sourceTeamId":{"type":"integer","format":"int32","nullable":true},"sourceTeam":{"$ref":"#/components/schemas/ViewModels.Identity.Users.TeamViewModel"},"sourceTeamName":{"type":"string","nullable":true,"readOnly":true},"role":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectUserRole"},"assignedDate":{"type":"string","format":"date-time"},"assignedDateFormatted":{"type":"string","nullable":true,"readOnly":true},"projectName":{"type":"string","nullable":true,"readOnly":true},"projectColor":{"type":"string","nullable":true,"readOnly":true},"projectViewProperties":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewProperties"},"startDate":{"type":"string","format":"date","nullable":true},"endDate":{"type":"string","format":"date","nullable":true},"notes":{"maxLength":500,"minLength":0,"type":"string","format":"multiline","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Projects.ProjectViewModel":{"required":["name"],"type":"object","properties":{"tenantId":{"type":"integer","format":"int32"},"name":{"maxLength":200,"minLength":0,"type":"string"},"description":{"maxLength":2000,"minLength":0,"type":"string","format":"multiline","nullable":true},"internalNumber":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"status":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectStatus"},"sortOrder":{"type":"integer","format":"int32"},"isArchived":{"type":"boolean"},"color":{"maxLength":9,"minLength":0,"type":"string","nullable":true},"plannedStartDate":{"type":"string","format":"date","nullable":true},"plannedEndDate":{"type":"string","format":"date","nullable":true},"viewProperties":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewProperties"},"street":{"maxLength":200,"minLength":0,"type":"string","nullable":true},"city":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"postalCode":{"maxLength":10,"minLength":0,"type":"string","nullable":true},"country":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"addressLine2":{"maxLength":200,"minLength":0,"type":"string","nullable":true},"offers":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"},"nullable":true},"orders":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"},"nullable":true},"invoices":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"},"nullable":true},"customerId":{"type":"integer","format":"int32","nullable":true},"customer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"additionalCustomerRelationsJson":{"type":"string","nullable":true},"additionalCustomerRelations":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectCustomerRelationViewModel"},"nullable":true},"calendarId":{"type":"integer","format":"int32","nullable":true},"calendar":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"},"projectUsers":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectUserViewModel"},"nullable":true},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"},"nullable":true},"lots":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectLotViewModel"},"nullable":true},"supplierOffers":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.SupplierOfferViewModel"},"nullable":true},"serviceContracts":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.ServiceContracts.ServiceContractViewModel"},"nullable":true},"statusString":{"type":"string","nullable":true,"readOnly":true},"fullAddress":{"type":"string","nullable":true,"readOnly":true},"hasAddress":{"type":"boolean","readOnly":true},"createdDate":{"type":"string","format":"date-time"},"updatedDate":{"type":"string","format":"date-time","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Projects.ProjectViewProperties":{"type":"object","properties":{"color":{"type":"string","nullable":true},"font":{"type":"string","nullable":true},"fontSize":{"type":"number","format":"double","nullable":true}},"additionalProperties":false},"Homepage.ViewModels.Projects.SupplierOfferItemViewModel":{"required":["description"],"type":"object","properties":{"tenantId":{"type":"integer","format":"int32"},"supplierOfferId":{"type":"integer","format":"int32"},"projectLotId":{"type":"integer","format":"int32","nullable":true},"productId":{"type":"integer","format":"int32","nullable":true},"productVariantId":{"type":"integer","format":"int32","nullable":true},"supplierProductId":{"type":"integer","format":"int32","nullable":true},"orderItemId":{"type":"integer","format":"int32","nullable":true},"description":{"maxLength":1000,"minLength":0,"type":"string"},"quantity":{"type":"number","format":"double"},"unit":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"unitPrice":{"type":"number","format":"double"},"purchaseToStockConversionFactor":{"type":"number","format":"double"},"totalPrice":{"type":"number","format":"double"},"sortOrder":{"type":"integer","format":"int32"},"isSelected":{"type":"boolean"},"notes":{"maxLength":500,"minLength":0,"type":"string","format":"multiline","nullable":true},"lotName":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Projects.SupplierOfferStatusViewModel":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"Homepage.ViewModels.Projects.SupplierOfferViewModel":{"required":["supplierId"],"type":"object","properties":{"commissionId":{"type":"integer","format":"int32","nullable":true},"commission":{"$ref":"#/components/schemas/ViewModels.Commerce.Commissions.CommissionReferenceViewModel"},"tenantId":{"type":"integer","format":"int32"},"projectId":{"type":"integer","format":"int32","nullable":true},"supplierId":{"type":"integer","format":"int32"},"orderMaterialRequestId":{"type":"integer","format":"int32","nullable":true},"acceptedPurchaseOrderId":{"type":"integer","format":"int32","nullable":true},"receivedFormId":{"type":"integer","format":"int32","nullable":true},"supplier":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierViewModel"},"offerNumber":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"offerDate":{"type":"string","format":"date","nullable":true},"totalAmount":{"type":"number","format":"double"},"fileReference":{"type":"string","nullable":true},"status":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.SupplierOfferStatusViewModel"},"decisionAtUtc":{"type":"string","format":"date-time","nullable":true},"decisionByUserId":{"type":"string","nullable":true},"rowVersion":{"type":"string","format":"byte","nullable":true},"notes":{"maxLength":2000,"minLength":0,"type":"string","format":"multiline","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.SupplierOfferItemViewModel"},"nullable":true},"supplierName":{"type":"string","nullable":true,"readOnly":true},"selectedItemsTotal":{"type":"number","format":"double","readOnly":true},"itemCount":{"type":"integer","format":"int32","readOnly":true},"selectedItemCount":{"type":"integer","format":"int32","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"Homepage.ViewModels.Services.InvoiceAllowedActions":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canApprove":{"type":"boolean"},"canSend":{"type":"boolean"},"canMarkAsPaid":{"type":"boolean"},"canMarkAsPartiallyPaid":{"type":"boolean"},"canRemind":{"type":"boolean"},"canStartDunning":{"type":"boolean"},"canCancel":{"type":"boolean"},"canDelete":{"type":"boolean"},"canBook":{"type":"boolean"},"canWriteOff":{"type":"boolean"},"canArchive":{"type":"boolean"},"canDownload":{"type":"boolean"},"canCopy":{"type":"boolean"},"canPreview":{"type":"boolean"}},"additionalProperties":false},"Homepage.ViewModels.Services.OfferAllowedActions":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canSend":{"type":"boolean"},"canAccept":{"type":"boolean"},"canReject":{"type":"boolean"},"canRevise":{"type":"boolean"},"canCancel":{"type":"boolean"},"canDelete":{"type":"boolean"},"canConvertToOrder":{"type":"boolean"},"canConvertToInvoice":{"type":"boolean"},"canCopy":{"type":"boolean"},"canPreview":{"type":"boolean"}},"additionalProperties":false},"Homepage.ViewModels.Services.OrderAllowedActions":{"type":"object","properties":{"canEdit":{"type":"boolean"},"canConfirm":{"type":"boolean"},"canSchedule":{"type":"boolean"},"canStart":{"type":"boolean"},"canComplete":{"type":"boolean"},"canPutOnHold":{"type":"boolean"},"canResume":{"type":"boolean"},"canCancel":{"type":"boolean"},"canDelete":{"type":"boolean"},"canCreateInvoice":{"type":"boolean"},"canCreateAdvance":{"type":"boolean"},"canCreateDeliverySlip":{"type":"boolean"},"canCreateFollowUp":{"type":"boolean"},"canCopy":{"type":"boolean"},"canPreview":{"type":"boolean"}},"additionalProperties":false},"Microsoft.AspNetCore.Components.MarkupString":{"type":"object","properties":{"value":{"type":"string","nullable":true}},"additionalProperties":false},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}},"Persistence.DataResult_Homepage.ViewModels.EntityLabels.EntityLabelViewModel":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"data":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"}},"additionalProperties":false},"Persistence.DataResult_Homepage.ViewModels.Notes.NoteViewModel":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"data":{"$ref":"#/components/schemas/Homepage.ViewModels.Notes.NoteViewModel"}},"additionalProperties":false},"Persistence.DataResult_ViewModels.CRM.Customers.CustomerViewModel":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"data":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"}},"additionalProperties":false},"Persistence.DataResult_ViewModels.Commerce.Invoices.InvoiceViewModel":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"data":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"}},"additionalProperties":false},"Persistence.DataResult_ViewModels.Commerce.Offers.OfferViewModel":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"data":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"}},"additionalProperties":false},"Persistence.DataResult_ViewModels.Commerce.Orders.OrderViewModel":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"data":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"}},"additionalProperties":false},"Persistence.DataResult_ViewModels.Commerce.Products.ProductViewModel":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"data":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"}},"additionalProperties":false},"Persistence.DataResult_ViewModels.Management.Templates.DocumentTemplateViewModel":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"data":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"}},"additionalProperties":false},"Persistence.DataResult_ViewModels.Medical.Patients.PatientViewModel":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"data":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}},"additionalProperties":false},"Shared.ViewModels.Icons.IconFamily":{"enum":[0,1,2,3,4],"type":"integer","format":"int32"},"Shared.ViewModels.Icons.IconRef":{"type":"object","properties":{"name":{"type":"string","nullable":true},"family":{"$ref":"#/components/schemas/Shared.ViewModels.Icons.IconFamily"},"modifier":{"type":"string","nullable":true,"readOnly":true},"glyph":{"type":"string","nullable":true,"readOnly":true},"cssClass":{"type":"string","nullable":true,"readOnly":true}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.CreditCardAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"dataType":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DataType"},"customDataType":{"type":"string","nullable":true,"readOnly":true},"displayFormat":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DisplayFormatAttribute"}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.DataType":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],"type":"integer","format":"int32"},"System.ComponentModel.DataAnnotations.DisplayFormatAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"dataFormatString":{"type":"string","nullable":true},"nullDisplayText":{"type":"string","nullable":true},"convertEmptyStringToNull":{"type":"boolean"},"applyFormatInEditMode":{"type":"boolean"},"htmlEncode":{"type":"boolean"},"nullDisplayTextResourceType":{"$ref":"#/components/schemas/System.Type"}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.EmailAddressAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"dataType":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DataType"},"customDataType":{"type":"string","nullable":true,"readOnly":true},"displayFormat":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DisplayFormatAttribute"}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.EnumDataTypeAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"dataType":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DataType"},"customDataType":{"type":"string","nullable":true,"readOnly":true},"displayFormat":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DisplayFormatAttribute"},"enumType":{"$ref":"#/components/schemas/System.Type"}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.MaxLengthAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"length":{"type":"integer","format":"int32","readOnly":true}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.MinLengthAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"length":{"type":"integer","format":"int32"}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.PhoneAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"dataType":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DataType"},"customDataType":{"type":"string","nullable":true,"readOnly":true},"displayFormat":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DisplayFormatAttribute"}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.RegularExpressionAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"matchTimeoutInMilliseconds":{"type":"integer","format":"int32"},"matchTimeout":{"type":"string","format":"date-span","readOnly":true},"pattern":{"type":"string","nullable":true}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.RequiredAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"allowEmptyStrings":{"type":"boolean"}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.StringLengthAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"maximumLength":{"type":"integer","format":"int32"},"minimumLength":{"type":"integer","format":"int32"}},"additionalProperties":false},"System.ComponentModel.DataAnnotations.UrlAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"requiresValidationContext":{"type":"boolean","readOnly":true},"errorMessage":{"type":"string","nullable":true},"errorMessageResourceName":{"type":"string","nullable":true},"errorMessageResourceType":{"$ref":"#/components/schemas/System.Type"},"dataType":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DataType"},"customDataType":{"type":"string","nullable":true,"readOnly":true},"displayFormat":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DisplayFormatAttribute"}},"additionalProperties":false},"System.Exception":{"type":"object","properties":{"targetSite":{"$ref":"#/components/schemas/System.Reflection.MethodBase"},"message":{"type":"string","nullable":true,"readOnly":true},"data":{"type":"object","additionalProperties":{},"nullable":true,"readOnly":true},"innerException":{"$ref":"#/components/schemas/System.Exception"},"helpLink":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"hResult":{"type":"integer","format":"int32"},"stackTrace":{"type":"string","nullable":true,"readOnly":true}},"additionalProperties":false},"System.IntPtr":{"type":"object","additionalProperties":false},"System.ModuleHandle":{"type":"object","properties":{"mdStreamVersion":{"type":"integer","format":"int32","readOnly":true}},"additionalProperties":false},"System.Reflection.Assembly":{"type":"object","properties":{"definedTypes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.TypeInfo"},"nullable":true,"readOnly":true},"exportedTypes":{"type":"array","items":{"$ref":"#/components/schemas/System.Type"},"nullable":true,"readOnly":true},"codeBase":{"type":"string","nullable":true,"readOnly":true,"deprecated":true},"entryPoint":{"$ref":"#/components/schemas/System.Reflection.MethodInfo"},"fullName":{"type":"string","nullable":true,"readOnly":true},"imageRuntimeVersion":{"type":"string","nullable":true,"readOnly":true},"isDynamic":{"type":"boolean","readOnly":true},"location":{"type":"string","nullable":true,"readOnly":true},"reflectionOnly":{"type":"boolean","readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"isFullyTrusted":{"type":"boolean","readOnly":true},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"escapedCodeBase":{"type":"string","nullable":true,"readOnly":true,"deprecated":true},"manifestModule":{"$ref":"#/components/schemas/System.Reflection.Module"},"modules":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.Module"},"nullable":true,"readOnly":true},"globalAssemblyCache":{"type":"boolean","readOnly":true,"deprecated":true},"hostContext":{"type":"integer","format":"int64","readOnly":true},"securityRuleSet":{"$ref":"#/components/schemas/System.Security.SecurityRuleSet"}},"additionalProperties":false},"System.Reflection.CallingConventions":{"enum":[1,2,3,32,64],"type":"integer","format":"int32"},"System.Reflection.ConstructorInfo":{"type":"object","properties":{"name":{"type":"string","nullable":true,"readOnly":true},"declaringType":{"$ref":"#/components/schemas/System.Type"},"reflectedType":{"$ref":"#/components/schemas/System.Type"},"module":{"$ref":"#/components/schemas/System.Reflection.Module"},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true},"attributes":{"$ref":"#/components/schemas/System.Reflection.MethodAttributes"},"methodImplementationFlags":{"$ref":"#/components/schemas/System.Reflection.MethodImplAttributes"},"callingConvention":{"$ref":"#/components/schemas/System.Reflection.CallingConventions"},"isAbstract":{"type":"boolean","readOnly":true},"isConstructor":{"type":"boolean","readOnly":true},"isFinal":{"type":"boolean","readOnly":true},"isHideBySig":{"type":"boolean","readOnly":true},"isSpecialName":{"type":"boolean","readOnly":true},"isStatic":{"type":"boolean","readOnly":true},"isVirtual":{"type":"boolean","readOnly":true},"isAssembly":{"type":"boolean","readOnly":true},"isFamily":{"type":"boolean","readOnly":true},"isFamilyAndAssembly":{"type":"boolean","readOnly":true},"isFamilyOrAssembly":{"type":"boolean","readOnly":true},"isPrivate":{"type":"boolean","readOnly":true},"isPublic":{"type":"boolean","readOnly":true},"isConstructedGenericMethod":{"type":"boolean","readOnly":true},"isGenericMethod":{"type":"boolean","readOnly":true},"isGenericMethodDefinition":{"type":"boolean","readOnly":true},"containsGenericParameters":{"type":"boolean","readOnly":true},"methodHandle":{"$ref":"#/components/schemas/System.RuntimeMethodHandle"},"isSecurityCritical":{"type":"boolean","readOnly":true},"isSecuritySafeCritical":{"type":"boolean","readOnly":true},"isSecurityTransparent":{"type":"boolean","readOnly":true},"memberType":{"$ref":"#/components/schemas/System.Reflection.MemberTypes"}},"additionalProperties":false},"System.Reflection.CustomAttributeData":{"type":"object","properties":{"attributeType":{"$ref":"#/components/schemas/System.Type"},"constructor":{"$ref":"#/components/schemas/System.Reflection.ConstructorInfo"},"constructorArguments":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeTypedArgument"},"nullable":true,"readOnly":true},"namedArguments":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeNamedArgument"},"nullable":true,"readOnly":true}},"additionalProperties":false},"System.Reflection.CustomAttributeNamedArgument":{"type":"object","properties":{"memberInfo":{"$ref":"#/components/schemas/System.Reflection.MemberInfo"},"typedValue":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeTypedArgument"},"memberName":{"type":"string","nullable":true,"readOnly":true},"isField":{"type":"boolean","readOnly":true}},"additionalProperties":false},"System.Reflection.CustomAttributeTypedArgument":{"type":"object","properties":{"argumentType":{"$ref":"#/components/schemas/System.Type"},"value":{"nullable":true}},"additionalProperties":false},"System.Reflection.EventAttributes":{"enum":[0,512,1024],"type":"integer","format":"int32"},"System.Reflection.EventInfo":{"type":"object","properties":{"name":{"type":"string","nullable":true,"readOnly":true},"declaringType":{"$ref":"#/components/schemas/System.Type"},"reflectedType":{"$ref":"#/components/schemas/System.Type"},"module":{"$ref":"#/components/schemas/System.Reflection.Module"},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true},"memberType":{"$ref":"#/components/schemas/System.Reflection.MemberTypes"},"attributes":{"$ref":"#/components/schemas/System.Reflection.EventAttributes"},"isSpecialName":{"type":"boolean","readOnly":true},"addMethod":{"$ref":"#/components/schemas/System.Reflection.MethodInfo"},"removeMethod":{"$ref":"#/components/schemas/System.Reflection.MethodInfo"},"raiseMethod":{"$ref":"#/components/schemas/System.Reflection.MethodInfo"},"isMulticast":{"type":"boolean","readOnly":true},"eventHandlerType":{"$ref":"#/components/schemas/System.Type"}},"additionalProperties":false},"System.Reflection.FieldAttributes":{"enum":[0,1,2,3,4,5,6,7,16,32,64,128,256,512,1024,4096,8192,32768,38144],"type":"integer","format":"int32"},"System.Reflection.FieldInfo":{"type":"object","properties":{"name":{"type":"string","nullable":true,"readOnly":true},"declaringType":{"$ref":"#/components/schemas/System.Type"},"reflectedType":{"$ref":"#/components/schemas/System.Type"},"module":{"$ref":"#/components/schemas/System.Reflection.Module"},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true},"memberType":{"$ref":"#/components/schemas/System.Reflection.MemberTypes"},"attributes":{"$ref":"#/components/schemas/System.Reflection.FieldAttributes"},"fieldType":{"$ref":"#/components/schemas/System.Type"},"isInitOnly":{"type":"boolean","readOnly":true},"isLiteral":{"type":"boolean","readOnly":true},"isNotSerialized":{"type":"boolean","readOnly":true,"deprecated":true},"isPinvokeImpl":{"type":"boolean","readOnly":true},"isSpecialName":{"type":"boolean","readOnly":true},"isStatic":{"type":"boolean","readOnly":true},"isAssembly":{"type":"boolean","readOnly":true},"isFamily":{"type":"boolean","readOnly":true},"isFamilyAndAssembly":{"type":"boolean","readOnly":true},"isFamilyOrAssembly":{"type":"boolean","readOnly":true},"isPrivate":{"type":"boolean","readOnly":true},"isPublic":{"type":"boolean","readOnly":true},"isSecurityCritical":{"type":"boolean","readOnly":true},"isSecuritySafeCritical":{"type":"boolean","readOnly":true},"isSecurityTransparent":{"type":"boolean","readOnly":true},"fieldHandle":{"$ref":"#/components/schemas/System.RuntimeFieldHandle"}},"additionalProperties":false},"System.Reflection.GenericParameterAttributes":{"enum":[0,1,2,3,4,8,16,28,32],"type":"integer","format":"int32"},"System.Reflection.ICustomAttributeProvider":{"type":"object","additionalProperties":false},"System.Reflection.MemberInfo":{"type":"object","properties":{"memberType":{"$ref":"#/components/schemas/System.Reflection.MemberTypes"},"name":{"type":"string","nullable":true,"readOnly":true},"declaringType":{"$ref":"#/components/schemas/System.Type"},"reflectedType":{"$ref":"#/components/schemas/System.Type"},"module":{"$ref":"#/components/schemas/System.Reflection.Module"},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true}},"additionalProperties":false},"System.Reflection.MemberTypes":{"enum":[1,2,4,8,16,32,64,128,191],"type":"integer","format":"int32"},"System.Reflection.MethodAttributes":{"enum":[0,1,2,3,4,5,6,7,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,53248],"type":"integer","format":"int32"},"System.Reflection.MethodBase":{"type":"object","properties":{"memberType":{"$ref":"#/components/schemas/System.Reflection.MemberTypes"},"name":{"type":"string","nullable":true,"readOnly":true},"declaringType":{"$ref":"#/components/schemas/System.Type"},"reflectedType":{"$ref":"#/components/schemas/System.Type"},"module":{"$ref":"#/components/schemas/System.Reflection.Module"},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true},"attributes":{"$ref":"#/components/schemas/System.Reflection.MethodAttributes"},"methodImplementationFlags":{"$ref":"#/components/schemas/System.Reflection.MethodImplAttributes"},"callingConvention":{"$ref":"#/components/schemas/System.Reflection.CallingConventions"},"isAbstract":{"type":"boolean","readOnly":true},"isConstructor":{"type":"boolean","readOnly":true},"isFinal":{"type":"boolean","readOnly":true},"isHideBySig":{"type":"boolean","readOnly":true},"isSpecialName":{"type":"boolean","readOnly":true},"isStatic":{"type":"boolean","readOnly":true},"isVirtual":{"type":"boolean","readOnly":true},"isAssembly":{"type":"boolean","readOnly":true},"isFamily":{"type":"boolean","readOnly":true},"isFamilyAndAssembly":{"type":"boolean","readOnly":true},"isFamilyOrAssembly":{"type":"boolean","readOnly":true},"isPrivate":{"type":"boolean","readOnly":true},"isPublic":{"type":"boolean","readOnly":true},"isConstructedGenericMethod":{"type":"boolean","readOnly":true},"isGenericMethod":{"type":"boolean","readOnly":true},"isGenericMethodDefinition":{"type":"boolean","readOnly":true},"containsGenericParameters":{"type":"boolean","readOnly":true},"methodHandle":{"$ref":"#/components/schemas/System.RuntimeMethodHandle"},"isSecurityCritical":{"type":"boolean","readOnly":true},"isSecuritySafeCritical":{"type":"boolean","readOnly":true},"isSecurityTransparent":{"type":"boolean","readOnly":true}},"additionalProperties":false},"System.Reflection.MethodImplAttributes":{"enum":[0,1,2,3,4,8,16,32,64,128,256,512,4096,8192,65535],"type":"integer","format":"int32"},"System.Reflection.MethodInfo":{"type":"object","properties":{"name":{"type":"string","nullable":true,"readOnly":true},"declaringType":{"$ref":"#/components/schemas/System.Type"},"reflectedType":{"$ref":"#/components/schemas/System.Type"},"module":{"$ref":"#/components/schemas/System.Reflection.Module"},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true},"attributes":{"$ref":"#/components/schemas/System.Reflection.MethodAttributes"},"methodImplementationFlags":{"$ref":"#/components/schemas/System.Reflection.MethodImplAttributes"},"callingConvention":{"$ref":"#/components/schemas/System.Reflection.CallingConventions"},"isAbstract":{"type":"boolean","readOnly":true},"isConstructor":{"type":"boolean","readOnly":true},"isFinal":{"type":"boolean","readOnly":true},"isHideBySig":{"type":"boolean","readOnly":true},"isSpecialName":{"type":"boolean","readOnly":true},"isStatic":{"type":"boolean","readOnly":true},"isVirtual":{"type":"boolean","readOnly":true},"isAssembly":{"type":"boolean","readOnly":true},"isFamily":{"type":"boolean","readOnly":true},"isFamilyAndAssembly":{"type":"boolean","readOnly":true},"isFamilyOrAssembly":{"type":"boolean","readOnly":true},"isPrivate":{"type":"boolean","readOnly":true},"isPublic":{"type":"boolean","readOnly":true},"isConstructedGenericMethod":{"type":"boolean","readOnly":true},"isGenericMethod":{"type":"boolean","readOnly":true},"isGenericMethodDefinition":{"type":"boolean","readOnly":true},"containsGenericParameters":{"type":"boolean","readOnly":true},"methodHandle":{"$ref":"#/components/schemas/System.RuntimeMethodHandle"},"isSecurityCritical":{"type":"boolean","readOnly":true},"isSecuritySafeCritical":{"type":"boolean","readOnly":true},"isSecurityTransparent":{"type":"boolean","readOnly":true},"memberType":{"$ref":"#/components/schemas/System.Reflection.MemberTypes"},"returnParameter":{"$ref":"#/components/schemas/System.Reflection.ParameterInfo"},"returnType":{"$ref":"#/components/schemas/System.Type"},"returnTypeCustomAttributes":{"$ref":"#/components/schemas/System.Reflection.ICustomAttributeProvider"}},"additionalProperties":false},"System.Reflection.Module":{"type":"object","properties":{"assembly":{"$ref":"#/components/schemas/System.Reflection.Assembly"},"fullyQualifiedName":{"type":"string","nullable":true,"readOnly":true},"name":{"type":"string","nullable":true,"readOnly":true},"mdStreamVersion":{"type":"integer","format":"int32","readOnly":true},"moduleVersionId":{"type":"string","format":"uuid","readOnly":true},"scopeName":{"type":"string","nullable":true,"readOnly":true},"moduleHandle":{"$ref":"#/components/schemas/System.ModuleHandle"},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true}},"additionalProperties":false},"System.Reflection.ParameterAttributes":{"enum":[0,1,2,4,8,16,4096,8192,16384,32768,61440],"type":"integer","format":"int32"},"System.Reflection.ParameterInfo":{"type":"object","properties":{"attributes":{"$ref":"#/components/schemas/System.Reflection.ParameterAttributes"},"member":{"$ref":"#/components/schemas/System.Reflection.MemberInfo"},"name":{"type":"string","nullable":true,"readOnly":true},"parameterType":{"$ref":"#/components/schemas/System.Type"},"position":{"type":"integer","format":"int32","readOnly":true},"isIn":{"type":"boolean","readOnly":true},"isLcid":{"type":"boolean","readOnly":true},"isOptional":{"type":"boolean","readOnly":true},"isOut":{"type":"boolean","readOnly":true},"isRetval":{"type":"boolean","readOnly":true},"defaultValue":{"nullable":true,"readOnly":true},"rawDefaultValue":{"nullable":true,"readOnly":true},"hasDefaultValue":{"type":"boolean","readOnly":true},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true}},"additionalProperties":false},"System.Reflection.PropertyAttributes":{"enum":[0,512,1024,4096,8192,16384,32768,62464],"type":"integer","format":"int32"},"System.Reflection.PropertyInfo":{"type":"object","properties":{"name":{"type":"string","nullable":true,"readOnly":true},"declaringType":{"$ref":"#/components/schemas/System.Type"},"reflectedType":{"$ref":"#/components/schemas/System.Type"},"module":{"$ref":"#/components/schemas/System.Reflection.Module"},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true},"memberType":{"$ref":"#/components/schemas/System.Reflection.MemberTypes"},"propertyType":{"$ref":"#/components/schemas/System.Type"},"attributes":{"$ref":"#/components/schemas/System.Reflection.PropertyAttributes"},"isSpecialName":{"type":"boolean","readOnly":true},"canRead":{"type":"boolean","readOnly":true},"canWrite":{"type":"boolean","readOnly":true},"getMethod":{"$ref":"#/components/schemas/System.Reflection.MethodInfo"},"setMethod":{"$ref":"#/components/schemas/System.Reflection.MethodInfo"}},"additionalProperties":false},"System.Reflection.TypeAttributes":{"enum":[0,1,2,3,4,5,6,7,8,16,24,32,128,256,1024,2048,4096,8192,16384,65536,131072,196608,262144,264192,1048576,12582912],"type":"integer","format":"int32"},"System.Reflection.TypeInfo":{"type":"object","properties":{"name":{"type":"string","nullable":true,"readOnly":true},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true},"memberType":{"$ref":"#/components/schemas/System.Reflection.MemberTypes"},"namespace":{"type":"string","nullable":true,"readOnly":true},"assemblyQualifiedName":{"type":"string","nullable":true,"readOnly":true},"fullName":{"type":"string","nullable":true,"readOnly":true},"assembly":{"$ref":"#/components/schemas/System.Reflection.Assembly"},"module":{"$ref":"#/components/schemas/System.Reflection.Module"},"isInterface":{"type":"boolean","readOnly":true},"isNested":{"type":"boolean","readOnly":true},"declaringType":{"$ref":"#/components/schemas/System.Type"},"declaringMethod":{"$ref":"#/components/schemas/System.Reflection.MethodBase"},"reflectedType":{"$ref":"#/components/schemas/System.Type"},"underlyingSystemType":{"$ref":"#/components/schemas/System.Type"},"isTypeDefinition":{"type":"boolean","readOnly":true},"isArray":{"type":"boolean","readOnly":true},"isByRef":{"type":"boolean","readOnly":true},"isPointer":{"type":"boolean","readOnly":true},"isConstructedGenericType":{"type":"boolean","readOnly":true},"isGenericParameter":{"type":"boolean","readOnly":true},"isGenericTypeParameter":{"type":"boolean","readOnly":true},"isGenericMethodParameter":{"type":"boolean","readOnly":true},"isGenericType":{"type":"boolean","readOnly":true},"isGenericTypeDefinition":{"type":"boolean","readOnly":true},"isSZArray":{"type":"boolean","readOnly":true},"isVariableBoundArray":{"type":"boolean","readOnly":true},"isByRefLike":{"type":"boolean","readOnly":true},"isFunctionPointer":{"type":"boolean","readOnly":true},"isUnmanagedFunctionPointer":{"type":"boolean","readOnly":true},"hasElementType":{"type":"boolean","readOnly":true},"genericTypeArguments":{"type":"array","items":{"$ref":"#/components/schemas/System.Type"},"nullable":true,"readOnly":true},"genericParameterPosition":{"type":"integer","format":"int32","readOnly":true},"genericParameterAttributes":{"$ref":"#/components/schemas/System.Reflection.GenericParameterAttributes"},"attributes":{"$ref":"#/components/schemas/System.Reflection.TypeAttributes"},"isAbstract":{"type":"boolean","readOnly":true},"isImport":{"type":"boolean","readOnly":true},"isSealed":{"type":"boolean","readOnly":true},"isSpecialName":{"type":"boolean","readOnly":true},"isClass":{"type":"boolean","readOnly":true},"isNestedAssembly":{"type":"boolean","readOnly":true},"isNestedFamANDAssem":{"type":"boolean","readOnly":true},"isNestedFamily":{"type":"boolean","readOnly":true},"isNestedFamORAssem":{"type":"boolean","readOnly":true},"isNestedPrivate":{"type":"boolean","readOnly":true},"isNestedPublic":{"type":"boolean","readOnly":true},"isNotPublic":{"type":"boolean","readOnly":true},"isPublic":{"type":"boolean","readOnly":true},"isAutoLayout":{"type":"boolean","readOnly":true},"isExplicitLayout":{"type":"boolean","readOnly":true},"isLayoutSequential":{"type":"boolean","readOnly":true},"isAnsiClass":{"type":"boolean","readOnly":true},"isAutoClass":{"type":"boolean","readOnly":true},"isUnicodeClass":{"type":"boolean","readOnly":true},"isCOMObject":{"type":"boolean","readOnly":true},"isContextful":{"type":"boolean","readOnly":true},"isEnum":{"type":"boolean","readOnly":true},"isMarshalByRef":{"type":"boolean","readOnly":true},"isPrimitive":{"type":"boolean","readOnly":true},"isValueType":{"type":"boolean","readOnly":true},"isSignatureType":{"type":"boolean","readOnly":true},"isSecurityCritical":{"type":"boolean","readOnly":true},"isSecuritySafeCritical":{"type":"boolean","readOnly":true},"isSecurityTransparent":{"type":"boolean","readOnly":true},"structLayoutAttribute":{"$ref":"#/components/schemas/System.Runtime.InteropServices.StructLayoutAttribute"},"typeInitializer":{"$ref":"#/components/schemas/System.Reflection.ConstructorInfo"},"typeHandle":{"$ref":"#/components/schemas/System.RuntimeTypeHandle"},"guid":{"type":"string","format":"uuid","readOnly":true},"baseType":{"$ref":"#/components/schemas/System.Type"},"isSerializable":{"type":"boolean","readOnly":true,"deprecated":true},"containsGenericParameters":{"type":"boolean","readOnly":true},"isVisible":{"type":"boolean","readOnly":true},"genericTypeParameters":{"type":"array","items":{"$ref":"#/components/schemas/System.Type"},"nullable":true,"readOnly":true},"declaredConstructors":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.ConstructorInfo"},"nullable":true,"readOnly":true},"declaredEvents":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.EventInfo"},"nullable":true,"readOnly":true},"declaredFields":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.FieldInfo"},"nullable":true,"readOnly":true},"declaredMembers":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.MemberInfo"},"nullable":true,"readOnly":true},"declaredMethods":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.MethodInfo"},"nullable":true,"readOnly":true},"declaredNestedTypes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.TypeInfo"},"nullable":true,"readOnly":true},"declaredProperties":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.PropertyInfo"},"nullable":true,"readOnly":true},"implementedInterfaces":{"type":"array","items":{"$ref":"#/components/schemas/System.Type"},"nullable":true,"readOnly":true}},"additionalProperties":false},"System.Runtime.InteropServices.LayoutKind":{"enum":[0,2,3],"type":"integer","format":"int32"},"System.Runtime.InteropServices.StructLayoutAttribute":{"type":"object","properties":{"typeId":{"nullable":true,"readOnly":true},"value":{"$ref":"#/components/schemas/System.Runtime.InteropServices.LayoutKind"}},"additionalProperties":false},"System.RuntimeFieldHandle":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/System.IntPtr"}},"additionalProperties":false},"System.RuntimeMethodHandle":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/System.IntPtr"}},"additionalProperties":false},"System.RuntimeTypeHandle":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/System.IntPtr"}},"additionalProperties":false},"System.Security.SecurityRuleSet":{"enum":[0,1,2],"type":"integer","format":"int32"},"System.Type":{"type":"object","properties":{"name":{"type":"string","nullable":true,"readOnly":true},"customAttributes":{"type":"array","items":{"$ref":"#/components/schemas/System.Reflection.CustomAttributeData"},"nullable":true,"readOnly":true},"isCollectible":{"type":"boolean","readOnly":true},"metadataToken":{"type":"integer","format":"int32","readOnly":true},"memberType":{"$ref":"#/components/schemas/System.Reflection.MemberTypes"},"namespace":{"type":"string","nullable":true,"readOnly":true},"assemblyQualifiedName":{"type":"string","nullable":true,"readOnly":true},"fullName":{"type":"string","nullable":true,"readOnly":true},"assembly":{"$ref":"#/components/schemas/System.Reflection.Assembly"},"module":{"$ref":"#/components/schemas/System.Reflection.Module"},"isInterface":{"type":"boolean","readOnly":true},"isNested":{"type":"boolean","readOnly":true},"declaringType":{"$ref":"#/components/schemas/System.Type"},"declaringMethod":{"$ref":"#/components/schemas/System.Reflection.MethodBase"},"reflectedType":{"$ref":"#/components/schemas/System.Type"},"underlyingSystemType":{"$ref":"#/components/schemas/System.Type"},"isTypeDefinition":{"type":"boolean","readOnly":true},"isArray":{"type":"boolean","readOnly":true},"isByRef":{"type":"boolean","readOnly":true},"isPointer":{"type":"boolean","readOnly":true},"isConstructedGenericType":{"type":"boolean","readOnly":true},"isGenericParameter":{"type":"boolean","readOnly":true},"isGenericTypeParameter":{"type":"boolean","readOnly":true},"isGenericMethodParameter":{"type":"boolean","readOnly":true},"isGenericType":{"type":"boolean","readOnly":true},"isGenericTypeDefinition":{"type":"boolean","readOnly":true},"isSZArray":{"type":"boolean","readOnly":true},"isVariableBoundArray":{"type":"boolean","readOnly":true},"isByRefLike":{"type":"boolean","readOnly":true},"isFunctionPointer":{"type":"boolean","readOnly":true},"isUnmanagedFunctionPointer":{"type":"boolean","readOnly":true},"hasElementType":{"type":"boolean","readOnly":true},"genericTypeArguments":{"type":"array","items":{"$ref":"#/components/schemas/System.Type"},"nullable":true,"readOnly":true},"genericParameterPosition":{"type":"integer","format":"int32","readOnly":true},"genericParameterAttributes":{"$ref":"#/components/schemas/System.Reflection.GenericParameterAttributes"},"attributes":{"$ref":"#/components/schemas/System.Reflection.TypeAttributes"},"isAbstract":{"type":"boolean","readOnly":true},"isImport":{"type":"boolean","readOnly":true},"isSealed":{"type":"boolean","readOnly":true},"isSpecialName":{"type":"boolean","readOnly":true},"isClass":{"type":"boolean","readOnly":true},"isNestedAssembly":{"type":"boolean","readOnly":true},"isNestedFamANDAssem":{"type":"boolean","readOnly":true},"isNestedFamily":{"type":"boolean","readOnly":true},"isNestedFamORAssem":{"type":"boolean","readOnly":true},"isNestedPrivate":{"type":"boolean","readOnly":true},"isNestedPublic":{"type":"boolean","readOnly":true},"isNotPublic":{"type":"boolean","readOnly":true},"isPublic":{"type":"boolean","readOnly":true},"isAutoLayout":{"type":"boolean","readOnly":true},"isExplicitLayout":{"type":"boolean","readOnly":true},"isLayoutSequential":{"type":"boolean","readOnly":true},"isAnsiClass":{"type":"boolean","readOnly":true},"isAutoClass":{"type":"boolean","readOnly":true},"isUnicodeClass":{"type":"boolean","readOnly":true},"isCOMObject":{"type":"boolean","readOnly":true},"isContextful":{"type":"boolean","readOnly":true},"isEnum":{"type":"boolean","readOnly":true},"isMarshalByRef":{"type":"boolean","readOnly":true},"isPrimitive":{"type":"boolean","readOnly":true},"isValueType":{"type":"boolean","readOnly":true},"isSignatureType":{"type":"boolean","readOnly":true},"isSecurityCritical":{"type":"boolean","readOnly":true},"isSecuritySafeCritical":{"type":"boolean","readOnly":true},"isSecurityTransparent":{"type":"boolean","readOnly":true},"structLayoutAttribute":{"$ref":"#/components/schemas/System.Runtime.InteropServices.StructLayoutAttribute"},"typeInitializer":{"$ref":"#/components/schemas/System.Reflection.ConstructorInfo"},"typeHandle":{"$ref":"#/components/schemas/System.RuntimeTypeHandle"},"guid":{"type":"string","format":"uuid","readOnly":true},"baseType":{"$ref":"#/components/schemas/System.Type"},"isSerializable":{"type":"boolean","readOnly":true,"deprecated":true},"containsGenericParameters":{"type":"boolean","readOnly":true},"isVisible":{"type":"boolean","readOnly":true}},"additionalProperties":false},"System.ValueTuple_System.Int32_System.Boolean":{"type":"object","additionalProperties":false},"System.ValueTuple_System.String_System.String":{"type":"object","additionalProperties":false},"System.Xml.Linq.XAttribute":{"type":"object","properties":{"baseUri":{"type":"string","nullable":true,"readOnly":true},"document":{"$ref":"#/components/schemas/System.Xml.Linq.XDocument"},"parent":{"$ref":"#/components/schemas/System.Xml.Linq.XElement"},"isNamespaceDeclaration":{"type":"boolean","readOnly":true},"name":{"$ref":"#/components/schemas/System.Xml.Linq.XName"},"nextAttribute":{"$ref":"#/components/schemas/System.Xml.Linq.XAttribute"},"nodeType":{"$ref":"#/components/schemas/System.Xml.XmlNodeType"},"previousAttribute":{"$ref":"#/components/schemas/System.Xml.Linq.XAttribute"},"value":{"type":"string","nullable":true}},"additionalProperties":false},"System.Xml.Linq.XDeclaration":{"type":"object","properties":{"encoding":{"type":"string","nullable":true},"standalone":{"type":"string","nullable":true},"version":{"type":"string","nullable":true}},"additionalProperties":false},"System.Xml.Linq.XDocument":{"type":"object","properties":{"baseUri":{"type":"string","nullable":true,"readOnly":true},"document":{"$ref":"#/components/schemas/System.Xml.Linq.XDocument"},"parent":{"$ref":"#/components/schemas/System.Xml.Linq.XElement"},"nextNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"previousNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"firstNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"lastNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"declaration":{"$ref":"#/components/schemas/System.Xml.Linq.XDeclaration"},"documentType":{"$ref":"#/components/schemas/System.Xml.Linq.XDocumentType"},"nodeType":{"$ref":"#/components/schemas/System.Xml.XmlNodeType"},"root":{"$ref":"#/components/schemas/System.Xml.Linq.XElement"}},"additionalProperties":false},"System.Xml.Linq.XDocumentType":{"type":"object","properties":{"baseUri":{"type":"string","nullable":true,"readOnly":true},"document":{"$ref":"#/components/schemas/System.Xml.Linq.XDocument"},"parent":{"$ref":"#/components/schemas/System.Xml.Linq.XElement"},"nextNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"previousNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"internalSubset":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"nodeType":{"$ref":"#/components/schemas/System.Xml.XmlNodeType"},"publicId":{"type":"string","nullable":true},"systemId":{"type":"string","nullable":true}},"additionalProperties":false},"System.Xml.Linq.XElement":{"type":"object","properties":{"baseUri":{"type":"string","nullable":true,"readOnly":true},"document":{"$ref":"#/components/schemas/System.Xml.Linq.XDocument"},"parent":{"$ref":"#/components/schemas/System.Xml.Linq.XElement"},"nextNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"previousNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"firstNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"lastNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"firstAttribute":{"$ref":"#/components/schemas/System.Xml.Linq.XAttribute"},"hasAttributes":{"type":"boolean","readOnly":true},"hasElements":{"type":"boolean","readOnly":true},"isEmpty":{"type":"boolean","readOnly":true},"lastAttribute":{"$ref":"#/components/schemas/System.Xml.Linq.XAttribute"},"name":{"$ref":"#/components/schemas/System.Xml.Linq.XName"},"nodeType":{"$ref":"#/components/schemas/System.Xml.XmlNodeType"},"value":{"type":"string","nullable":true}},"additionalProperties":false},"System.Xml.Linq.XName":{"type":"object","properties":{"localName":{"type":"string","nullable":true,"readOnly":true},"namespace":{"$ref":"#/components/schemas/System.Xml.Linq.XNamespace"},"namespaceName":{"type":"string","nullable":true,"readOnly":true}},"additionalProperties":false},"System.Xml.Linq.XNamespace":{"type":"object","properties":{"namespaceName":{"type":"string","nullable":true,"readOnly":true}},"additionalProperties":false},"System.Xml.Linq.XNode":{"type":"object","properties":{"baseUri":{"type":"string","nullable":true,"readOnly":true},"document":{"$ref":"#/components/schemas/System.Xml.Linq.XDocument"},"nodeType":{"$ref":"#/components/schemas/System.Xml.XmlNodeType"},"parent":{"$ref":"#/components/schemas/System.Xml.Linq.XElement"},"nextNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"},"previousNode":{"$ref":"#/components/schemas/System.Xml.Linq.XNode"}},"additionalProperties":false},"System.Xml.XmlNodeType":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],"type":"integer","format":"int32"},"Varuna.Homepage.ViewModels.IntervalType":{"enum":[0,1,2,3,4,5],"type":"integer","format":"int32"},"Varuna.Homepage.ViewModels.Salutation":{"enum":[0,1,2,9],"type":"integer","format":"int32"},"Varuna.Persistence.Repositories.CountCriteria":{"type":"object","properties":{"table":{"type":"string","nullable":true},"criteria":{"type":"string","nullable":true},"period":{"type":"string","nullable":true}},"additionalProperties":false},"Varuna.Persistence.Repositories.CountResult":{"type":"object","properties":{"table":{"type":"string","nullable":true},"records":{"type":"integer","format":"int32"},"criteria":{"type":"string","nullable":true},"period":{"type":"string","nullable":true}},"additionalProperties":false},"Varuna.Persistence.Result":{"type":"object","properties":{"succeeded":{"type":"boolean"},"notFound":{"type":"boolean"},"exception":{"$ref":"#/components/schemas/System.Exception"},"exceptionStack":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true}},"additionalProperties":false},"Varuna.Shared.ViewModels.DynamicDictionary":{"type":"object","properties":{"values":{"type":"object","additionalProperties":{"nullable":true},"nullable":true,"readOnly":true}},"additionalProperties":false},"Varuna.Shared.ViewModels.PropertySettings":{"type":"object","properties":{"name":{"type":"string","nullable":true},"Type":{"type":"string","nullable":true},"hasFocusOnInit":{"type":"boolean"},"isRequired":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.RequiredAttribute"},"isUrl":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.UrlAttribute"},"isPhone":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.PhoneAttribute"},"isEmail":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.EmailAddressAttribute"},"isCreditCard":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.CreditCardAttribute"},"isMaxLength":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.MaxLengthAttribute"},"isMinLength":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.MinLengthAttribute"},"isStringLength":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.StringLengthAttribute"},"isRegex":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.RegularExpressionAttribute"},"isEnum":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.EnumDataTypeAttribute"},"customDataList":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"isReadOnly":{"type":"boolean"},"uiHint":{"type":"string","nullable":true},"uiHintParameters":{"type":"object","additionalProperties":{"nullable":true},"nullable":true},"displayName":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"groupName":{"type":"string","nullable":true},"showHelp":{"type":"boolean"},"hidden":{"type":"boolean"},"visible":{"type":"boolean"},"order":{"type":"integer","format":"int32"},"dataType":{"$ref":"#/components/schemas/System.ComponentModel.DataAnnotations.DataType"},"isPassword":{"type":"boolean","readOnly":true},"enabled":{"type":"boolean"},"hasDependentFields":{"type":"boolean"},"dependsOnProperties":{"type":"array","items":{"type":"string"},"nullable":true},"excludeCompareValue":{"type":"boolean"},"compareToValue":{"nullable":true},"editorType":{"type":"string","nullable":true},"uiAdditions":{"type":"array","items":{"$ref":"#/components/schemas/Generic.KeyValuePair_System.String_System.Object"},"nullable":true}},"additionalProperties":false},"ViewModels.CRM.Customers.BankingViewModel":{"type":"object","properties":{"bankAccount":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"bankName":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"bankSwift":{"maxLength":11,"minLength":0,"type":"string","nullable":true},"bankIban":{"maxLength":34,"minLength":0,"type":"string","nullable":true}},"additionalProperties":false},"ViewModels.CRM.Customers.CentralContactViewModel":{"type":"object","properties":{"email":{"maxLength":100,"minLength":0,"pattern":"^$|^[^@\\s]\u002B@[^@\\s]\u002B\\.[^@\\s]\u002B$","type":"string","nullable":true},"phone":{"maxLength":20,"minLength":0,"pattern":"^$|^[\\d\\s\\\u002B\\-\\(\\)\\/]\u002B$","type":"string","nullable":true},"mobile":{"maxLength":20,"minLength":0,"pattern":"^$|^[\\d\\s\\\u002B\\-\\(\\)\\/]\u002B$","type":"string","nullable":true},"fax":{"maxLength":20,"minLength":0,"pattern":"^$|^[\\d\\s\\\u002B\\-\\(\\)\\/]\u002B$","type":"string","nullable":true},"website":{"maxLength":200,"minLength":0,"type":"string","format":"uri","nullable":true},"hasAny":{"type":"boolean","readOnly":true},"hasChannel":{"type":"boolean","readOnly":true}},"additionalProperties":false},"ViewModels.CRM.Customers.CustomerContactViewModel":{"type":"object","properties":{"salutation":{"$ref":"#/components/schemas/Varuna.Homepage.ViewModels.Salutation"},"title":{"maxLength":20,"minLength":0,"type":"string","format":"Enumeration","nullable":true},"phone":{"maxLength":20,"minLength":0,"pattern":"^$|^[\\d\\s\\\u002B\\-\\(\\)\\/]\u002B$","type":"string","nullable":true},"email":{"maxLength":100,"minLength":0,"pattern":"^$|^[^@\\s]\u002B@[^@\\s]\u002B\\.[^@\\s]\u002B$","type":"string","nullable":true},"givenname":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"surname":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"position":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"department":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"fax":{"maxLength":20,"minLength":0,"pattern":"^$|^[\\d\\s\\\u002B\\-\\(\\)\\/]\u002B$","type":"string","nullable":true},"mobile":{"maxLength":20,"minLength":0,"pattern":"^$|^[\\d\\s\\\u002B\\-\\(\\)\\/]\u002B$","type":"string","nullable":true},"notes":{"maxLength":500,"minLength":0,"type":"string","format":"multiline","nullable":true},"isDefault":{"type":"boolean"},"googleContactResourceName":{"type":"string","nullable":true},"name":{"type":"string","nullable":true,"readOnly":true},"isCentral":{"type":"boolean","readOnly":true},"displayName":{"type":"string","nullable":true,"readOnly":true},"formattedTitle":{"type":"string","nullable":true,"readOnly":true},"salutationLine":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.CRM.Customers.CustomerKind":{"enum":[0,1,2,3,4],"type":"integer","format":"int32"},"ViewModels.CRM.Customers.CustomerRelation":{"enum":[0,1,2,3,4,8,9],"type":"integer","format":"int32"},"ViewModels.CRM.Customers.CustomerViewModel":{"type":"object","properties":{"salesPriceListId":{"type":"integer","format":"int32","nullable":true},"kind":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerKind"},"number":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"showAdvanced":{"type":"boolean"},"salutation":{"$ref":"#/components/schemas/Varuna.Homepage.ViewModels.Salutation"},"salutationFriendly":{"type":"string","nullable":true,"readOnly":true},"title":{"maxLength":20,"minLength":0,"type":"string","format":"Enumeration","nullable":true},"givenname":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"surname":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"birthDay":{"type":"string","format":"date","nullable":true},"sex":{"$ref":"#/components/schemas/ViewModels.Content.Pages.Gender"},"email":{"maxLength":100,"minLength":0,"pattern":"^$|^[^@\\s]\u002B@[^@\\s]\u002B\\.[^@\\s]\u002B$","type":"string","nullable":true},"phone":{"maxLength":20,"minLength":0,"pattern":"^$|^[\\d\\s\\\u002B\\-\\(\\)\\/]\u002B$","type":"string","nullable":true},"mobile":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"fax":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"name":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"street":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"city":{"maxLength":50,"minLength":2,"type":"string","nullable":true},"country":{"type":"string","format":"Enumeration","nullable":true},"postalCode":{"type":"string","nullable":true},"vatNumber":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"registrationNumber":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"routeId":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"notes":{"maxLength":1000,"minLength":0,"type":"string","format":"multiline","nullable":true},"relation":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerRelation"},"referredByCustomerId":{"type":"integer","format":"int32","nullable":true},"referredByCustomerName":{"type":"string","nullable":true},"referralSource":{"maxLength":200,"minLength":0,"type":"string","nullable":true},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"},"nullable":true},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerContactViewModel"},"nullable":true},"contact":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerContactViewModel"},"centralContact":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CentralContactViewModel"},"banking":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.BankingViewModel"},"condition":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.ConditionViewModel"},"isPrivate":{"type":"boolean"},"externalId":{"type":"string","format":"uuid","nullable":true},"patientNr":{"type":"integer","format":"int32","nullable":true},"vitalProperties":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"communicationPreferences":{"type":"object","additionalProperties":{"type":"boolean"},"nullable":true},"crmProperties":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"nextAction":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.ProspectNextAction"},"nextActionDue":{"type":"string","format":"date-time","nullable":true},"nextActionOwnerId":{"type":"string","nullable":true},"nextActionOwnerName":{"type":"string","nullable":true},"lastTalkOutcome":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.TalkOutcome"},"lastTalkAt":{"type":"string","format":"date-time","nullable":true},"hasNextAction":{"type":"boolean","readOnly":true},"isNextActionOverdue":{"type":"boolean","readOnly":true},"address":{"type":"string","nullable":true,"readOnly":true},"addressFormated":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Components.MarkupString"},"hasOffers":{"type":"boolean"},"offerPipelineState":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferState"},"offerPipelineCount":{"type":"integer","format":"int32"},"hasOrders":{"type":"boolean"},"orderPipelineCount":{"type":"integer","format":"int32"},"hasInvoices":{"type":"boolean"},"invoicePipelineCount":{"type":"integer","format":"int32"},"filesLoaded":{"type":"boolean"},"quickAccessCode":{"type":"string","nullable":true},"portalAccessToken":{"type":"string","nullable":true},"linkedTenantId":{"type":"integer","format":"int32","nullable":true},"linkedTenantName":{"type":"string","nullable":true},"labelIds":{"type":"array","items":{"type":"integer","format":"int32"},"nullable":true},"labels":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"},"nullable":true},"label":{"$ref":"#/components/schemas/Homepage.ViewModels.EntityLabels.EntityLabelViewModel"},"labelId":{"type":"integer","format":"int32","nullable":true,"readOnly":true},"legacyPatientLinkExists":{"type":"boolean"},"isPatient":{"type":"boolean","readOnly":true},"googleContactResourceName":{"type":"string","nullable":true},"isGoogleSynced":{"type":"boolean","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.CRM.Customers.ProspectNextAction":{"enum":[0,1,2,3,4,5,6],"type":"integer","format":"int32"},"ViewModels.CRM.Customers.TalkOutcome":{"enum":[0,1,2,3,4,5],"type":"integer","format":"int32"},"ViewModels.CRM.Tasks.TaskPriority":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.CRM.Tasks.TaskReminderViewModel":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"},"reminders":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"},"nullable":true},"isActive":{"type":"boolean"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.CRM.Tasks.TaskStatus":{"enum":[0,1,2,3,4],"type":"integer","format":"int32"},"ViewModels.CRM.Tasks.TaskViewModel":{"required":["title"],"type":"object","properties":{"tenantId":{"type":"integer","format":"int32"},"title":{"maxLength":256,"minLength":0,"type":"string"},"description":{"maxLength":1000,"minLength":0,"type":"string","format":"multiline","nullable":true},"status":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskStatus"},"priority":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskPriority"},"customer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"customerId":{"type":"integer","format":"int32","nullable":true},"formId":{"type":"integer","format":"int32","nullable":true},"relatedEntityType":{"type":"string","nullable":true},"relatedEntityId":{"type":"integer","format":"int32","nullable":true},"relatedEntityDisplayName":{"type":"string","nullable":true},"assignedToEmployee":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"assignedToEmployeeId":{"type":"string","nullable":true},"calendar":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarViewModel"},"isPlanned":{"type":"boolean"},"plannedDateTime":{"type":"string","format":"date-time","nullable":true},"createdAt":{"type":"string","format":"date-time"},"dueDate":{"type":"string","format":"date-time","nullable":true},"reminders":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskReminderViewModel"},"nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"project":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewModel"},"parentTaskId":{"type":"integer","format":"int32","nullable":true},"dependsOnTaskId":{"type":"integer","format":"int32","nullable":true},"checklistJson":{"type":"string","nullable":true},"checklistTotalCount":{"type":"integer","format":"int32","readOnly":true},"checklistCompletedCount":{"type":"integer","format":"int32","readOnly":true},"estimatedHours":{"maximum":10000,"minimum":0,"type":"number","format":"double","nullable":true},"actualHours":{"maximum":10000,"minimum":0,"type":"number","format":"double","nullable":true},"completedDate":{"type":"string","format":"date-time","nullable":true},"statusString":{"type":"string","nullable":true,"readOnly":true},"isBlocked":{"type":"boolean","readOnly":true},"hasSubTasks":{"type":"boolean","readOnly":true},"completedSubTasksCount":{"type":"integer","format":"int32","readOnly":true},"subTaskProgress":{"type":"integer","format":"int32","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Catalogs.CatalogCalculationComponentType":{"enum":[0,1,2,3,4],"type":"integer","format":"int32"},"ViewModels.Commerce.Commissions.CommissionReferenceViewModel":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"number":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"customerDesignation":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"customerId":{"type":"integer","format":"int32","nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"orderId":{"type":"integer","format":"int32","nullable":true},"isArchived":{"type":"boolean"},"numberLockedAtUtc":{"type":"string","format":"date-time","nullable":true},"createdAt":{"type":"string","format":"date-time","nullable":true},"createdBy":{"type":"string","format":"uuid","nullable":true},"modifiedAt":{"type":"string","format":"date-time","nullable":true},"modifiedBy":{"type":"string","format":"uuid","nullable":true},"isNumberLocked":{"type":"boolean","readOnly":true},"displayName":{"type":"string","nullable":true,"readOnly":true}},"additionalProperties":false},"ViewModels.Commerce.Invoices.AddressType":{"enum":[0,1,2,3,4,5],"type":"integer","format":"int32"},"ViewModels.Commerce.Invoices.InvoiceAddressViewModel":{"required":["city","country","postalCode","street"],"type":"object","properties":{"street":{"maxLength":100,"minLength":0,"type":"string"},"city":{"maxLength":50,"minLength":2,"type":"string"},"postalCode":{"minLength":1,"type":"string"},"country":{"minLength":1,"type":"string","format":"Enumeration"},"addressType":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.AddressType"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Invoices.InvoiceDeductionViewModel":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"deductedInvoiceId":{"type":"integer","format":"int32"},"deductedInvoiceNumber":{"type":"string","nullable":true},"deductedInvoiceDate":{"type":"string","format":"date"},"originalAmount":{"type":"number","format":"double"},"deductionAmount":{"maximum":1.7976931348623157E+308,"minimum":0.01,"type":"number","format":"double"},"description":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"isSelected":{"type":"boolean"},"remainingDeductibleAmount":{"type":"number","format":"double"}},"additionalProperties":false},"ViewModels.Commerce.Invoices.InvoiceGroupType":{"enum":[1,2,3],"type":"integer","format":"int32"},"ViewModels.Commerce.Invoices.InvoiceKind":{"enum":[0,1,2,3,4,5,6,7,8],"type":"integer","format":"int32"},"ViewModels.Commerce.Invoices.InvoicePaymentMethod":{"enum":[0,1,2,3,4],"type":"integer","format":"int32"},"ViewModels.Commerce.Invoices.InvoicePaymentSource":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Commerce.Invoices.InvoicePaymentViewModel":{"type":"object","properties":{"invoiceId":{"type":"integer","format":"int32"},"paidOn":{"type":"string","format":"date"},"amount":{"type":"number","format":"double"},"dunningFeeAmount":{"type":"number","format":"double"},"dunningFeesWaived":{"type":"boolean"},"method":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoicePaymentMethod"},"source":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoicePaymentSource"},"reference":{"type":"string","nullable":true},"note":{"type":"string","nullable":true},"previousInvoiceStatus":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceStatus"},"journalEntryId":{"type":"integer","format":"int32","nullable":true},"cashBookEntryId":{"type":"integer","format":"int32","nullable":true},"createdAt":{"type":"string","format":"date-time","nullable":true},"invoiceShare":{"type":"number","format":"double","readOnly":true},"isBooked":{"type":"boolean","readOnly":true},"canBeRemoved":{"type":"boolean","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Invoices.InvoiceStatus":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12],"type":"integer","format":"int32"},"ViewModels.Commerce.Invoices.InvoiceTemplateViewModel":{"required":["name"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string"},"description":{"maxLength":500,"minLength":0,"type":"string","format":"multiline","nullable":true},"category":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductEditorViewModel"},"nullable":true},"beforeText":{"maxLength":20000,"type":"string","nullable":true},"afterText":{"maxLength":20000,"type":"string","nullable":true},"kind":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceKind"},"paymentCondition":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentCondition"},"paymentTerm":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentTerm"},"scontoAllowed":{"type":"boolean"},"scontoAmount":{"type":"number","format":"double"},"scontoPaymentTerm":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentTerm"},"isReverseCharge":{"type":"boolean"},"reverseChargeNotice":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"isSmallBusiness":{"type":"boolean"},"smallBusinessNotice":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time","nullable":true},"proprietorId":{"type":"integer","format":"int32","nullable":true},"onlyForMe":{"type":"boolean"},"totalAmount":{"type":"number","format":"double","readOnly":true},"itemCount":{"type":"integer","format":"int32","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Invoices.InvoiceViewModel":{"required":["dueDate","issuedDate"],"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","nullable":true},"createdBy":{"type":"string","format":"uuid","nullable":true},"createdByName":{"type":"string","nullable":true},"modifiedAt":{"type":"string","format":"date-time","nullable":true},"modifiedBy":{"type":"string","format":"uuid","nullable":true},"modifiedByName":{"type":"string","nullable":true},"commissionId":{"type":"integer","format":"int32","nullable":true},"commission":{"$ref":"#/components/schemas/ViewModels.Commerce.Commissions.CommissionReferenceViewModel"},"commissionNumber":{"type":"string","nullable":true,"readOnly":true},"commissionName":{"type":"string","nullable":true,"readOnly":true},"commissionCustomerDesignation":{"type":"string","nullable":true,"readOnly":true},"commissionText":{"type":"string","nullable":true,"readOnly":true},"salesPriceListId":{"type":"integer","format":"int32","nullable":true},"pricingDate":{"type":"string","format":"date","nullable":true},"tenantId":{"type":"integer","format":"int32"},"publicId":{"type":"string","format":"uuid"},"documentVersion":{"type":"integer","format":"int32"},"description":{"maxLength":1000,"minLength":0,"type":"string","format":"multiline","nullable":true},"number":{"maxLength":50,"type":"string","nullable":true},"customer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"customerAddress":{"maxLength":1000,"minLength":0,"type":"string","format":"multiline","nullable":true},"customerSnapshot":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.CustomerAddressSnapshotViewModel"},"customerAddressForDisplay":{"type":"string","nullable":true,"readOnly":true},"customerAddressForDisplayHtml":{"type":"string","nullable":true,"readOnly":true},"issuedDate":{"type":"string","format":"date"},"issuedDateFormatted":{"type":"string","nullable":true,"readOnly":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductEditorViewModel"},"nullable":true},"hasSaveableContent":{"type":"boolean","readOnly":true},"amount":{"type":"number","format":"double"},"isReverseCharge":{"type":"boolean"},"reverseChargeNotice":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"isSmallBusiness":{"type":"boolean"},"smallBusinessNotice":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"isNotVatLiable":{"type":"boolean"},"isVatExempt":{"type":"boolean","readOnly":true},"amountCalculated":{"type":"number","format":"double","readOnly":true},"amountCalculatedVat":{"type":"number","format":"double","readOnly":true},"amountCalculatedWithVat":{"type":"number","format":"double","readOnly":true},"amountPayable":{"type":"number","format":"double","readOnly":true},"validPeriodInDays":{"type":"integer","format":"int32"},"paymentCondition":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentCondition"},"paymentConditionFriendly":{"type":"string","nullable":true,"readOnly":true},"paymentTerm":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentTerm"},"paymentTermFriendly":{"type":"string","nullable":true,"readOnly":true},"scontoAllowed":{"type":"boolean"},"scontoAmount":{"type":"number","format":"double"},"scontoPaymentTerm":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentTerm"},"sent":{"type":"boolean"},"beforeText":{"maxLength":20000,"type":"string","nullable":true},"afterText":{"maxLength":20000,"type":"string","nullable":true},"customProperties":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"sections":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.SectionViewModel"},"nullable":true},"vats":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.VatSummaryViewModel"},"nullable":true},"taxRates":{"type":"array","items":{"type":"number","format":"double"},"nullable":true,"readOnly":true},"sendMessageText":{"type":"string","nullable":true},"senderEmails":{"type":"string","nullable":true},"senderPhones":{"type":"string","nullable":true},"sendMessageAdditionalAttachments":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"},"nullable":true},"viewedByCustomer":{"type":"boolean"},"viewedByCustomerAt":{"type":"string","format":"date-time","nullable":true},"customerViewCount":{"type":"integer","format":"int32"},"kind":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceKind"},"relatedOrder":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"},"relatedOffer":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"},"status":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceStatus"},"dueDate":{"type":"string","format":"date"},"paidAmount":{"maximum":1.7976931348623157E+308,"minimum":0,"type":"number","format":"double"},"payments":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoicePaymentViewModel"},"nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"project":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewModel"},"batchId":{"type":"string","format":"uuid","nullable":true},"batchReference":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"servicePeriodStartDate":{"type":"string","format":"date","nullable":true},"servicePeriodEndDate":{"type":"string","format":"date","nullable":true},"hasServicePeriod":{"type":"boolean","readOnly":true},"deliveryDate":{"type":"string","format":"date","nullable":true},"hasDeliveryDate":{"type":"boolean","readOnly":true},"paymentInitiatedAt":{"type":"string","format":"date-time","nullable":true},"customerSelectedPaymentMethod":{"type":"string","nullable":true},"subscription":{"$ref":"#/components/schemas/ViewModels.Commerce.Subscriptions.SubscriptionViewModel"},"isSubscription":{"type":"boolean"},"subscriptionStartDate":{"type":"string","format":"date","nullable":true},"subscriptionEndDate":{"type":"string","format":"date","nullable":true},"subscriptionPeriod":{"$ref":"#/components/schemas/ViewModels.Commerce.Subscriptions.SubscriptionPeriod"},"subscriptionStatus":{"$ref":"#/components/schemas/ViewModels.Commerce.Subscriptions.OrderSubscriptionStatus"},"autoBill":{"type":"boolean"},"isActiveSubscription":{"type":"boolean","readOnly":true},"isPausedSubscription":{"type":"boolean","readOnly":true},"isCancelledSubscription":{"type":"boolean","readOnly":true},"nextBillingDate":{"type":"string","format":"date","nullable":true,"readOnly":true},"sentAt":{"type":"string","format":"date-time","nullable":true},"sentChannel":{"type":"string","nullable":true},"sentCount":{"type":"integer","format":"int32"},"isSent":{"type":"boolean","readOnly":true},"currentDunningLevel":{"type":"integer","format":"int32"},"lastDunnedAt":{"type":"string","format":"date","nullable":true},"openDunningFee":{"type":"number","format":"double"},"hasOpenDunningFee":{"type":"boolean","readOnly":true},"isOverdue":{"type":"boolean","readOnly":true},"canBeDunned":{"type":"boolean","readOnly":true},"allowedActions":{"$ref":"#/components/schemas/Homepage.ViewModels.Services.InvoiceAllowedActions"},"isTerminalState":{"type":"boolean","readOnly":true},"isArchived":{"type":"boolean","readOnly":true},"isEditable":{"type":"boolean","readOnly":true},"isPaid":{"type":"boolean","readOnly":true},"remainingAmount":{"type":"number","format":"double","readOnly":true},"isValidReverseChargeInvoice":{"type":"boolean","readOnly":true},"reverseChargeValidationError":{"type":"string","nullable":true,"readOnly":true},"groupType":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceGroupType"},"parentInvoiceId":{"type":"integer","format":"int32","nullable":true},"childInvoices":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceViewModel"},"nullable":true},"isContainer":{"type":"boolean"},"splitShare":{"type":"number","format":"double","nullable":true},"isGroupContainer":{"type":"boolean","readOnly":true},"isGroupChild":{"type":"boolean","readOnly":true},"isSplitInvoice":{"type":"boolean","readOnly":true},"splitShareDisplayText":{"type":"string","nullable":true,"readOnly":true},"splitAmount":{"type":"number","format":"double","nullable":true,"readOnly":true},"installmentNumber":{"type":"integer","format":"int32","nullable":true},"totalInstallments":{"type":"integer","format":"int32","nullable":true},"percentageOfTotal":{"maximum":100,"minimum":0,"type":"number","format":"double","nullable":true},"appliedAmount":{"type":"number","format":"double"},"deductions":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceDeductionViewModel"},"nullable":true},"availableAdvancePayments":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceDeductionViewModel"},"nullable":true},"totalDeductions":{"type":"number","format":"double","readOnly":true},"amountAfterDeductions":{"type":"number","format":"double","readOnly":true},"remainingDeductibleAmount":{"type":"number","format":"double","readOnly":true},"hasRemainingDeductibleAmount":{"type":"boolean","readOnly":true},"isAdvanceOrPartialInvoice":{"type":"boolean","readOnly":true},"isFinalInvoice":{"type":"boolean","readOnly":true},"installmentDisplayText":{"type":"string","nullable":true,"readOnly":true},"pdfBlobPath":{"type":"string","nullable":true},"zugFerdPdfBlobPath":{"type":"string","nullable":true},"xmlBlobPath":{"type":"string","nullable":true},"hasPdf":{"type":"boolean","readOnly":true},"hasZugFerdPdf":{"type":"boolean","readOnly":true},"hasXml":{"type":"boolean","readOnly":true},"hasAnyDocument":{"type":"boolean","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Offers.OfferState":{"enum":[0,1,2,3,4,5,6,7],"type":"integer","format":"int32"},"ViewModels.Commerce.Offers.OfferViewModel":{"required":["issuedDate"],"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","nullable":true},"createdBy":{"type":"string","format":"uuid","nullable":true},"createdByName":{"type":"string","nullable":true},"modifiedAt":{"type":"string","format":"date-time","nullable":true},"modifiedBy":{"type":"string","format":"uuid","nullable":true},"modifiedByName":{"type":"string","nullable":true},"commissionId":{"type":"integer","format":"int32","nullable":true},"commission":{"$ref":"#/components/schemas/ViewModels.Commerce.Commissions.CommissionReferenceViewModel"},"commissionNumber":{"type":"string","nullable":true,"readOnly":true},"commissionName":{"type":"string","nullable":true,"readOnly":true},"commissionCustomerDesignation":{"type":"string","nullable":true,"readOnly":true},"commissionText":{"type":"string","nullable":true,"readOnly":true},"salesPriceListId":{"type":"integer","format":"int32","nullable":true},"pricingDate":{"type":"string","format":"date","nullable":true},"tenantId":{"type":"integer","format":"int32"},"publicId":{"type":"string","format":"uuid"},"documentVersion":{"type":"integer","format":"int32"},"description":{"maxLength":1000,"minLength":0,"type":"string","format":"multiline","nullable":true},"number":{"maxLength":50,"type":"string","nullable":true},"customer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"customerAddress":{"maxLength":1000,"minLength":0,"type":"string","format":"multiline","nullable":true},"customerSnapshot":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.CustomerAddressSnapshotViewModel"},"customerAddressForDisplay":{"type":"string","nullable":true,"readOnly":true},"customerAddressForDisplayHtml":{"type":"string","nullable":true,"readOnly":true},"issuedDate":{"type":"string","format":"date"},"issuedDateFormatted":{"type":"string","nullable":true,"readOnly":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductEditorViewModel"},"nullable":true},"hasSaveableContent":{"type":"boolean","readOnly":true},"amount":{"type":"number","format":"double"},"isReverseCharge":{"type":"boolean"},"reverseChargeNotice":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"isSmallBusiness":{"type":"boolean"},"smallBusinessNotice":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"isNotVatLiable":{"type":"boolean"},"isVatExempt":{"type":"boolean","readOnly":true},"amountCalculated":{"type":"number","format":"double","readOnly":true},"amountCalculatedVat":{"type":"number","format":"double","readOnly":true},"amountCalculatedWithVat":{"type":"number","format":"double","readOnly":true},"amountPayable":{"type":"number","format":"double","readOnly":true},"validPeriodInDays":{"type":"integer","format":"int32"},"paymentCondition":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentCondition"},"paymentConditionFriendly":{"type":"string","nullable":true,"readOnly":true},"paymentTerm":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentTerm"},"paymentTermFriendly":{"type":"string","nullable":true,"readOnly":true},"scontoAllowed":{"type":"boolean"},"scontoAmount":{"type":"number","format":"double"},"scontoPaymentTerm":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentTerm"},"sent":{"type":"boolean"},"beforeText":{"maxLength":20000,"type":"string","nullable":true},"afterText":{"maxLength":20000,"type":"string","nullable":true},"customProperties":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"sections":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.SectionViewModel"},"nullable":true},"vats":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.VatSummaryViewModel"},"nullable":true},"taxRates":{"type":"array","items":{"type":"number","format":"double"},"nullable":true,"readOnly":true},"sendMessageText":{"type":"string","nullable":true},"senderEmails":{"type":"string","nullable":true},"senderPhones":{"type":"string","nullable":true},"sendMessageAdditionalAttachments":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"},"nullable":true},"viewedByCustomer":{"type":"boolean"},"viewedByCustomerAt":{"type":"string","format":"date-time","nullable":true},"customerViewCount":{"type":"integer","format":"int32"},"requestDate":{"type":"string","format":"date"},"state":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferState"},"projectId":{"type":"integer","format":"int32","nullable":true},"caseId":{"type":"integer","format":"int32","nullable":true},"project":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewModel"},"customerConfirmed":{"type":"boolean","nullable":true},"customerRespondedAt":{"type":"string","format":"date-time","nullable":true},"customerRejectionReason":{"type":"string","nullable":true},"customerComment":{"type":"string","nullable":true},"followedUpAt":{"type":"string","format":"date-time","nullable":true},"followUpCount":{"type":"integer","format":"int32"},"followUpNote":{"type":"string","nullable":true},"validUntil":{"type":"string","format":"date","nullable":true,"readOnly":true},"allowedActions":{"$ref":"#/components/schemas/Homepage.ViewModels.Services.OfferAllowedActions"},"isTerminalState":{"type":"boolean","readOnly":true},"isEditable":{"type":"boolean","readOnly":true},"isArchived":{"type":"boolean"},"archivedDate":{"type":"string","format":"date-time","nullable":true},"isReadyToArchive":{"type":"boolean"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Orders.CommunicationLedgerViewModel":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/Homepage.ViewModels.Communication.CommunicationType"},"channel":{"type":"string","nullable":true},"direction":{"$ref":"#/components/schemas/Homepage.ViewModels.Communication.CommunicationDirection"},"status":{"$ref":"#/components/schemas/Homepage.ViewModels.Communication.CommunicationStatus"},"subject":{"type":"string","nullable":true},"timeStamp":{"type":"string","format":"date-time"},"text":{"type":"string","nullable":true},"sender":{"type":"string","nullable":true},"receiver":{"type":"string","nullable":true},"correlationId":{"type":"string","format":"uuid","nullable":true},"customerId":{"type":"integer","format":"int32","nullable":true},"customerName":{"type":"string","nullable":true},"referenceType":{"type":"string","nullable":true},"referenceIdentitier":{"type":"string","nullable":true},"referenceName":{"type":"string","nullable":true},"referenceUrl":{"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Orders.ConditionViewModel":{"type":"object","properties":{"ratePerHour":{"maximum":1.7976931348623157E+308,"minimum":0,"type":"number","format":"double"},"shippingCondition":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.ShippingCondition"},"paymentCondition":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentCondition"},"paymentTerms":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentTerm"},"reverseChargePossible":{"type":"boolean"},"preferReverseCharge":{"type":"boolean"}},"additionalProperties":false},"ViewModels.Commerce.Orders.CustomerAddressSnapshotViewModel":{"type":"object","properties":{"name":{"type":"string","nullable":true},"street":{"type":"string","nullable":true},"addressExtra":{"type":"string","nullable":true},"postalCode":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"countryCode":{"type":"string","nullable":true},"vatNumber":{"type":"string","nullable":true},"routeId":{"type":"string","nullable":true},"contactName":{"type":"string","nullable":true},"contactEmail":{"type":"string","nullable":true},"contactPhone":{"type":"string","nullable":true},"hasContent":{"type":"boolean","readOnly":true}},"additionalProperties":false},"ViewModels.Commerce.Orders.DeliverySlipInfoViewModel":{"type":"object","properties":{"commissionId":{"type":"integer","format":"int32","nullable":true},"commission":{"$ref":"#/components/schemas/ViewModels.Commerce.Commissions.CommissionReferenceViewModel"},"orderId":{"type":"integer","format":"int32"},"number":{"type":"string","nullable":true},"status":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.DeliverySlipStatus"},"kind":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.DeliverySlipKind"},"isReturn":{"type":"boolean","readOnly":true},"kindLabel":{"type":"string","nullable":true,"readOnly":true},"issuedDate":{"type":"string","format":"date"},"createdAt":{"type":"string","format":"date-time"},"createdByUserId":{"type":"string","nullable":true},"createdByUserName":{"type":"string","nullable":true},"createdBy":{"type":"string","format":"uuid","nullable":true},"createdByName":{"type":"string","nullable":true},"pdfBlobPath":{"type":"string","nullable":true},"notes":{"type":"string","nullable":true},"sentAt":{"type":"string","format":"date-time","nullable":true},"sentChannel":{"type":"string","nullable":true},"cancelledAt":{"type":"string","format":"date-time","nullable":true},"postedAtUtc":{"type":"string","format":"date-time","nullable":true},"rowVersion":{"type":"string","format":"byte","nullable":true},"cancellationReason":{"type":"string","nullable":true},"invoiceId":{"type":"integer","format":"int32","nullable":true},"invoiceNumber":{"type":"string","nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.DeliverySlipItemInfoViewModel"},"nullable":true},"isCancelled":{"type":"boolean","readOnly":true},"isInvoiced":{"type":"boolean","readOnly":true},"totalQuantity":{"type":"number","format":"double","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Orders.DeliverySlipItemInfoViewModel":{"type":"object","properties":{"orderItemId":{"type":"integer","format":"int32","nullable":true},"itemName":{"type":"string","nullable":true},"deliveredQuantity":{"type":"number","format":"double"},"sortOrder":{"type":"integer","format":"int32"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Orders.DeliverySlipKind":{"enum":[0,1],"type":"integer","format":"int32"},"ViewModels.Commerce.Orders.DeliverySlipStatus":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Commerce.Orders.OrderAssigneeViewModel":{"type":"object","properties":{"userId":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true},"source":{"type":"string","nullable":true},"assignedDate":{"type":"string","format":"date-time","nullable":true}},"additionalProperties":false},"ViewModels.Commerce.Orders.OrderState":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"type":"integer","format":"int32"},"ViewModels.Commerce.Orders.OrderViewModel":{"required":["issuedDate"],"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","nullable":true},"createdBy":{"type":"string","format":"uuid","nullable":true},"createdByName":{"type":"string","nullable":true},"modifiedAt":{"type":"string","format":"date-time","nullable":true},"modifiedBy":{"type":"string","format":"uuid","nullable":true},"modifiedByName":{"type":"string","nullable":true},"commissionId":{"type":"integer","format":"int32","nullable":true},"commission":{"$ref":"#/components/schemas/ViewModels.Commerce.Commissions.CommissionReferenceViewModel"},"commissionNumber":{"type":"string","nullable":true,"readOnly":true},"commissionName":{"type":"string","nullable":true,"readOnly":true},"commissionCustomerDesignation":{"type":"string","nullable":true,"readOnly":true},"commissionText":{"type":"string","nullable":true,"readOnly":true},"salesPriceListId":{"type":"integer","format":"int32","nullable":true},"pricingDate":{"type":"string","format":"date","nullable":true},"tenantId":{"type":"integer","format":"int32"},"publicId":{"type":"string","format":"uuid"},"documentVersion":{"type":"integer","format":"int32"},"description":{"maxLength":1000,"minLength":0,"type":"string","format":"multiline","nullable":true},"number":{"maxLength":50,"type":"string","nullable":true},"customer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"customerAddress":{"maxLength":1000,"minLength":0,"type":"string","format":"multiline","nullable":true},"customerSnapshot":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.CustomerAddressSnapshotViewModel"},"customerAddressForDisplay":{"type":"string","nullable":true,"readOnly":true},"customerAddressForDisplayHtml":{"type":"string","nullable":true,"readOnly":true},"issuedDate":{"type":"string","format":"date"},"issuedDateFormatted":{"type":"string","nullable":true,"readOnly":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductEditorViewModel"},"nullable":true},"hasSaveableContent":{"type":"boolean","readOnly":true},"amount":{"type":"number","format":"double"},"isReverseCharge":{"type":"boolean"},"reverseChargeNotice":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"isSmallBusiness":{"type":"boolean"},"smallBusinessNotice":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"isNotVatLiable":{"type":"boolean"},"isVatExempt":{"type":"boolean","readOnly":true},"amountCalculated":{"type":"number","format":"double","readOnly":true},"amountCalculatedVat":{"type":"number","format":"double","readOnly":true},"amountCalculatedWithVat":{"type":"number","format":"double","readOnly":true},"amountPayable":{"type":"number","format":"double","readOnly":true},"validPeriodInDays":{"type":"integer","format":"int32"},"paymentCondition":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentCondition"},"paymentConditionFriendly":{"type":"string","nullable":true,"readOnly":true},"paymentTerm":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentTerm"},"paymentTermFriendly":{"type":"string","nullable":true,"readOnly":true},"scontoAllowed":{"type":"boolean"},"scontoAmount":{"type":"number","format":"double"},"scontoPaymentTerm":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.PaymentTerm"},"sent":{"type":"boolean"},"beforeText":{"maxLength":20000,"type":"string","nullable":true},"afterText":{"maxLength":20000,"type":"string","nullable":true},"customProperties":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"sections":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.SectionViewModel"},"nullable":true},"vats":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.VatSummaryViewModel"},"nullable":true},"taxRates":{"type":"array","items":{"type":"number","format":"double"},"nullable":true,"readOnly":true},"sendMessageText":{"type":"string","nullable":true},"senderEmails":{"type":"string","nullable":true},"senderPhones":{"type":"string","nullable":true},"sendMessageAdditionalAttachments":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"},"nullable":true},"viewedByCustomer":{"type":"boolean"},"viewedByCustomerAt":{"type":"string","format":"date-time","nullable":true},"customerViewCount":{"type":"integer","format":"int32"},"relatedOffer":{"$ref":"#/components/schemas/ViewModels.Commerce.Offers.OfferViewModel"},"relatedInvoiceId":{"type":"integer","format":"int32","nullable":true},"relatedInvoiceNumber":{"type":"string","nullable":true},"hasRelatedInvoice":{"type":"boolean","readOnly":true},"isListRow":{"type":"boolean"},"listPositionCount":{"type":"integer","format":"int32","nullable":true},"listNetAmount":{"type":"number","format":"double","nullable":true},"positionCount":{"type":"integer","format":"int32","readOnly":true},"netAmount":{"type":"number","format":"double","readOnly":true},"state":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderState"},"done":{"type":"boolean"},"plannedFor":{"type":"string","format":"date-time","nullable":true},"plannedWorkTime":{"type":"string","format":"date-span"},"location":{"$ref":"#/components/schemas/Azure.Core.GeoJson.GeoPosition"},"hasLocation":{"type":"boolean","readOnly":true},"customerHasNoContactData":{"type":"boolean","readOnly":true},"assignees":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderAssigneeViewModel"},"nullable":true},"suggestedAssignees":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderAssigneeViewModel"},"nullable":true},"effectiveAssigneeIds":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"projectId":{"type":"integer","format":"int32","nullable":true},"caseId":{"type":"integer","format":"int32","nullable":true},"project":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewModel"},"parentOrderId":{"type":"integer","format":"int32","nullable":true},"parentOrder":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"},"childOrders":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.OrderViewModel"},"nullable":true},"isFollowUpOrder":{"type":"boolean","readOnly":true},"hasFollowUpOrders":{"type":"boolean","readOnly":true},"allowedActions":{"$ref":"#/components/schemas/Homepage.ViewModels.Services.OrderAllowedActions"},"isTerminalState":{"type":"boolean","readOnly":true},"isEditable":{"type":"boolean","readOnly":true},"isCompleted":{"type":"boolean","readOnly":true},"deliverySlips":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Orders.DeliverySlipInfoViewModel"},"nullable":true},"deliverySlipCount":{"type":"integer","format":"int32","readOnly":true},"hasDeliverySlips":{"type":"boolean","readOnly":true},"isFullyDelivered":{"type":"boolean","readOnly":true},"isPartiallyDelivered":{"type":"boolean","readOnly":true},"internalNote":{"maxLength":4000,"type":"string","nullable":true},"isSubscription":{"type":"boolean"},"subscriptionStartDate":{"type":"string","format":"date","nullable":true},"subscriptionEndDate":{"type":"string","format":"date","nullable":true},"subscriptionPeriod":{"$ref":"#/components/schemas/ViewModels.Commerce.Subscriptions.SubscriptionPeriod"},"subscriptionStatus":{"$ref":"#/components/schemas/ViewModels.Commerce.Subscriptions.OrderSubscriptionStatus"},"autoBill":{"type":"boolean"},"isActiveSubscription":{"type":"boolean","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Orders.PaymentCondition":{"enum":[0,1,2,4,8,16,32,64],"type":"integer","format":"int32"},"ViewModels.Commerce.Orders.PaymentTerm":{"enum":[0,1,2,3,4,5,6,7,8,9],"type":"integer","format":"int32"},"ViewModels.Commerce.Orders.SectionViewModel":{"type":"object","properties":{"title":{"type":"string","nullable":true},"header":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductEditorViewModel"},"standardItems":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductEditorViewModel"},"nullable":true},"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductEditorViewModel"},"nullable":true},"isServiceSection":{"type":"boolean"},"targetCustomerId":{"type":"integer","format":"int32","nullable":true},"targetCustomer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"targetAddressDisplay":{"type":"string","nullable":true},"subtotal19":{"type":"number","format":"double","readOnly":true},"subtotal07":{"type":"number","format":"double","readOnly":true},"subtotalAll":{"type":"number","format":"double","readOnly":true},"subtotalAllWithVat":{"type":"number","format":"double","readOnly":true}},"additionalProperties":false},"ViewModels.Commerce.Orders.ShippingCondition":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Commerce.Pricing.ResolvedTradePriceSource":{"enum":[0,1,2,3,4,5,6,7,8,9,10],"type":"integer","format":"int32"},"ViewModels.Commerce.Products.CalculatedProductComponent":{"type":"object","properties":{"supplierOfferId":{"type":"integer","format":"int32"},"supplierName":{"type":"string","nullable":true},"sortOrder":{"type":"integer","format":"int32"},"description":{"type":"string","nullable":true},"quantity":{"type":"number","format":"double"},"unit":{"type":"string","nullable":true},"unitPrice":{"type":"number","format":"double"},"totalPrice":{"type":"number","format":"double"},"notes":{"type":"string","nullable":true}},"additionalProperties":false},"ViewModels.Commerce.Products.CalculatedProductMetadata":{"type":"object","properties":{"type":{"type":"string","nullable":true},"calculationKey":{"type":"string","nullable":true},"scope":{"type":"string","nullable":true},"projectId":{"type":"integer","format":"int32"},"projectName":{"type":"string","nullable":true},"lotId":{"type":"integer","format":"int32","nullable":true},"lotName":{"type":"string","nullable":true},"totalCost":{"type":"number","format":"double"},"markupPercent":{"type":"number","format":"double"},"salesPrice":{"type":"number","format":"double"},"itemCount":{"type":"integer","format":"int32"},"calculatedAtUtc":{"type":"string","format":"date-time"},"components":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CalculatedProductComponent"},"nullable":true}},"additionalProperties":false},"ViewModels.Commerce.Products.CategoryViewModel":{"required":["name"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string"},"description":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"products":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"},"nullable":true},"shopVisibility":{"type":"boolean"},"productCount":{"type":"integer","format":"int32","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Products.CommercialCostSourceViewModel":{"enum":[0,1,2,3,4,5,6],"type":"integer","format":"int32"},"ViewModels.Commerce.Products.FormulaInputValueViewModel":{"type":"object","properties":{"name":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"symbol":{"type":"string","nullable":true},"value":{"type":"number","format":"double"},"decimals":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"ViewModels.Commerce.Products.FormulaSnapshotViewModel":{"type":"object","properties":{"formula":{"type":"string","nullable":true},"formulaIsPrice":{"type":"boolean"},"measure":{"type":"number","format":"double","nullable":true},"resultSymbol":{"type":"string","nullable":true},"resultDecimals":{"type":"integer","format":"int32","nullable":true},"basePrice":{"type":"number","format":"double","nullable":true},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.FormulaInputValueViewModel"},"nullable":true},"drawingSvg":{"type":"string","nullable":true},"productVariables":{"type":"object","additionalProperties":{"type":"number","format":"double"},"nullable":true},"measurement":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.MeasurementCalculationViewModel"}},"additionalProperties":false},"ViewModels.Commerce.Products.InventoryValuationMethodViewModel":{"enum":[1,2],"type":"integer","format":"int32"},"ViewModels.Commerce.Products.MeasurementCalculationRowViewModel":{"type":"object","properties":{"formula":{"type":"string","nullable":true},"factor":{"type":"number","format":"double"},"result":{"type":"number","format":"double"},"quantity":{"type":"number","format":"double"},"note":{"type":"string","nullable":true}},"additionalProperties":false},"ViewModels.Commerce.Products.MeasurementCalculationViewModel":{"type":"object","properties":{"sheetId":{"type":"integer","format":"int32"},"sheetNumber":{"type":"string","nullable":true},"kind":{"type":"string","nullable":true},"measurementDate":{"type":"string","format":"date","nullable":true},"unitLabel":{"type":"string","nullable":true},"quantity":{"type":"number","format":"double"},"decimals":{"type":"integer","format":"int32"},"rows":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.MeasurementCalculationRowViewModel"},"nullable":true}},"additionalProperties":false},"ViewModels.Commerce.Products.ProcurementPriceSourceViewModel":{"enum":[1,2,3],"type":"integer","format":"int32"},"ViewModels.Commerce.Products.ProductEditorViewModel":{"required":["name","price"],"type":"object","properties":{"temporaryId":{"type":"string","format":"uuid"},"name":{"maxLength":500,"minLength":0,"type":"string"},"description":{"maxLength":2000,"minLength":0,"type":"string","format":"multiline","nullable":true},"price":{"maximum":1.7976931348623157E+308,"minimum":0,"type":"number","format":"double"},"priceSource":{"$ref":"#/components/schemas/ViewModels.Commerce.Pricing.ResolvedTradePriceSource"},"salesPriceListIdSnapshot":{"type":"integer","format":"int32","nullable":true},"salesPriceTierIdSnapshot":{"type":"integer","format":"int32","nullable":true},"priceResolvedAtUtc":{"type":"string","format":"date-time","nullable":true},"appliedMinimumQuantity":{"type":"number","format":"double","nullable":true},"isPriceOverridden":{"type":"boolean"},"costSnapshotNet":{"type":"number","format":"double","nullable":true},"costSnapshotAtUtc":{"type":"string","format":"date-time","nullable":true},"isLegacyCostFallback":{"type":"boolean"},"priceDiscounted":{"type":"number","format":"double","readOnly":true},"discountDisplay":{"type":"string","nullable":true,"readOnly":true},"priceVat":{"type":"number","format":"double","readOnly":true},"priceWithVat":{"type":"number","format":"double","readOnly":true},"priceTotal":{"type":"number","format":"double","readOnly":true},"discount":{"maximum":100,"minimum":0,"type":"number","format":"double","nullable":true},"sku":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"useStock":{"type":"boolean"},"currentStockQuantity":{"type":"number","format":"double","nullable":true},"assignedQuantity":{"type":"number","format":"double","nullable":true},"total":{"type":"number","format":"double","readOnly":true},"totalWithVat":{"type":"number","format":"double","readOnly":true},"kind":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductKind"},"vat":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.VatViewModel"},"vatId":{"type":"integer","format":"int32","nullable":true},"unit":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"},"unitId":{"type":"integer","format":"int32","nullable":true},"formulaSnapshotJson":{"type":"string","nullable":true},"alternatePosition":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductPositionType"},"subPositionParent":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductEditorViewModel"},"productParent":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductEditorViewModel"},"parentId":{"type":"integer","format":"int32","nullable":true},"reduceStock":{"type":"boolean"},"productVariantId":{"type":"integer","format":"int32","nullable":true},"variantValue":{"type":"string","nullable":true},"variantName":{"type":"string","nullable":true},"hasVariant":{"type":"boolean","readOnly":true},"displayNameWithVariant":{"type":"string","nullable":true,"readOnly":true},"positionOrder":{"type":"integer","format":"int32"},"isDropTarget":{"type":"boolean"},"targetCustomerId":{"type":"integer","format":"int32","nullable":true},"targetCustomer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"targetAddressDisplay":{"type":"string","nullable":true},"positionTypeName":{"type":"string","nullable":true,"readOnly":true},"hasFormula":{"type":"boolean","readOnly":true},"formulaSnapshot":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.FormulaSnapshotViewModel"},"formulaInputsFriendly":{"type":"string","nullable":true,"readOnly":true},"quantityFriendly":{"type":"string","nullable":true,"readOnly":true},"isFaktorMode":{"type":"boolean","readOnly":true},"faktorDisplay":{"type":"number","format":"double","readOnly":true},"isStandard":{"type":"boolean","readOnly":true},"isAlternative":{"type":"boolean","readOnly":true},"isSubposition":{"type":"boolean","readOnly":true},"isText":{"type":"boolean","readOnly":true},"isHeader":{"type":"boolean","readOnly":true},"isBreak":{"type":"boolean","readOnly":true},"isSubTotal":{"type":"boolean","readOnly":true},"isServiceSection":{"type":"boolean","readOnly":true},"isSectionHeader":{"type":"boolean","readOnly":true},"hasPricing":{"type":"boolean","readOnly":true},"hasDiscount":{"type":"boolean","readOnly":true},"sectionTitle":{"type":"string","nullable":true},"sectionSubTotal":{"type":"number","format":"double"},"sectionSubVat":{"type":"number","format":"double"},"sectionSubVatTotal":{"type":"number","format":"double"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Products.ProductKind":{"enum":[0,1,2,3,4],"type":"integer","format":"int32"},"ViewModels.Commerce.Products.ProductManufacturingComponent":{"type":"object","properties":{"componentType":{"$ref":"#/components/schemas/ViewModels.Commerce.Catalogs.CatalogCalculationComponentType"},"description":{"type":"string","nullable":true},"quantity":{"type":"number","format":"double"},"unitSymbol":{"type":"string","nullable":true},"unitPrice":{"type":"number","format":"double"}},"additionalProperties":false},"ViewModels.Commerce.Products.ProductManufacturingCost":{"type":"object","properties":{"components":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductManufacturingComponent"},"nullable":true},"markupPercent":{"type":"number","format":"double"}},"additionalProperties":false},"ViewModels.Commerce.Products.ProductPositionType":{"enum":[0,1,2,3,4,5,6,7],"type":"integer","format":"int32"},"ViewModels.Commerce.Products.ProductVariantAxisDataTypeViewModel":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Commerce.Products.ProductVariantAxisValueViewModel":{"required":["displayValue"],"type":"object","properties":{"axisId":{"type":"integer","format":"int32"},"displayValue":{"maxLength":120,"minLength":0,"type":"string"},"normalizedValue":{"maxLength":120,"minLength":0,"type":"string","nullable":true},"numericValue1":{"type":"number","format":"double","nullable":true},"numericValue2":{"type":"number","format":"double","nullable":true},"numericValue3":{"type":"number","format":"double","nullable":true},"unit":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"sortOrder":{"type":"integer","format":"int32"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Products.ProductVariantAxisViewModel":{"required":["name"],"type":"object","properties":{"productId":{"type":"integer","format":"int32"},"name":{"maxLength":100,"minLength":0,"type":"string"},"code":{"maxLength":80,"minLength":0,"type":"string","nullable":true},"dataType":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductVariantAxisDataTypeViewModel"},"unit":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"sortOrder":{"type":"integer","format":"int32"},"isRequired":{"type":"boolean"},"values":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductVariantAxisValueViewModel"},"nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Products.ProductVariantViewModel":{"required":["variantValue"],"type":"object","properties":{"productId":{"type":"integer","format":"int32"},"variantValue":{"maxLength":100,"minLength":0,"type":"string"},"sku":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"ean":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"priceOverride":{"type":"number","format":"double","nullable":true},"unitIdOverride":{"type":"integer","format":"int32","nullable":true},"vatIdOverride":{"type":"integer","format":"int32","nullable":true},"isActive":{"type":"boolean"},"sortOrder":{"type":"integer","format":"int32"},"currentStockQuantity":{"type":"number","format":"double","nullable":true},"axisValueIds":{"type":"array","items":{"type":"integer","format":"int32"},"nullable":true},"axisSelections":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Products.ProductViewModel":{"required":["name","price"],"type":"object","properties":{"name":{"maxLength":500,"minLength":0,"type":"string"},"description":{"maxLength":8000,"minLength":0,"type":"string","nullable":true},"price":{"maximum":1.7976931348623157E+308,"minimum":0,"type":"number","format":"double"},"sku":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"ean":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"useStock":{"type":"boolean"},"reduceStock":{"type":"boolean"},"currentStockQuantity":{"type":"number","format":"double","nullable":true},"kind":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductKind"},"plannedWorkTime":{"type":"string","format":"duration","nullable":true},"createdDate":{"type":"string","format":"date-time"},"updatedDate":{"type":"string","format":"date-time"},"previousVersionId":{"type":"integer","format":"int32","nullable":true},"previousVersion":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductViewModel"},"vat":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.VatViewModel"},"unit":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitViewModel"},"category":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CategoryViewModel"},"properties":{"type":"string","nullable":true},"variantDefinition":{"type":"string","nullable":true},"variantInfo":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.VariantDefinitionViewModel"},"variants":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductVariantViewModel"},"nullable":true},"hasVariants":{"type":"boolean","readOnly":true},"variantAxes":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductVariantAxisViewModel"},"nullable":true},"hasVariantAxes":{"type":"boolean","readOnly":true},"customProperties":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"calculationMetadata":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CalculatedProductMetadata"},"isCalculatedItem":{"type":"boolean","readOnly":true},"manufacturingCost":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProductManufacturingCost"},"hasManufacturingCost":{"type":"boolean","readOnly":true},"calculationOriginLabel":{"type":"string","nullable":true,"readOnly":true},"shopVisibility":{"type":"boolean"},"useCommercialPricing":{"type":"boolean"},"defaultSupplierId":{"type":"integer","format":"int32","nullable":true},"defaultSupplierName":{"type":"string","nullable":true},"procurementPriceSource":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.ProcurementPriceSourceViewModel"},"inventoryValuationMethod":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.InventoryValuationMethodViewModel"},"manualPurchasePriceNet":{"type":"number","format":"double","nullable":true},"manualReplacementCostNet":{"type":"number","format":"double","nullable":true},"reorderPoint":{"type":"integer","format":"int32","nullable":true},"reorderQuantity":{"type":"integer","format":"int32","nullable":true},"safetyStockQuantity":{"type":"integer","format":"int32","nullable":true},"commercialNotes":{"type":"string","nullable":true},"purchasePriceNet":{"type":"number","format":"double","nullable":true},"inventoryCostNet":{"type":"number","format":"double","nullable":true},"replacementCostNet":{"type":"number","format":"double","nullable":true},"purchasePriceSource":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CommercialCostSourceViewModel"},"inventoryCostSource":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CommercialCostSourceViewModel"},"replacementCostSource":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.CommercialCostSourceViewModel"},"purchasePriceUpdatedAt":{"type":"string","format":"date-time","nullable":true},"inventoryCostUpdatedAt":{"type":"string","format":"date-time","nullable":true},"replacementCostUpdatedAt":{"type":"string","format":"date-time","nullable":true},"purchasePriceExplanation":{"type":"string","nullable":true},"inventoryCostExplanation":{"type":"string","nullable":true},"replacementCostExplanation":{"type":"string","nullable":true},"medias":{"type":"array","items":{"type":"string"},"nullable":true},"vatId":{"type":"integer","format":"int32"},"unitId":{"type":"integer","format":"int32","nullable":true},"categoryId":{"type":"integer","format":"int32","nullable":true},"offerUsageCount":{"type":"integer","format":"int32"},"orderUsageCount":{"type":"integer","format":"int32"},"invoiceUsageCount":{"type":"integer","format":"int32"},"tenantId":{"type":"integer","format":"int32"},"tenantName":{"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Products.UnitDrawingConfigViewModel":{"type":"object","properties":{"enabled":{"type":"boolean"},"shapeKey":{"type":"string","nullable":true},"parameterMap":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"kind":{"type":"string","nullable":true},"serviceEndpoint":{"type":"string","nullable":true},"notes":{"type":"string","nullable":true}},"additionalProperties":false},"ViewModels.Commerce.Products.UnitInputViewModel":{"type":"object","properties":{"name":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"symbol":{"type":"string","nullable":true},"decimals":{"type":"integer","format":"int32","nullable":true},"default":{"type":"number","format":"double","nullable":true}},"additionalProperties":false},"ViewModels.Commerce.Products.UnitViewModel":{"required":["name"],"type":"object","properties":{"name":{"maxLength":50,"minLength":0,"type":"string"},"symbol":{"maxLength":10,"minLength":0,"type":"string","nullable":true},"formula":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"formulaIsPrice":{"type":"boolean"},"resultSymbol":{"maxLength":10,"minLength":0,"type":"string","nullable":true},"resultDecimals":{"maximum":6,"minimum":0,"type":"integer","format":"int32","nullable":true},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitInputViewModel"},"nullable":true},"drawingConfig":{"$ref":"#/components/schemas/ViewModels.Commerce.Products.UnitDrawingConfigViewModel"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Products.VariantDefinitionViewModel":{"type":"object","properties":{"name":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"ViewModels.Commerce.Products.VatSummaryViewModel":{"type":"object","properties":{"rate":{"type":"number","format":"double"},"total":{"type":"number","format":"double"},"totalVat":{"type":"number","format":"double"},"totalWithVat":{"type":"number","format":"double"},"rateFriendly":{"type":"string","nullable":true,"readOnly":true}},"additionalProperties":false},"ViewModels.Commerce.Products.VatViewModel":{"required":["name","rate"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string"},"rate":{"maximum":1,"minimum":0,"type":"number","format":"double"},"rateFriendly":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.ServiceContracts.OverageBehavior":{"enum":[0,1,2],"type":"integer","format":"int32"},"ViewModels.Commerce.ServiceContracts.ServiceContractViewModel":{"required":["contractedHoursPerPeriod","customerId","hourlyRate","name","startDate"],"type":"object","properties":{"name":{"maxLength":200,"minLength":0,"type":"string"},"description":{"maxLength":2000,"minLength":0,"type":"string","format":"multiline","nullable":true},"notes":{"maxLength":2000,"minLength":0,"type":"string","format":"multiline","nullable":true},"hourlyRate":{"maximum":9999.99,"minimum":0.01,"type":"number","format":"double"},"contractedHoursPerPeriod":{"maximum":9999.99,"minimum":0.25,"type":"number","format":"double"},"billingPeriod":{"$ref":"#/components/schemas/ViewModels.Commerce.Subscriptions.SubscriptionPeriod"},"startDate":{"type":"string","format":"date"},"endDate":{"type":"string","format":"date","nullable":true},"status":{"$ref":"#/components/schemas/ViewModels.Commerce.Subscriptions.OrderSubscriptionStatus"},"overageBehavior":{"$ref":"#/components/schemas/ViewModels.Commerce.ServiceContracts.OverageBehavior"},"autoBill":{"type":"boolean"},"customerId":{"type":"integer","format":"int32"},"customer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"projectId":{"type":"integer","format":"int32","nullable":true},"project":{"$ref":"#/components/schemas/Homepage.ViewModels.Projects.ProjectViewModel"},"invoiceTemplateId":{"type":"integer","format":"int32","nullable":true},"invoiceTemplate":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceTemplateViewModel"},"createdDate":{"type":"string","format":"date-time"},"updatedDate":{"type":"string","format":"date-time","nullable":true},"contractValuePerPeriod":{"type":"number","format":"double","readOnly":true},"isActive":{"type":"boolean","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Commerce.Subscriptions.OrderSubscriptionStatus":{"enum":[0,1,2],"type":"integer","format":"int32"},"ViewModels.Commerce.Subscriptions.SubscriptionPeriod":{"enum":[0,1,2],"type":"integer","format":"int32"},"ViewModels.Commerce.Subscriptions.SubscriptionViewModel":{"type":"object","properties":{"isSubscription":{"type":"boolean"},"startDate":{"type":"string","format":"date","nullable":true},"endDate":{"type":"string","format":"date","nullable":true},"period":{"$ref":"#/components/schemas/ViewModels.Commerce.Subscriptions.SubscriptionPeriod"},"status":{"$ref":"#/components/schemas/ViewModels.Commerce.Subscriptions.OrderSubscriptionStatus"},"autoBill":{"type":"boolean"},"showAutobill":{"type":"boolean","readOnly":true}},"additionalProperties":false},"ViewModels.Commerce.Suppliers.OrderingMethod":{"enum":[0,1,2,3,4,5,6,99],"type":"integer","format":"int32"},"ViewModels.Commerce.Suppliers.SupplierRelation":{"enum":[0,1,2,4,8,16,32],"type":"integer","format":"int32"},"ViewModels.Commerce.Suppliers.SupplierViewModel":{"required":["company","supplierId"],"type":"object","properties":{"supplierId":{"maxLength":50,"minLength":0,"type":"string"},"supplierCustomerId":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"vatNumber":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"crmProperties":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"company":{"maxLength":200,"minLength":0,"type":"string"},"relation":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.SupplierRelation"},"contact":{"maxLength":400,"minLength":0,"type":"string","nullable":true},"contactPerson":{"maxLength":400,"minLength":0,"type":"string","nullable":true},"address":{"maxLength":800,"minLength":0,"type":"string","nullable":true},"website":{"maxLength":2000,"minLength":0,"type":"string","format":"uri","nullable":true},"orderingMethod":{"$ref":"#/components/schemas/ViewModels.Commerce.Suppliers.OrderingMethod"},"paymentTerms":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"delivery":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"minimumOrderQuantity":{"maximum":2147483647,"minimum":0,"type":"integer","format":"int32"},"contractValidityStart":{"type":"string","format":"date","nullable":true},"contractValidityEnd":{"type":"string","format":"date","nullable":true},"qualityCertifications":{"maxLength":1000,"minLength":0,"type":"string","nullable":true},"note":{"maxLength":2000,"minLength":0,"type":"string","format":"multiline","nullable":true},"isContractValid":{"type":"boolean","readOnly":true},"isContractExpiringSoon":{"type":"boolean","readOnly":true},"isContractExpired":{"type":"boolean","readOnly":true},"productCount":{"type":"integer","format":"int32"},"materialCount":{"type":"integer","format":"int32"},"labelIds":{"type":"array","items":{"type":"integer","format":"int32"},"nullable":true},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Commerce.Invoices.InvoiceAddressViewModel"},"nullable":true},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerContactViewModel"},"nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Content.Pages.EmailResponseViewModel":{"required":["body","emailAddress","receiver","subject"],"type":"object","properties":{"receiver":{"minLength":1,"type":"string"},"emailAddress":{"minLength":1,"type":"string","format":"email"},"subject":{"maxLength":80,"minLength":0,"type":"string"},"body":{"minLength":1,"type":"string","format":"multiline"},"created":{"type":"string","format":"date-time"},"state":{"$ref":"#/components/schemas/ViewModels.Content.Pages.SendState"},"correlationId":{"type":"string","format":"uuid"},"sent":{"type":"string","format":"date-time"},"timesSent":{"type":"integer","format":"int32"},"error":{"type":"string","nullable":true},"isInError":{"type":"boolean","readOnly":true},"emailFormId":{"type":"integer","format":"int32","nullable":true},"scheduledSendAt":{"type":"string","format":"date-time","nullable":true},"recalledAt":{"type":"string","format":"date-time","nullable":true},"campaignId":{"type":"integer","format":"int32","nullable":true},"channel":{"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Content.Pages.Gender":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Content.Pages.ProcessingStatus":{"enum":[0,1,2,3,4,5],"type":"integer","format":"int32"},"ViewModels.Content.Pages.SendState":{"enum":[0,1,2,3,4,99],"type":"integer","format":"int32"},"ViewModels.Identity.Roles.AssignerLevel":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Identity.Roles.RoleCategory":{"enum":[0,1,2,3,4,5],"type":"integer","format":"int32"},"ViewModels.Identity.Users.ApplicationRoleViewModel":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"normalizedName":{"type":"string","nullable":true},"kind":{"$ref":"#/components/schemas/ViewModels.Identity.Users.RoleKind"},"description":{"type":"string","nullable":true},"category":{"$ref":"#/components/schemas/ViewModels.Identity.Roles.RoleCategory"},"minimumAssignerLevel":{"$ref":"#/components/schemas/ViewModels.Identity.Roles.AssignerLevel"},"requiresRole":{"type":"string","nullable":true},"displayOrder":{"type":"integer","format":"int32"},"requiresAddOn":{"type":"string","nullable":true}},"additionalProperties":false},"ViewModels.Identity.Users.ApplicationUserViewModel":{"type":"object","properties":{"isSystemUser":{"type":"boolean","readOnly":true},"isVirtualAssistant":{"type":"boolean","readOnly":true},"authenticatorKey":{"type":"string","nullable":true},"isLocalUser":{"type":"boolean"},"givenName":{"type":"string","nullable":true},"surname":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true,"readOnly":true},"birthdate":{"type":"string","format":"date-time","nullable":true},"tenantId":{"type":"integer","format":"int32"},"agencyId":{"type":"integer","format":"int32","nullable":true},"created":{"type":"string","format":"date-time"},"properties":{"type":"string","nullable":true},"quickAssignCode":{"maxLength":256,"minLength":0,"type":"string","nullable":true},"claims":{"type":"array","items":{"$ref":"#/components/schemas/System.ValueTuple_System.String_System.String"},"nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationRoleViewModel"},"nullable":true},"id":{"type":"string","nullable":true},"userName":{"type":"string","nullable":true},"normalizedUserName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"normalizedEmail":{"type":"string","nullable":true},"emailConfirmed":{"type":"boolean"},"passwordHash":{"type":"string","nullable":true},"securityStamp":{"type":"string","nullable":true},"concurrencyStamp":{"type":"string","nullable":true},"phoneNumber":{"type":"string","nullable":true},"phoneNumberConfirmed":{"type":"boolean"},"twoFactorEnabled":{"type":"boolean"},"lockoutEnd":{"type":"string","format":"date-time","nullable":true},"lockoutEnabled":{"type":"boolean"},"accessFailedCount":{"type":"integer","format":"int32"},"employeePayrollDataId":{"type":"integer","format":"int32","nullable":true},"personnelNumber":{"type":"string","nullable":true},"isEmployee":{"type":"boolean","readOnly":true}},"additionalProperties":false},"ViewModels.Identity.Users.RoleKind":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Identity.Users.TeamMemberViewModel":{"type":"object","properties":{"tenantId":{"type":"integer","format":"int32"},"teamId":{"type":"integer","format":"int32"},"userId":{"maxLength":450,"minLength":0,"type":"string","nullable":true},"user":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"addedDate":{"type":"string","format":"date-time"},"addedDateFormatted":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Identity.Users.TeamViewModel":{"required":["name"],"type":"object","properties":{"tenantId":{"type":"integer","format":"int32"},"name":{"maxLength":200,"minLength":0,"type":"string"},"description":{"maxLength":1000,"minLength":0,"type":"string","nullable":true},"members":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Identity.Users.TeamMemberViewModel"},"nullable":true},"memberCount":{"type":"integer","format":"int32","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Management.Templates.DocumentTemplateViewModel":{"required":["name","template"],"type":"object","properties":{"template":{"minLength":1,"type":"string"},"first200Chars":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Components.MarkupString"},"name":{"maxLength":80,"minLength":0,"type":"string"},"description":{"maxLength":1000,"minLength":0,"type":"string","format":"multiline","nullable":true},"icon":{"maxLength":36,"minLength":0,"type":"string","nullable":true},"iconLogo":{"type":"boolean"},"iconAlt":{"type":"boolean"},"iconColor":{"$ref":"#/components/schemas/Blazorise.TextColor"},"templateType":{"$ref":"#/components/schemas/ViewModels.Management.Templates.TemplateType"},"templateProperties":{"type":"string","format":"multiline","nullable":true},"directPrint":{"type":"boolean"},"internal":{"type":"boolean"},"associatedEntityType":{"type":"string","nullable":true},"getAssociatedEntityType":{"$ref":"#/components/schemas/System.Type"},"isDefault":{"type":"boolean"},"proprietorId":{"type":"integer","format":"int32","nullable":true},"metadataJson":{"type":"string","nullable":true},"builderModelJson":{"type":"string","nullable":true},"lastUsedAt":{"type":"string","format":"date-time","nullable":true},"usageCount":{"type":"integer","format":"int32"},"templateCategory":{"type":"string","nullable":true,"readOnly":true},"subject":{"type":"string","nullable":true,"readOnly":true},"metadata":{"$ref":"#/components/schemas/ViewModels.Management.Templates.TemplateMetadata"},"printSettings":{"$ref":"#/components/schemas/ViewModels.Management.Templates.TemplatePrintSettings"},"whatsAppBinding":{"$ref":"#/components/schemas/ViewModels.Management.Templates.WhatsAppTemplateBinding"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Management.Templates.TemplateMetadata":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/ViewModels.Management.Templates.TemplateType"},"audience":{"type":"string","nullable":true},"viewTypeName":{"type":"string","nullable":true},"dataSource":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"stage":{"type":"string","nullable":true},"printSettings":{"$ref":"#/components/schemas/ViewModels.Management.Templates.TemplatePrintSettings"},"whatsApp":{"$ref":"#/components/schemas/ViewModels.Management.Templates.WhatsAppTemplateBinding"}},"additionalProperties":false},"ViewModels.Management.Templates.TemplatePrintSettings":{"type":"object","properties":{"paperSizeName":{"type":"string","nullable":true},"trayName":{"type":"string","nullable":true},"landscape":{"type":"boolean"},"isEmpty":{"type":"boolean","readOnly":true}},"additionalProperties":false},"ViewModels.Management.Templates.TemplateType":{"enum":[0,1,2,3,4,5,6,7,8,9],"type":"integer","format":"int32"},"ViewModels.Management.Templates.WhatsAppTemplateBinding":{"type":"object","properties":{"metaName":{"type":"string","nullable":true},"languageCode":{"type":"string","nullable":true},"parameterExpressions":{"type":"array","items":{"type":"string"},"nullable":true},"isEmpty":{"type":"boolean","readOnly":true}},"additionalProperties":false},"ViewModels.Medical.Nursing.NursingRequestFormViewModel":{"type":"object","properties":{"fileUploads":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"},"nullable":true},"hasAttachments":{"type":"boolean","readOnly":true},"status":{"$ref":"#/components/schemas/ViewModels.Content.Pages.ProcessingStatus"},"patientInformed":{"type":"boolean"},"answer":{"type":"string","nullable":true},"editor":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"creator":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"modified":{"type":"string","format":"date-time","nullable":true},"created":{"type":"string","format":"date-time"},"surname":{"type":"string","nullable":true},"givenname":{"type":"string","nullable":true},"birthday":{"type":"string","format":"date-time","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"properties":{"type":"string","nullable":true},"handwritingData":{"type":"string","nullable":true},"canvasImageData":{"type":"string","nullable":true},"customerId":{"type":"integer","format":"int32","nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"orderId":{"type":"integer","format":"int32","nullable":true},"caseId":{"type":"integer","format":"int32","nullable":true},"metaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormMetadata"},"handwritingMetaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.HandwritingFormMetadata"},"signatureData":{"type":"string","nullable":true,"readOnly":true},"isHandwritingForm":{"type":"boolean","readOnly":true},"formName":{"type":"string","nullable":true,"readOnly":true},"responses":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Content.Pages.EmailResponseViewModel"},"nullable":true},"associatedTasks":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"},"nullable":true},"template":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"},"isInternal":{"type":"boolean"},"requests":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingRequestViewModel"},"nullable":true},"sharedHouse":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"},"sharedHouseId":{"type":"integer","format":"int32","nullable":true},"orderedBy":{"type":"string","nullable":true},"orderDate":{"type":"string","format":"date-time"},"answerDate":{"type":"string","format":"date-time"},"answeredBy":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"answeredByPhone":{"type":"boolean"},"done":{"type":"boolean"},"answered":{"type":"boolean","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Nursing.NursingRequestViewModel":{"type":"object","properties":{"fileUploads":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"},"nullable":true},"hasAttachments":{"type":"boolean","readOnly":true},"status":{"$ref":"#/components/schemas/ViewModels.Content.Pages.ProcessingStatus"},"patientInformed":{"type":"boolean"},"answer":{"type":"string","nullable":true},"editor":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"creator":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"modified":{"type":"string","format":"date-time","nullable":true},"created":{"type":"string","format":"date-time"},"surname":{"type":"string","nullable":true},"givenname":{"type":"string","nullable":true},"birthday":{"type":"string","format":"date-time","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"properties":{"type":"string","nullable":true},"handwritingData":{"type":"string","nullable":true},"canvasImageData":{"type":"string","nullable":true},"customerId":{"type":"integer","format":"int32","nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"orderId":{"type":"integer","format":"int32","nullable":true},"caseId":{"type":"integer","format":"int32","nullable":true},"metaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormMetadata"},"handwritingMetaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.HandwritingFormMetadata"},"signatureData":{"type":"string","nullable":true,"readOnly":true},"isHandwritingForm":{"type":"boolean","readOnly":true},"formName":{"type":"string","nullable":true,"readOnly":true},"responses":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Content.Pages.EmailResponseViewModel"},"nullable":true},"associatedTasks":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"},"nullable":true},"template":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"},"isInternal":{"type":"boolean"},"patientId":{"type":"integer","format":"int32","nullable":true},"patient":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"},"chipcardValid":{"type":"boolean","nullable":true,"readOnly":true},"isPrivate":{"type":"boolean","nullable":true,"readOnly":true},"nursingForm":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingRequestFormViewModel"},"nursingFormId":{"type":"integer","format":"int32"},"requestText":{"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Nursing.NursingServiceUserViewModel":{"required":["email","givenName","surname","userName"],"type":"object","properties":{"id":{"type":"string","nullable":true},"assignmentId":{"type":"integer","format":"int32"},"userName":{"maxLength":100,"minLength":0,"type":"string"},"surname":{"maxLength":100,"minLength":0,"type":"string"},"givenName":{"maxLength":100,"minLength":0,"type":"string"},"title":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"email":{"maxLength":120,"minLength":0,"type":"string","format":"email"}},"additionalProperties":false},"ViewModels.Medical.Nursing.NursingServiceViewModel":{"required":["city","contactName","contactPhone","name","street","zip"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string"},"description":{"maxLength":1024,"minLength":0,"type":"string","format":"multiline","nullable":true},"street":{"maxLength":80,"minLength":0,"type":"string"},"city":{"maxLength":80,"minLength":0,"type":"string"},"zip":{"maxLength":5,"minLength":0,"type":"string"},"phone":{"maxLength":40,"minLength":0,"pattern":"^[\\d\\s\\-\\\u002B\\(\\)\\/]{5,20}$","type":"string","nullable":true},"fax":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"email":{"maxLength":100,"minLength":0,"type":"string","format":"email","nullable":true},"website":{"maxLength":450,"minLength":0,"type":"string","format":"uri","nullable":true},"contactName":{"maxLength":100,"minLength":0,"type":"string"},"contactPhone":{"maxLength":40,"minLength":0,"pattern":"^[\\d\\s\\-\\\u002B\\(\\)\\/]{5,20}$","type":"string"},"hasSharedHouses":{"type":"boolean","readOnly":true},"sharedHouses":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.SharedHouseViewModel"},"nullable":true},"users":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceUserViewModel"},"nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Nursing.SharedHousePatientViewModel":{"type":"object","properties":{"patNr":{"type":"integer","format":"int32"},"sharedHouseId":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Nursing.SharedHouseViewModel":{"required":["city","name","street","zip"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string"},"description":{"maxLength":512,"minLength":0,"type":"string","nullable":true},"street":{"maxLength":80,"minLength":0,"type":"string"},"city":{"maxLength":80,"minLength":0,"type":"string"},"zip":{"maxLength":5,"minLength":0,"type":"string"},"phone":{"maxLength":40,"minLength":0,"pattern":"^[\\d\\s\\-\\\u002B\\(\\)\\/]{5,20}$","type":"string","nullable":true},"email":{"maxLength":100,"minLength":0,"type":"string","format":"email","nullable":true},"patNumbers":{"type":"array","items":{"type":"integer","format":"int32"},"nullable":true},"nursingServiceId":{"type":"integer","format":"int32"},"defaultUser":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"nursingService":{"$ref":"#/components/schemas/ViewModels.Medical.Nursing.NursingServiceViewModel"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Patients.ContactType":{"enum":[1,2,3],"type":"integer","format":"int32"},"ViewModels.Medical.Patients.EbmCodeViewModel":{"required":["code","label"],"type":"object","properties":{"code":{"minLength":1,"type":"string"},"label":{"minLength":1,"type":"string"},"pointValue":{"type":"integer","format":"int32","nullable":true},"amount":{"type":"number","format":"double","nullable":true},"currency":{"type":"string","nullable":true},"additionalMarker":{"type":"string","nullable":true},"validFrom":{"type":"string","format":"date-time","nullable":true},"validUntil":{"type":"string","format":"date-time","nullable":true},"chapter":{"type":"string","nullable":true},"subChapter":{"type":"string","nullable":true},"isActive":{"type":"boolean"},"version":{"type":"string","nullable":true},"lastUpdated":{"type":"string","format":"date-time"},"isCurrentlyValid":{"type":"boolean","readOnly":true},"validityDisplay":{"type":"string","nullable":true,"readOnly":true},"amountDisplay":{"type":"string","nullable":true,"readOnly":true},"pointValueDisplay":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Patients.GoaeCodeViewModel":{"required":["code","title"],"type":"object","properties":{"code":{"minLength":1,"type":"string"},"title":{"minLength":1,"type":"string"},"section":{"type":"string","nullable":true},"pointValue":{"type":"integer","format":"int32","nullable":true},"simpleRateFactor":{"type":"number","format":"double","nullable":true},"simpleRateAmount":{"type":"number","format":"double","nullable":true},"standardMaxFactor":{"type":"number","format":"double","nullable":true},"standardMaxAmount":{"type":"number","format":"double","nullable":true},"maxRateFactor":{"type":"number","format":"double","nullable":true},"maxRateAmount":{"type":"number","format":"double","nullable":true},"exclusionCodes":{"type":"string","nullable":true},"isActive":{"type":"boolean"},"version":{"type":"string","nullable":true},"lastUpdated":{"type":"string","format":"date-time"},"simpleRateDisplay":{"type":"string","nullable":true,"readOnly":true},"standardMaxDisplay":{"type":"string","nullable":true,"readOnly":true},"maxRateDisplay":{"type":"string","nullable":true,"readOnly":true},"pointValueDisplay":{"type":"string","nullable":true,"readOnly":true},"hasExclusionCodes":{"type":"boolean","readOnly":true},"exclusionCodeArray":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Patients.Icd10CodeRubricViewModel":{"type":"object","properties":{"icd10CodeId":{"type":"integer","format":"int32"},"kind":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"referenceCode":{"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Patients.Icd10CodeViewModel":{"required":["code","label"],"type":"object","properties":{"code":{"minLength":1,"type":"string"},"kind":{"type":"string","nullable":true},"label":{"minLength":1,"type":"string"},"curatedLabel":{"type":"string","nullable":true},"curatedSynonyms":{"type":"string","nullable":true},"successorCode":{"type":"string","nullable":true},"groupCodeFrom":{"type":"string","nullable":true},"groupCodeTo":{"type":"string","nullable":true},"chapterNumber":{"type":"string","nullable":true},"classificationLevel":{"type":"integer","format":"int32","nullable":true},"terminalType":{"type":"string","nullable":true},"codeType":{"type":"string","nullable":true},"groupFirstCode":{"type":"string","nullable":true},"codeNormalized":{"type":"string","nullable":true},"codeWithoutSpecial":{"type":"string","nullable":true},"codeWithoutDot":{"type":"string","nullable":true},"classTitle":{"type":"string","nullable":true},"threeDigitTitle":{"type":"string","nullable":true},"fourDigitTitle":{"type":"string","nullable":true},"fiveDigitTitle":{"type":"string","nullable":true},"usage295":{"type":"string","nullable":true},"usage301":{"type":"string","nullable":true},"mortalityList1":{"type":"string","nullable":true},"mortalityList2":{"type":"string","nullable":true},"mortalityList3":{"type":"string","nullable":true},"mortalityList4":{"type":"string","nullable":true},"morbidityList":{"type":"string","nullable":true},"genderReference":{"type":"string","nullable":true},"genderErrorType":{"type":"string","nullable":true},"ageLimitLower":{"type":"string","nullable":true},"ageLimitUpper":{"type":"string","nullable":true},"ageErrorType":{"type":"string","nullable":true},"isRareInCentralEurope":{"type":"string","nullable":true},"hasContent":{"type":"string","nullable":true},"ifsgNotification":{"type":"string","nullable":true},"ifsgLab":{"type":"string","nullable":true},"usageKind":{"type":"string","nullable":true},"parentCode":{"type":"string","nullable":true},"rubrics":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeRubricViewModel"},"nullable":true},"inclusions":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"exclusions":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.Icd10CodeRubricViewModel"},"nullable":true,"readOnly":true},"notes":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"codingHints":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"isActive":{"type":"boolean"},"version":{"type":"string","nullable":true},"lastUpdated":{"type":"string","format":"date-time"},"curatedSource":{"type":"string","nullable":true},"curatedUpdated":{"type":"string","format":"date-time","nullable":true},"effectiveLabel":{"type":"string","nullable":true,"readOnly":true},"curatedSynonymList":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"hasSynonymChoice":{"type":"boolean","readOnly":true},"displayText":{"type":"string","nullable":true,"readOnly":true},"isChapter":{"type":"boolean","readOnly":true},"isBlock":{"type":"boolean","readOnly":true},"isCategory":{"type":"boolean","readOnly":true},"isTerminal":{"type":"boolean","readOnly":true},"isPrimaryCodingAllowed":{"type":"boolean","readOnly":true},"groupRangeDisplay":{"type":"string","nullable":true,"readOnly":true},"genderDisplay":{"type":"string","nullable":true,"readOnly":true},"terminalDisplay":{"type":"string","nullable":true,"readOnly":true},"classificationLevelDisplay":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Patients.MedDokKategorieViewModel":{"required":["bezeichnung","kuerzel"],"type":"object","properties":{"bezeichnung":{"maxLength":100,"minLength":0,"type":"string"},"kuerzel":{"maxLength":5,"minLength":0,"type":"string"},"isActive":{"type":"boolean"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Patients.MedDokViewModel":{"type":"object","properties":{"patient":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"},"id_Patient":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"medDokKategorie":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.MedDokKategorieViewModel"},"id_MedDokKategorie":{"type":"integer","format":"int32"},"createdPoint":{"type":"string","format":"date-time"},"printedAt":{"type":"string","format":"date-time","nullable":true},"hasBeenPrinted":{"type":"boolean","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Patients.PatientContactViewModel":{"type":"object","properties":{"patient":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"},"patientId":{"type":"integer","format":"int32"},"contactType":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.ContactType"},"contactData":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"contactDataCalculated":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Patients.PatientViewModel":{"required":["surname"],"type":"object","properties":{"tenantId":{"type":"integer","format":"int32"},"externalId":{"type":"string","format":"uuid"},"isExternal":{"type":"boolean","readOnly":true},"pvsReleasedAt":{"type":"string","format":"date-time","nullable":true},"pvsReleasedBy":{"type":"string","nullable":true},"isPvsLocked":{"type":"boolean","readOnly":true},"patientNr":{"type":"integer","format":"int32"},"customerId":{"type":"integer","format":"int32","nullable":true},"customer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"hasLinkedCustomer":{"type":"boolean","readOnly":true},"surname":{"maxLength":100,"minLength":0,"type":"string"},"givenname":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"title":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"street":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"additionalAddressData":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"housenumber":{"maxLength":9,"minLength":0,"type":"string","nullable":true},"city":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"zipCode":{"maxLength":10,"minLength":0,"type":"string","nullable":true},"sex":{"$ref":"#/components/schemas/ViewModels.Content.Pages.Gender"},"salutation":{"$ref":"#/components/schemas/Varuna.Homepage.ViewModels.Salutation"},"medPlan":{"$ref":"#/components/schemas/System.Xml.Linq.XElement"},"isPrivate":{"type":"boolean"},"healthInsuranceCompany":{"maxLength":200,"minLength":0,"type":"string","nullable":true},"healthInsuranceNumber":{"maxLength":50,"minLength":0,"type":"string","nullable":true},"hasInsuranceAssigned":{"type":"boolean","readOnly":true},"birthDay":{"type":"string","format":"date","nullable":true},"contactData":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.ViewPatientContactData"},"nullable":true},"contactNotes":{"type":"string","nullable":true},"vitalProperties":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"propertyHash":{"type":"integer","format":"int32","readOnly":true},"fullName":{"type":"string","nullable":true,"readOnly":true},"fullAddress":{"type":"string","nullable":true,"readOnly":true},"name":{"type":"string","nullable":true,"readOnly":true},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerContactViewModel"},"nullable":true,"readOnly":true},"communicationPreferences":{"type":"object","additionalProperties":{"type":"boolean"},"nullable":true,"readOnly":true},"isPatient":{"type":"boolean","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Medical.Patients.ViewPatientContactData":{"type":"object","properties":{"contactType":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.ViewPatientContactType"},"entry":{"type":"string","nullable":true},"patient":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"}},"additionalProperties":false},"ViewModels.Medical.Patients.ViewPatientContactType":{"enum":[1,2,3],"type":"integer","format":"int32"},"ViewModels.Medical.Patients.WaitingRoomEntryViewModel":{"required":["roomColor","roomIcon","roomName"],"type":"object","properties":{"tenantId":{"type":"integer","format":"int32"},"patientId":{"type":"integer","format":"int32"},"patient":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"},"addedAt":{"type":"string","format":"date-time"},"roomName":{"maxLength":100,"minLength":0,"type":"string"},"roomIcon":{"maxLength":50,"minLength":0,"type":"string"},"roomColor":{"maxLength":50,"minLength":0,"type":"string"},"patientDisplayName":{"type":"string","nullable":true,"readOnly":true},"patientBirthday":{"type":"string","nullable":true,"readOnly":true},"waitingTime":{"type":"string","format":"date-span","readOnly":true},"waitingTimeDisplay":{"type":"string","nullable":true,"readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Scheduling.Appointments.AppointmentAnchor":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Scheduling.Appointments.AppointmentContextViewModel":{"type":"object","properties":{"anchor":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentAnchor"},"orderId":{"type":"integer","format":"int32","nullable":true},"orderNumber":{"type":"string","nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"projectName":{"type":"string","nullable":true},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTaskRef"},"nullable":true},"hasContext":{"type":"boolean","readOnly":true},"leadingTask":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTaskRef"},"orderLabel":{"type":"string","nullable":true,"readOnly":true},"projectLabel":{"type":"string","nullable":true,"readOnly":true},"breadcrumb":{"type":"string","nullable":true,"readOnly":true}},"additionalProperties":false},"ViewModels.Scheduling.Appointments.AppointmentSlotViewModel":{"type":"object","properties":{"lastModifiedOn":{"type":"string","format":"date-time","nullable":true},"startTime":{"type":"string","format":"date-time"},"endTime":{"type":"string","format":"date-time"},"maximumNumberOfAppointments":{"maximum":20,"minimum":1,"type":"integer","format":"int32"},"isRepeating":{"type":"boolean"},"numberOfOccurences":{"maximum":50,"minimum":0,"type":"integer","format":"int32"},"typeOfInterval":{"$ref":"#/components/schemas/Varuna.Homepage.ViewModels.IntervalType"},"syncId":{"type":"string","nullable":true},"calendarId":{"type":"integer","format":"int32"},"patientName":{"type":"string","nullable":true},"appointmentTypeId":{"maximum":2147483647,"minimum":1,"type":"integer","format":"int32"},"appointmentTypeName":{"type":"string","nullable":true},"displayTitle":{"type":"string","nullable":true,"readOnly":true},"importedOrganizer":{"type":"string","nullable":true,"readOnly":true},"isBooked":{"type":"boolean","readOnly":true},"resourceId":{"type":"integer","format":"int32","nullable":true},"resourceName":{"type":"string","nullable":true},"resourceColor":{"type":"string","nullable":true},"resourceColorContrast":{"type":"string","nullable":true,"readOnly":true},"personalResourceId":{"type":"string","format":"uuid","nullable":true},"personalResource":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"personalResourceName":{"type":"string","nullable":true,"readOnly":true},"spanMinutes":{"type":"string","nullable":true,"readOnly":true},"actualAppointments":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentViewModel"},"nullable":true},"skippedOccurrences":{"type":"array","items":{"type":"string","format":"date-time"},"nullable":true},"appointmentNotes":{"type":"array","items":{"type":"string"},"nullable":true,"readOnly":true},"nextOccurences":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"},"nullable":true,"readOnly":true},"futureOccurences":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"},"nullable":true,"readOnly":true},"nextUpcomingOccurence":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"},"hasFutureOccurences":{"type":"boolean","readOnly":true},"displayStartTime":{"type":"string","format":"date-time","readOnly":true},"displayEndTime":{"type":"string","format":"date-time","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Scheduling.Appointments.AppointmentStatus":{"enum":[0,1,2,4,8,16,32,64,128],"type":"integer","format":"int32"},"ViewModels.Scheduling.Appointments.AppointmentTaskRef":{"type":"object","properties":{"taskId":{"type":"integer","format":"int32"},"title":{"type":"string","nullable":true}},"additionalProperties":false},"ViewModels.Scheduling.Appointments.AppointmentTypeViewModel":{"required":["name"],"type":"object","properties":{"name":{"maxLength":255,"minLength":0,"type":"string"},"slotDuration":{"type":"string","format":"duration"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Scheduling.Appointments.AppointmentViewModel":{"type":"object","properties":{"fileUploads":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Management.FileUploadDataViewModel"},"nullable":true},"hasAttachments":{"type":"boolean","readOnly":true},"status":{"$ref":"#/components/schemas/ViewModels.Content.Pages.ProcessingStatus"},"patientInformed":{"type":"boolean"},"answer":{"type":"string","nullable":true},"editor":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"creator":{"$ref":"#/components/schemas/ViewModels.Identity.Users.ApplicationUserViewModel"},"modified":{"type":"string","format":"date-time","nullable":true},"created":{"type":"string","format":"date-time"},"surname":{"type":"string","nullable":true},"givenname":{"type":"string","nullable":true},"birthday":{"type":"string","format":"date-time","nullable":true},"email":{"type":"string","nullable":true},"phone":{"type":"string","nullable":true},"properties":{"type":"string","nullable":true},"handwritingData":{"type":"string","nullable":true},"canvasImageData":{"type":"string","nullable":true},"metaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.CustomFormMetadata"},"handwritingMetaData":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.HandwritingFormMetadata"},"signatureData":{"type":"string","nullable":true,"readOnly":true},"isHandwritingForm":{"type":"boolean","readOnly":true},"formName":{"type":"string","nullable":true,"readOnly":true},"responses":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Content.Pages.EmailResponseViewModel"},"nullable":true},"associatedTasks":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.CRM.Tasks.TaskViewModel"},"nullable":true},"template":{"$ref":"#/components/schemas/ViewModels.Management.Templates.DocumentTemplateViewModel"},"isInternal":{"type":"boolean"},"tenantId":{"type":"integer","format":"int32"},"patientId":{"type":"integer","format":"int32","nullable":true},"patient":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"},"customerId":{"type":"integer","format":"int32","nullable":true},"customer":{"$ref":"#/components/schemas/ViewModels.CRM.Customers.CustomerViewModel"},"orderId":{"type":"integer","format":"int32","nullable":true},"projectId":{"type":"integer","format":"int32","nullable":true},"caseId":{"type":"integer","format":"int32","nullable":true},"taskIds":{"type":"array","items":{"type":"integer","format":"int32"},"nullable":true},"context":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentContextViewModel"},"orderNumber":{"type":"string","nullable":true},"calendarName":{"type":"string","nullable":true},"appointmentSlotId":{"type":"integer","format":"int32","nullable":true,"readOnly":true},"slot":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"},"actualAppointmentTime":{"type":"string","format":"date-time"},"remindCustomer":{"type":"boolean","nullable":true},"reminderSentAt":{"type":"string","format":"date-time","nullable":true},"appointmentTypeId":{"type":"integer","format":"int32"},"calendarId":{"type":"integer","format":"int32"},"appointmentTypeName":{"type":"string","nullable":true},"appointmentStatus":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentStatus"},"summary":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"notes":{"maxLength":1000,"minLength":0,"type":"string","nullable":true},"customerResponse":{"maxLength":2000,"minLength":0,"type":"string","nullable":true},"customerRespondedAt":{"type":"string","format":"date-time","nullable":true},"hasCustomerResponse":{"type":"boolean","readOnly":true},"confirmationSteps":{"type":"array","items":{"$ref":"#/components/schemas/Homepage.ViewModels.Forms.AppointmentCommunicationViewModel"},"nullable":true},"isImported":{"type":"boolean"},"syncId":{"type":"string","nullable":true},"graphEventId":{"type":"string","nullable":true},"onlineMeetingJoinUrl":{"type":"string","nullable":true},"requestOnlineMeeting":{"type":"boolean"},"attendees":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.MeetingAttendeeViewModel"},"nullable":true},"organizerId":{"type":"string","nullable":true},"agenda":{"maxLength":2000,"minLength":0,"type":"string","nullable":true},"isMeeting":{"type":"boolean","readOnly":true},"isConfirmedDecision":{"type":"boolean","readOnly":true},"isRejectedDecision":{"type":"boolean","readOnly":true},"clientInformation":{"type":"string","nullable":true},"mobile":{"type":"string","nullable":true},"zipCode":{"type":"string","nullable":true},"streetAddress":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"story":{"type":"string","nullable":true},"communicationPreferences":{"type":"object","additionalProperties":{"type":"boolean"},"nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Scheduling.Appointments.AttendeeResponseStatus":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Scheduling.Appointments.MeetingAttendeeViewModel":{"type":"object","properties":{"appointmentId":{"type":"integer","format":"int32"},"userId":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"isOrganizer":{"type":"boolean"},"response":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AttendeeResponseStatus"},"respondedAt":{"type":"string","format":"date-time","nullable":true},"responseNote":{"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Scheduling.Appointments.ReminderViewModel":{"type":"object","properties":{"appointmentId":{"type":"integer","format":"int32"},"reminderTime":{"type":"string","format":"date-span","nullable":true},"reminderTemplateId":{"type":"integer","format":"int32","nullable":true},"isSent":{"type":"boolean"},"autoRemind":{"type":"boolean"},"remindWithConsentOnly":{"type":"boolean"},"reminderText":{"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Scheduling.Appointments.SelfManageAppointmentViewModel":{"type":"object","properties":{"patientId":{"type":"integer","format":"int32","nullable":true},"patient":{"$ref":"#/components/schemas/ViewModels.Medical.Patients.PatientViewModel"},"calendarId":{"type":"integer","format":"int32"},"appointmentType":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentTypeViewModel"},"status":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentStatus"},"notes":{"maxLength":300,"minLength":0,"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Scheduling.Appointments.SuggestionChannel":{"enum":[0,1,2,3],"type":"integer","format":"int32"},"ViewModels.Scheduling.Calendars.CalendarViewModel":{"type":"object","properties":{"proprietor":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ProprietorViewModel"},"name":{"type":"string","nullable":true},"color":{"type":"string","nullable":true},"visibility":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.CalendarVisibility"},"isPublic":{"type":"boolean"},"isCompanyInternal":{"type":"boolean"},"date":{"type":"string","format":"date"},"visibleDays":{"type":"integer","format":"int32"},"visibleTimeStart":{"type":"string","format":"time"},"visibleTimeEnd":{"type":"string","format":"time"},"proprietorId":{"type":"integer","format":"int32","nullable":true},"slots":{"type":"array","items":{"$ref":"#/components/schemas/ViewModels.Scheduling.Appointments.AppointmentSlotViewModel"},"nullable":true},"futureSlotCount":{"type":"integer","format":"int32","readOnly":true},"futureOccurrenceCount":{"type":"integer","format":"int32","readOnly":true},"googleCalendar":{"$ref":"#/components/schemas/ViewModels.Scheduling.Calendars.GoogleCalendarViewModel"},"isSynced":{"type":"boolean","readOnly":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Scheduling.Calendars.CalendarVisibility":{"enum":[0,1,2],"type":"integer","format":"int32"},"ViewModels.Scheduling.Calendars.GoogleCalendarViewModel":{"type":"object","properties":{"calendarSyncId":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"userData":{"type":"string","nullable":true},"lastSync":{"type":"string","format":"date-time","nullable":true}},"additionalProperties":false},"ViewModels.Scheduling.Resources.ProprietorViewModel":{"required":["name"],"type":"object","properties":{"name":{"maxLength":100,"minLength":0,"type":"string"},"title":{"maxLength":20,"minLength":0,"type":"string","nullable":true},"order":{"type":"integer","format":"int32"},"area":{"maxLength":100,"minLength":0,"type":"string","nullable":true},"claim":{"maxLength":300,"minLength":0,"type":"string","nullable":true},"about":{"maxLength":500,"minLength":0,"type":"string","format":"multiline","nullable":true},"admissionRules":{"maxLength":500,"minLength":0,"type":"string","format":"multiline","nullable":true},"rating":{"type":"number","format":"double"},"hasOnlineConsultation":{"type":"boolean"},"userId":{"type":"string","nullable":true},"logoUrl":{"maxLength":500,"minLength":0,"type":"string","nullable":true},"tenantId":{"type":"integer","format":"int32"},"id":{"type":"integer","format":"int32"}},"additionalProperties":false},"ViewModels.Scheduling.Resources.ResourceType":{"enum":[0,1,2,3,4,5,6],"type":"integer","format":"int32"},"ViewModels.Scheduling.Resources.ResourceViewModel":{"required":["name"],"type":"object","properties":{"name":{"maxLength":250,"minLength":0,"type":"string"},"type":{"$ref":"#/components/schemas/ViewModels.Scheduling.Resources.ResourceType"},"color":{"type":"string","nullable":true},"description":{"maxLength":512,"minLength":0,"type":"string","nullable":true},"id":{"type":"integer","format":"int32"}},"additionalProperties":false}},"securitySchemes":{"Bearer":{"type":"http","description":"JWT Authorization header using the Bearer scheme. Enter \u0027Bearer\u0027 [space] and then your token.","scheme":"bearer","bearerFormat":"JWT"},"ApimSubscriptionKey":{"type":"apiKey","description":"Azure API Management subscription key for external API access.","name":"Ocp-Apim-Subscription-Key","in":"header"},"OcpApimSubscriptionKey":{"type":"apiKey","in":"header","name":"Ocp-Apim-Subscription-Key","description":"Azure API Management subscription key issued in Varyos (Abrechnung \u2192 API-Zugang)."}}},"security":[{"OcpApimSubscriptionKey":[]}],"tags":[{"name":"AppointmentApi","description":"API endpoints for appointment management."},{"name":"CalendarApi","description":"API endpoints for calendar and scheduling management."},{"name":"CategoryApi","description":"API endpoints for category management."},{"name":"CustomerApi","description":"API endpoints for customer management."},{"name":"DocumentTemplateApi","description":"API endpoints for document template management."},{"name":"EbmApi","description":"API endpoints for EBM (Einheitlicher Bewertungsma\u00DFstab) fee schedule codes."},{"name":"FormsApi","description":"API endpoints for form management."},{"name":"GoaeApi","description":"API endpoints for GO\u00C4 (Geb\u00FChrenordnung f\u00FCr \u00C4rzte / German Medical Fee Schedule) codes."},{"name":"Icd10Api","description":"API endpoints for ICD-10 diagnosis classification codes."},{"name":"InventoryApi","description":"API endpoints for inventory management."},{"name":"InvoiceAddressApi","description":"API endpoints for invoice address management."},{"name":"InvoiceApi","description":"API endpoints for invoice management."},{"name":"LabelApi","description":"API endpoints for the unified entity-label (\u0022Etikett\u0022) system.\nReplaces the legacy controller that only handled Customer/Form labels."},{"name":"MedDokApi","description":"API endpoints for medical documentation (MedDok).\nAll patient-scoped endpoints accept Customer.Id (the leading PK for MedDok)."},{"name":"MedDokKategorieApi","description":"API endpoints for MedDok categories."},{"name":"MyDocumentsApi","description":"API endpoints for documents belonging to the current tenant/user area."},{"name":"NursingApi","description":"API endpoints for nursing service management."},{"name":"OfferApi","description":"API endpoints for offer management."},{"name":"OrderApi","description":"API endpoints for order management."},{"name":"PatientApi","description":"API endpoints for patient management."},{"name":"ProductApi","description":"API endpoints for product management."},{"name":"ProjectApi","description":"API endpoints for projects: list, detail, mobile status transitions, project steps (lots) and\nthe project\u0027s digital file."},{"name":"SupplierApi","description":"API endpoints for supplier management."},{"name":"TasksApi","description":"API endpoints for CRM tasks management."},{"name":"UnitApi","description":"API endpoints for unit management."},{"name":"WaitingRoomApi","description":"API endpoints for waiting room management."}],"servers":[{"url":"https://api.varyos.app/api"}],"host":"api.varyos.app","schemes":["https"],"basePath":"/api"}