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.cancellationpolicy.common;
018
019import com.echothree.control.user.cancellationpolicy.common.form.*;
020import com.echothree.control.user.cancellationpolicy.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 CancellationPolicyService
026        extends CancellationPolicyForms {
027    
028    // -------------------------------------------------------------------------
029    //   Testing
030    // -------------------------------------------------------------------------
031    
032    String ping();
033    
034    // -------------------------------------------------------------------------
035    //   Party Cancellation Policies
036    // -------------------------------------------------------------------------
037    
038    CommandResult<GetPartyCancellationPolicyResult> getPartyCancellationPolicy(UserVisitPK userVisitPK, GetPartyCancellationPolicyForm form);
039
040    CommandResult<GetPartyCancellationPoliciesResult> getPartyCancellationPolicies(UserVisitPK userVisitPK, GetPartyCancellationPoliciesForm form);
041
042    CommandResult<GetPartyCancellationPolicyStatusChoicesResult> getPartyCancellationPolicyStatusChoices(UserVisitPK userVisitPK, GetPartyCancellationPolicyStatusChoicesForm form);
043
044    CommandResult<VoidResult> setPartyCancellationPolicyStatus(UserVisitPK userVisitPK, SetPartyCancellationPolicyStatusForm form);
045
046    CommandResult<VoidResult> deletePartyCancellationPolicy(UserVisitPK userVisitPK, DeletePartyCancellationPolicyForm form);
047
048    // -------------------------------------------------------------------------
049    //   Cancellation Kinds
050    // -------------------------------------------------------------------------
051    
052    CommandResult<CreateCancellationKindResult> createCancellationKind(UserVisitPK userVisitPK, CreateCancellationKindForm form);
053    
054    CommandResult<GetCancellationKindsResult> getCancellationKinds(UserVisitPK userVisitPK, GetCancellationKindsForm form);
055    
056    CommandResult<GetCancellationKindResult> getCancellationKind(UserVisitPK userVisitPK, GetCancellationKindForm form);
057    
058    CommandResult<GetCancellationKindChoicesResult> getCancellationKindChoices(UserVisitPK userVisitPK, GetCancellationKindChoicesForm form);
059    
060    CommandResult<VoidResult> setDefaultCancellationKind(UserVisitPK userVisitPK, SetDefaultCancellationKindForm form);
061    
062    CommandResult<EditCancellationKindResult> editCancellationKind(UserVisitPK userVisitPK, EditCancellationKindForm form);
063    
064    CommandResult<VoidResult> deleteCancellationKind(UserVisitPK userVisitPK, DeleteCancellationKindForm form);
065    
066    // -------------------------------------------------------------------------
067    //   Cancellation Kind Descriptions
068    // -------------------------------------------------------------------------
069    
070    CommandResult<VoidResult> createCancellationKindDescription(UserVisitPK userVisitPK, CreateCancellationKindDescriptionForm form);
071    
072    CommandResult<GetCancellationKindDescriptionsResult> getCancellationKindDescriptions(UserVisitPK userVisitPK, GetCancellationKindDescriptionsForm form);
073    
074    CommandResult<EditCancellationKindDescriptionResult> editCancellationKindDescription(UserVisitPK userVisitPK, EditCancellationKindDescriptionForm form);
075    
076    CommandResult<VoidResult> deleteCancellationKindDescription(UserVisitPK userVisitPK, DeleteCancellationKindDescriptionForm form);
077    
078    // -------------------------------------------------------------------------
079    //   Cancellation Policies
080    // -------------------------------------------------------------------------
081    
082    CommandResult<VoidResult> createCancellationPolicy(UserVisitPK userVisitPK, CreateCancellationPolicyForm form);
083    
084    CommandResult<GetCancellationPoliciesResult> getCancellationPolicies(UserVisitPK userVisitPK, GetCancellationPoliciesForm form);
085    
086    CommandResult<GetCancellationPolicyResult> getCancellationPolicy(UserVisitPK userVisitPK, GetCancellationPolicyForm form);
087    
088    CommandResult<GetCancellationPolicyChoicesResult> getCancellationPolicyChoices(UserVisitPK userVisitPK, GetCancellationPolicyChoicesForm form);
089    
090    CommandResult<VoidResult> setDefaultCancellationPolicy(UserVisitPK userVisitPK, SetDefaultCancellationPolicyForm form);
091    
092    CommandResult<EditCancellationPolicyResult> editCancellationPolicy(UserVisitPK userVisitPK, EditCancellationPolicyForm form);
093    
094    CommandResult<VoidResult> deleteCancellationPolicy(UserVisitPK userVisitPK, DeleteCancellationPolicyForm form);
095    
096    // -------------------------------------------------------------------------
097    //   Cancellation Policy Translations
098    // -------------------------------------------------------------------------
099    
100    CommandResult<VoidResult> createCancellationPolicyTranslation(UserVisitPK userVisitPK, CreateCancellationPolicyTranslationForm form);
101
102    CommandResult<GetCancellationPolicyTranslationResult> getCancellationPolicyTranslation(UserVisitPK userVisitPK, GetCancellationPolicyTranslationForm form);
103
104    CommandResult<GetCancellationPolicyTranslationsResult> getCancellationPolicyTranslations(UserVisitPK userVisitPK, GetCancellationPolicyTranslationsForm form);
105    
106    CommandResult<EditCancellationPolicyTranslationResult> editCancellationPolicyTranslation(UserVisitPK userVisitPK, EditCancellationPolicyTranslationForm form);
107    
108    CommandResult<VoidResult> deleteCancellationPolicyTranslation(UserVisitPK userVisitPK, DeleteCancellationPolicyTranslationForm form);
109    
110    // -------------------------------------------------------------------------
111    //   Cancellation Policy Reasons
112    // -------------------------------------------------------------------------
113    
114    CommandResult<VoidResult> createCancellationPolicyReason(UserVisitPK userVisitPK, CreateCancellationPolicyReasonForm form);
115    
116    CommandResult<GetCancellationPolicyReasonsResult> getCancellationPolicyReasons(UserVisitPK userVisitPK, GetCancellationPolicyReasonsForm form);
117    
118    CommandResult<VoidResult> setDefaultCancellationPolicyReason(UserVisitPK userVisitPK, SetDefaultCancellationPolicyReasonForm form);
119    
120    CommandResult<EditCancellationPolicyReasonResult> editCancellationPolicyReason(UserVisitPK userVisitPK, EditCancellationPolicyReasonForm form);
121    
122    CommandResult<VoidResult> deleteCancellationPolicyReason(UserVisitPK userVisitPK, DeleteCancellationPolicyReasonForm form);
123    
124    // -------------------------------------------------------------------------
125    //   Cancellation Reasons
126    // -------------------------------------------------------------------------
127    
128    CommandResult<VoidResult> createCancellationReason(UserVisitPK userVisitPK, CreateCancellationReasonForm form);
129    
130    CommandResult<GetCancellationReasonsResult> getCancellationReasons(UserVisitPK userVisitPK, GetCancellationReasonsForm form);
131    
132    CommandResult<GetCancellationReasonResult> getCancellationReason(UserVisitPK userVisitPK, GetCancellationReasonForm form);
133    
134    CommandResult<GetCancellationReasonChoicesResult> getCancellationReasonChoices(UserVisitPK userVisitPK, GetCancellationReasonChoicesForm form);
135    
136    CommandResult<VoidResult> setDefaultCancellationReason(UserVisitPK userVisitPK, SetDefaultCancellationReasonForm form);
137    
138    CommandResult<EditCancellationReasonResult> editCancellationReason(UserVisitPK userVisitPK, EditCancellationReasonForm form);
139    
140    CommandResult<VoidResult> deleteCancellationReason(UserVisitPK userVisitPK, DeleteCancellationReasonForm form);
141    
142    // -------------------------------------------------------------------------
143    //   Cancellation Reason Descriptions
144    // -------------------------------------------------------------------------
145    
146    CommandResult<VoidResult> createCancellationReasonDescription(UserVisitPK userVisitPK, CreateCancellationReasonDescriptionForm form);
147    
148    CommandResult<GetCancellationReasonDescriptionsResult> getCancellationReasonDescriptions(UserVisitPK userVisitPK, GetCancellationReasonDescriptionsForm form);
149    
150    CommandResult<EditCancellationReasonDescriptionResult> editCancellationReasonDescription(UserVisitPK userVisitPK, EditCancellationReasonDescriptionForm form);
151    
152    CommandResult<VoidResult> deleteCancellationReasonDescription(UserVisitPK userVisitPK, DeleteCancellationReasonDescriptionForm form);
153    
154    // -------------------------------------------------------------------------
155    //   Cancellation Reason Types
156    // -------------------------------------------------------------------------
157    
158    CommandResult<VoidResult> createCancellationReasonType(UserVisitPK userVisitPK, CreateCancellationReasonTypeForm form);
159    
160    CommandResult<GetCancellationReasonTypesResult> getCancellationReasonTypes(UserVisitPK userVisitPK, GetCancellationReasonTypesForm form);
161    
162    CommandResult<VoidResult> setDefaultCancellationReasonType(UserVisitPK userVisitPK, SetDefaultCancellationReasonTypeForm form);
163    
164    CommandResult<EditCancellationReasonTypeResult> editCancellationReasonType(UserVisitPK userVisitPK, EditCancellationReasonTypeForm form);
165    
166    CommandResult<VoidResult> deleteCancellationReasonType(UserVisitPK userVisitPK, DeleteCancellationReasonTypeForm form);
167    
168    // -------------------------------------------------------------------------
169    //   Cancellation Types
170    // -------------------------------------------------------------------------
171    
172    CommandResult<VoidResult> createCancellationType(UserVisitPK userVisitPK, CreateCancellationTypeForm form);
173    
174    CommandResult<GetCancellationTypesResult> getCancellationTypes(UserVisitPK userVisitPK, GetCancellationTypesForm form);
175    
176    CommandResult<GetCancellationTypeResult> getCancellationType(UserVisitPK userVisitPK, GetCancellationTypeForm form);
177    
178    CommandResult<GetCancellationTypeChoicesResult> getCancellationTypeChoices(UserVisitPK userVisitPK, GetCancellationTypeChoicesForm form);
179    
180    CommandResult<VoidResult> setDefaultCancellationType(UserVisitPK userVisitPK, SetDefaultCancellationTypeForm form);
181    
182    CommandResult<EditCancellationTypeResult> editCancellationType(UserVisitPK userVisitPK, EditCancellationTypeForm form);
183    
184    CommandResult<VoidResult> deleteCancellationType(UserVisitPK userVisitPK, DeleteCancellationTypeForm form);
185    
186    // -------------------------------------------------------------------------
187    //   Cancellation Type Descriptions
188    // -------------------------------------------------------------------------
189    
190    CommandResult<VoidResult> createCancellationTypeDescription(UserVisitPK userVisitPK, CreateCancellationTypeDescriptionForm form);
191    
192    CommandResult<GetCancellationTypeDescriptionsResult> getCancellationTypeDescriptions(UserVisitPK userVisitPK, GetCancellationTypeDescriptionsForm form);
193    
194    CommandResult<EditCancellationTypeDescriptionResult> editCancellationTypeDescription(UserVisitPK userVisitPK, EditCancellationTypeDescriptionForm form);
195    
196    CommandResult<VoidResult> deleteCancellationTypeDescription(UserVisitPK userVisitPK, DeleteCancellationTypeDescriptionForm form);
197    
198}