001// --------------------------------------------------------------------------------
002// Copyright 2002-2026 Echo Three, LLC
003//
004// Licensed under the Apache License, Version 2.0 (the "License");
005// you may not use this file except in compliance with the License.
006// You may obtain a copy of the License at
007//
008//     http://www.apache.org/licenses/LICENSE-2.0
009//
010// Unless required by applicable law or agreed to in writing, software
011// distributed under the License is distributed on an "AS IS" BASIS,
012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013// See the License for the specific language governing permissions and
014// limitations under the License.
015// --------------------------------------------------------------------------------
016
017package com.echothree.control.user.employee.common;
018
019import com.echothree.control.user.employee.common.form.*;
020import com.echothree.control.user.employee.common.result.*;
021import com.echothree.model.data.user.common.pk.UserVisitPK;
022import com.echothree.util.common.command.CommandResult;
023import com.echothree.util.common.command.VoidResult;
024
025public interface EmployeeService
026        extends EmployeeForms {
027    
028    // -------------------------------------------------------------------------
029    //   Responsibility Types
030    // -------------------------------------------------------------------------
031    
032    CommandResult<VoidResult> createResponsibilityType(UserVisitPK userVisitPK, CreateResponsibilityTypeForm form);
033    
034    CommandResult<GetResponsibilityTypesResult> getResponsibilityTypes(UserVisitPK userVisitPK, GetResponsibilityTypesForm form);
035    
036    CommandResult<GetResponsibilityTypeResult> getResponsibilityType(UserVisitPK userVisitPK, GetResponsibilityTypeForm form);
037    
038    CommandResult<GetResponsibilityTypeChoicesResult> getResponsibilityTypeChoices(UserVisitPK userVisitPK, GetResponsibilityTypeChoicesForm form);
039    
040    CommandResult<VoidResult> setDefaultResponsibilityType(UserVisitPK userVisitPK, SetDefaultResponsibilityTypeForm form);
041    
042    CommandResult<EditResponsibilityTypeResult> editResponsibilityType(UserVisitPK userVisitPK, EditResponsibilityTypeForm form);
043    
044    CommandResult<VoidResult> deleteResponsibilityType(UserVisitPK userVisitPK, DeleteResponsibilityTypeForm form);
045    
046    // -------------------------------------------------------------------------
047    //   Responsibility Type Descriptions
048    // -------------------------------------------------------------------------
049    
050    CommandResult<VoidResult> createResponsibilityTypeDescription(UserVisitPK userVisitPK, CreateResponsibilityTypeDescriptionForm form);
051    
052    CommandResult<GetResponsibilityTypeDescriptionsResult> getResponsibilityTypeDescriptions(UserVisitPK userVisitPK, GetResponsibilityTypeDescriptionsForm form);
053    
054    CommandResult<EditResponsibilityTypeDescriptionResult> editResponsibilityTypeDescription(UserVisitPK userVisitPK, EditResponsibilityTypeDescriptionForm form);
055    
056    CommandResult<VoidResult> deleteResponsibilityTypeDescription(UserVisitPK userVisitPK, DeleteResponsibilityTypeDescriptionForm form);
057    
058    // -------------------------------------------------------------------------
059    //   Skill Types
060    // -------------------------------------------------------------------------
061    
062    CommandResult<VoidResult> createSkillType(UserVisitPK userVisitPK, CreateSkillTypeForm form);
063    
064    CommandResult<GetSkillTypesResult> getSkillTypes(UserVisitPK userVisitPK, GetSkillTypesForm form);
065    
066    CommandResult<GetSkillTypeResult> getSkillType(UserVisitPK userVisitPK, GetSkillTypeForm form);
067    
068    CommandResult<GetSkillTypeChoicesResult> getSkillTypeChoices(UserVisitPK userVisitPK, GetSkillTypeChoicesForm form);
069    
070    CommandResult<VoidResult> setDefaultSkillType(UserVisitPK userVisitPK, SetDefaultSkillTypeForm form);
071    
072    CommandResult<EditSkillTypeResult> editSkillType(UserVisitPK userVisitPK, EditSkillTypeForm form);
073    
074    CommandResult<VoidResult> deleteSkillType(UserVisitPK userVisitPK, DeleteSkillTypeForm form);
075    
076    // -------------------------------------------------------------------------
077    //   Skill Type Descriptions
078    // -------------------------------------------------------------------------
079    
080    CommandResult<VoidResult> createSkillTypeDescription(UserVisitPK userVisitPK, CreateSkillTypeDescriptionForm form);
081    
082    CommandResult<GetSkillTypeDescriptionsResult> getSkillTypeDescriptions(UserVisitPK userVisitPK, GetSkillTypeDescriptionsForm form);
083    
084    CommandResult<EditSkillTypeDescriptionResult> editSkillTypeDescription(UserVisitPK userVisitPK, EditSkillTypeDescriptionForm form);
085    
086    CommandResult<VoidResult> deleteSkillTypeDescription(UserVisitPK userVisitPK, DeleteSkillTypeDescriptionForm form);
087    
088    // -------------------------------------------------------------------------
089    //   Leave Types
090    // -------------------------------------------------------------------------
091
092    CommandResult<VoidResult> createLeaveType(UserVisitPK userVisitPK, CreateLeaveTypeForm form);
093
094    CommandResult<GetLeaveTypesResult> getLeaveTypes(UserVisitPK userVisitPK, GetLeaveTypesForm form);
095
096    CommandResult<GetLeaveTypeResult> getLeaveType(UserVisitPK userVisitPK, GetLeaveTypeForm form);
097
098    CommandResult<GetLeaveTypeChoicesResult> getLeaveTypeChoices(UserVisitPK userVisitPK, GetLeaveTypeChoicesForm form);
099
100    CommandResult<VoidResult> setDefaultLeaveType(UserVisitPK userVisitPK, SetDefaultLeaveTypeForm form);
101
102    CommandResult<EditLeaveTypeResult> editLeaveType(UserVisitPK userVisitPK, EditLeaveTypeForm form);
103
104    CommandResult<VoidResult> deleteLeaveType(UserVisitPK userVisitPK, DeleteLeaveTypeForm form);
105
106    // -------------------------------------------------------------------------
107    //   Leave Type Descriptions
108    // -------------------------------------------------------------------------
109
110    CommandResult<VoidResult> createLeaveTypeDescription(UserVisitPK userVisitPK, CreateLeaveTypeDescriptionForm form);
111
112    CommandResult<GetLeaveTypeDescriptionResult> getLeaveTypeDescription(UserVisitPK userVisitPK, GetLeaveTypeDescriptionForm form);
113
114    CommandResult<GetLeaveTypeDescriptionsResult> getLeaveTypeDescriptions(UserVisitPK userVisitPK, GetLeaveTypeDescriptionsForm form);
115
116    CommandResult<EditLeaveTypeDescriptionResult> editLeaveTypeDescription(UserVisitPK userVisitPK, EditLeaveTypeDescriptionForm form);
117
118    CommandResult<VoidResult> deleteLeaveTypeDescription(UserVisitPK userVisitPK, DeleteLeaveTypeDescriptionForm form);
119    
120    // -------------------------------------------------------------------------
121    //   Leave Reasons
122    // -------------------------------------------------------------------------
123
124    CommandResult<VoidResult> createLeaveReason(UserVisitPK userVisitPK, CreateLeaveReasonForm form);
125
126    CommandResult<GetLeaveReasonsResult> getLeaveReasons(UserVisitPK userVisitPK, GetLeaveReasonsForm form);
127
128    CommandResult<GetLeaveReasonResult> getLeaveReason(UserVisitPK userVisitPK, GetLeaveReasonForm form);
129
130    CommandResult<GetLeaveReasonChoicesResult> getLeaveReasonChoices(UserVisitPK userVisitPK, GetLeaveReasonChoicesForm form);
131
132    CommandResult<VoidResult> setDefaultLeaveReason(UserVisitPK userVisitPK, SetDefaultLeaveReasonForm form);
133
134    CommandResult<EditLeaveReasonResult> editLeaveReason(UserVisitPK userVisitPK, EditLeaveReasonForm form);
135
136    CommandResult<VoidResult> deleteLeaveReason(UserVisitPK userVisitPK, DeleteLeaveReasonForm form);
137
138    // -------------------------------------------------------------------------
139    //   Leave Reason Descriptions
140    // -------------------------------------------------------------------------
141
142    CommandResult<VoidResult> createLeaveReasonDescription(UserVisitPK userVisitPK, CreateLeaveReasonDescriptionForm form);
143
144    CommandResult<GetLeaveReasonDescriptionResult> getLeaveReasonDescription(UserVisitPK userVisitPK, GetLeaveReasonDescriptionForm form);
145
146    CommandResult<GetLeaveReasonDescriptionsResult> getLeaveReasonDescriptions(UserVisitPK userVisitPK, GetLeaveReasonDescriptionsForm form);
147
148    CommandResult<EditLeaveReasonDescriptionResult> editLeaveReasonDescription(UserVisitPK userVisitPK, EditLeaveReasonDescriptionForm form);
149
150    CommandResult<VoidResult> deleteLeaveReasonDescription(UserVisitPK userVisitPK, DeleteLeaveReasonDescriptionForm form);
151
152    // -------------------------------------------------------------------------
153    //   Leaves
154    // -------------------------------------------------------------------------
155
156    CommandResult<VoidResult> createLeave(UserVisitPK userVisitPK, CreateLeaveForm form);
157
158    CommandResult<GetLeaveStatusChoicesResult> getLeaveStatusChoices(UserVisitPK userVisitPK, GetLeaveStatusChoicesForm form);
159
160    CommandResult<SetLeaveStatusResult> setLeaveStatus(UserVisitPK userVisitPK, SetLeaveStatusForm form);
161
162    CommandResult<GetLeavesResult> getLeaves(UserVisitPK userVisitPK, GetLeavesForm form);
163
164    CommandResult<GetLeaveResult> getLeave(UserVisitPK userVisitPK, GetLeaveForm form);
165
166    CommandResult<EditLeaveResult> editLeave(UserVisitPK userVisitPK, EditLeaveForm form);
167
168    CommandResult<VoidResult> deleteLeave(UserVisitPK userVisitPK, DeleteLeaveForm form);
169
170    // -------------------------------------------------------------------------
171    //   Termination Reasons
172    // -------------------------------------------------------------------------
173
174    CommandResult<VoidResult> createTerminationReason(UserVisitPK userVisitPK, CreateTerminationReasonForm form);
175
176    CommandResult<GetTerminationReasonsResult> getTerminationReasons(UserVisitPK userVisitPK, GetTerminationReasonsForm form);
177
178    CommandResult<GetTerminationReasonResult> getTerminationReason(UserVisitPK userVisitPK, GetTerminationReasonForm form);
179
180    CommandResult<GetTerminationReasonChoicesResult> getTerminationReasonChoices(UserVisitPK userVisitPK, GetTerminationReasonChoicesForm form);
181
182    CommandResult<VoidResult> setDefaultTerminationReason(UserVisitPK userVisitPK, SetDefaultTerminationReasonForm form);
183
184    CommandResult<EditTerminationReasonResult> editTerminationReason(UserVisitPK userVisitPK, EditTerminationReasonForm form);
185
186    CommandResult<VoidResult> deleteTerminationReason(UserVisitPK userVisitPK, DeleteTerminationReasonForm form);
187
188    // -------------------------------------------------------------------------
189    //   Termination Reason Descriptions
190    // -------------------------------------------------------------------------
191
192    CommandResult<VoidResult> createTerminationReasonDescription(UserVisitPK userVisitPK, CreateTerminationReasonDescriptionForm form);
193
194    CommandResult<GetTerminationReasonDescriptionsResult> getTerminationReasonDescriptions(UserVisitPK userVisitPK, GetTerminationReasonDescriptionsForm form);
195
196    CommandResult<EditTerminationReasonDescriptionResult> editTerminationReasonDescription(UserVisitPK userVisitPK, EditTerminationReasonDescriptionForm form);
197
198    CommandResult<VoidResult> deleteTerminationReasonDescription(UserVisitPK userVisitPK, DeleteTerminationReasonDescriptionForm form);
199
200    // -------------------------------------------------------------------------
201    //   Termination Types
202    // -------------------------------------------------------------------------
203    
204    CommandResult<VoidResult> createTerminationType(UserVisitPK userVisitPK, CreateTerminationTypeForm form);
205    
206    CommandResult<GetTerminationTypesResult> getTerminationTypes(UserVisitPK userVisitPK, GetTerminationTypesForm form);
207    
208    CommandResult<GetTerminationTypeResult> getTerminationType(UserVisitPK userVisitPK, GetTerminationTypeForm form);
209    
210    CommandResult<GetTerminationTypeChoicesResult> getTerminationTypeChoices(UserVisitPK userVisitPK, GetTerminationTypeChoicesForm form);
211    
212    CommandResult<VoidResult> setDefaultTerminationType(UserVisitPK userVisitPK, SetDefaultTerminationTypeForm form);
213    
214    CommandResult<EditTerminationTypeResult> editTerminationType(UserVisitPK userVisitPK, EditTerminationTypeForm form);
215    
216    CommandResult<VoidResult> deleteTerminationType(UserVisitPK userVisitPK, DeleteTerminationTypeForm form);
217    
218    // -------------------------------------------------------------------------
219    //   Termination Type Descriptions
220    // -------------------------------------------------------------------------
221    
222    CommandResult<VoidResult> createTerminationTypeDescription(UserVisitPK userVisitPK, CreateTerminationTypeDescriptionForm form);
223    
224    CommandResult<GetTerminationTypeDescriptionsResult> getTerminationTypeDescriptions(UserVisitPK userVisitPK, GetTerminationTypeDescriptionsForm form);
225    
226    CommandResult<EditTerminationTypeDescriptionResult> editTerminationTypeDescription(UserVisitPK userVisitPK, EditTerminationTypeDescriptionForm form);
227    
228    CommandResult<VoidResult> deleteTerminationTypeDescription(UserVisitPK userVisitPK, DeleteTerminationTypeDescriptionForm form);
229    
230    // -------------------------------------------------------------------------
231    //   Employments
232    // -------------------------------------------------------------------------
233
234    CommandResult<VoidResult> createEmployment(UserVisitPK userVisitPK, CreateEmploymentForm form);
235
236    CommandResult<GetEmploymentsResult> getEmployments(UserVisitPK userVisitPK, GetEmploymentsForm form);
237
238    CommandResult<GetEmploymentResult> getEmployment(UserVisitPK userVisitPK, GetEmploymentForm form);
239
240    CommandResult<EditEmploymentResult> editEmployment(UserVisitPK userVisitPK, EditEmploymentForm form);
241
242    CommandResult<VoidResult> deleteEmployment(UserVisitPK userVisitPK, DeleteEmploymentForm form);
243
244    // -------------------------------------------------------------------------
245    //   Party Responsibilities
246    // -------------------------------------------------------------------------
247    
248    CommandResult<VoidResult> createPartyResponsibility(UserVisitPK userVisitPK, CreatePartyResponsibilityForm form);
249    
250    CommandResult<GetPartyResponsibilitiesResult> getPartyResponsibilities(UserVisitPK userVisitPK, GetPartyResponsibilitiesForm form);
251    
252    CommandResult<VoidResult> deletePartyResponsibility(UserVisitPK userVisitPK, DeletePartyResponsibilityForm form);
253    
254    // -------------------------------------------------------------------------
255    //   Party Skills
256    // -------------------------------------------------------------------------
257    
258    CommandResult<VoidResult> createPartySkill(UserVisitPK userVisitPK, CreatePartySkillForm form);
259    
260    CommandResult<GetPartySkillsResult> getPartySkills(UserVisitPK userVisitPK, GetPartySkillsForm form);
261    
262    CommandResult<VoidResult> deletePartySkill(UserVisitPK userVisitPK, DeletePartySkillForm form);
263    
264    // --------------------------------------------------------------------------------
265    //   Employee Types
266    // --------------------------------------------------------------------------------
267    
268    CommandResult<VoidResult> createEmployeeType(UserVisitPK userVisitPK, CreateEmployeeTypeForm form);
269    
270    CommandResult<GetEmployeeTypeChoicesResult> getEmployeeTypeChoices(UserVisitPK userVisitPK, GetEmployeeTypeChoicesForm form);
271    
272    CommandResult<GetEmployeeTypeResult> getEmployeeType(UserVisitPK userVisitPK, GetEmployeeTypeForm form);
273    
274    CommandResult<GetEmployeeTypesResult> getEmployeeTypes(UserVisitPK userVisitPK, GetEmployeeTypesForm form);
275    
276    CommandResult<VoidResult> setDefaultEmployeeType(UserVisitPK userVisitPK, SetDefaultEmployeeTypeForm form);
277    
278    CommandResult<EditEmployeeTypeResult> editEmployeeType(UserVisitPK userVisitPK, EditEmployeeTypeForm form);
279    
280    CommandResult<VoidResult> deleteEmployeeType(UserVisitPK userVisitPK, DeleteEmployeeTypeForm form);
281    
282    // --------------------------------------------------------------------------------
283    //   Employee Type Descriptions
284    // --------------------------------------------------------------------------------
285    
286    CommandResult<VoidResult> createEmployeeTypeDescription(UserVisitPK userVisitPK, CreateEmployeeTypeDescriptionForm form);
287    
288    CommandResult<GetEmployeeTypeDescriptionsResult> getEmployeeTypeDescriptions(UserVisitPK userVisitPK, GetEmployeeTypeDescriptionsForm form);
289    
290    CommandResult<EditEmployeeTypeDescriptionResult> editEmployeeTypeDescription(UserVisitPK userVisitPK, EditEmployeeTypeDescriptionForm form);
291    
292    CommandResult<VoidResult> deleteEmployeeTypeDescription(UserVisitPK userVisitPK, DeleteEmployeeTypeDescriptionForm form);
293    
294    // -------------------------------------------------------------------------
295    //   Employees
296    // -------------------------------------------------------------------------
297    
298    CommandResult<GetEmployeeResult> getEmployee(UserVisitPK userVisitPK, GetEmployeeForm form);
299    
300    // -------------------------------------------------------------------------
301    //   Testing
302    // -------------------------------------------------------------------------
303    
304    String ping();
305        
306}