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.geo.common;
018
019import com.echothree.control.user.geo.common.form.*;
020import com.echothree.control.user.geo.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 GeoService
026        extends GeoForms {
027    
028    // -------------------------------------------------------------------------
029    //   Testing
030    // -------------------------------------------------------------------------
031    
032    String ping();
033    
034    // -------------------------------------------------------------------------
035    //   Geo Code Types
036    // -------------------------------------------------------------------------
037    
038    CommandResult<VoidResult> createGeoCodeType(UserVisitPK userVisitPK, CreateGeoCodeTypeForm form);
039
040    CommandResult<GetGeoCodeTypeChoicesResult> getGeoCodeTypeChoices(UserVisitPK userVisitPK, GetGeoCodeTypeChoicesForm form);
041
042    CommandResult<GetGeoCodeTypeResult> getGeoCodeType(UserVisitPK userVisitPK, GetGeoCodeTypeForm form);
043
044    CommandResult<GetGeoCodeTypesResult> getGeoCodeTypes(UserVisitPK userVisitPK, GetGeoCodeTypesForm form);
045
046    CommandResult<VoidResult> setDefaultGeoCodeType(UserVisitPK userVisitPK, SetDefaultGeoCodeTypeForm form);
047
048    CommandResult<EditGeoCodeTypeResult> editGeoCodeType(UserVisitPK userVisitPK, EditGeoCodeTypeForm form);
049
050    CommandResult<VoidResult> deleteGeoCodeType(UserVisitPK userVisitPK, DeleteGeoCodeTypeForm form);
051    
052    // -------------------------------------------------------------------------
053    //   Geo Code Type Descriptions
054    // -------------------------------------------------------------------------
055    
056    CommandResult<VoidResult> createGeoCodeTypeDescription(UserVisitPK userVisitPK, CreateGeoCodeTypeDescriptionForm form);
057
058    CommandResult<GetGeoCodeTypeDescriptionResult> getGeoCodeTypeDescription(UserVisitPK userVisitPK, GetGeoCodeTypeDescriptionForm form);
059
060    CommandResult<GetGeoCodeTypeDescriptionsResult> getGeoCodeTypeDescriptions(UserVisitPK userVisitPK, GetGeoCodeTypeDescriptionsForm form);
061
062    CommandResult<EditGeoCodeTypeDescriptionResult> editGeoCodeTypeDescription(UserVisitPK userVisitPK, EditGeoCodeTypeDescriptionForm form);
063
064    CommandResult<VoidResult> deleteGeoCodeTypeDescription(UserVisitPK userVisitPK, DeleteGeoCodeTypeDescriptionForm form);
065    
066    // -------------------------------------------------------------------------
067    //   Geo Code Scopes
068    // -------------------------------------------------------------------------
069    
070    CommandResult<VoidResult> createGeoCodeScope(UserVisitPK userVisitPK, CreateGeoCodeScopeForm form);
071
072    CommandResult<GetGeoCodeScopeChoicesResult> getGeoCodeScopeChoices(UserVisitPK userVisitPK, GetGeoCodeScopeChoicesForm form);
073
074    CommandResult<GetGeoCodeScopeResult> getGeoCodeScope(UserVisitPK userVisitPK, GetGeoCodeScopeForm form);
075
076    CommandResult<GetGeoCodeScopesResult> getGeoCodeScopes(UserVisitPK userVisitPK, GetGeoCodeScopesForm form);
077
078    CommandResult<VoidResult> setDefaultGeoCodeScope(UserVisitPK userVisitPK, SetDefaultGeoCodeScopeForm form);
079
080    CommandResult<EditGeoCodeScopeResult> editGeoCodeScope(UserVisitPK userVisitPK, EditGeoCodeScopeForm form);
081
082    CommandResult<VoidResult> deleteGeoCodeScope(UserVisitPK userVisitPK, DeleteGeoCodeScopeForm form);
083    
084    // -------------------------------------------------------------------------
085    //   Geo Code Scope Descriptions
086    // -------------------------------------------------------------------------
087    
088    CommandResult<VoidResult> createGeoCodeScopeDescription(UserVisitPK userVisitPK, CreateGeoCodeScopeDescriptionForm form);
089
090    CommandResult<GetGeoCodeScopeDescriptionResult> getGeoCodeScopeDescription(UserVisitPK userVisitPK, GetGeoCodeScopeDescriptionForm form);
091
092    CommandResult<GetGeoCodeScopeDescriptionsResult> getGeoCodeScopeDescriptions(UserVisitPK userVisitPK, GetGeoCodeScopeDescriptionsForm form);
093
094    CommandResult<EditGeoCodeScopeDescriptionResult> editGeoCodeScopeDescription(UserVisitPK userVisitPK, EditGeoCodeScopeDescriptionForm form);
095
096    CommandResult<VoidResult> deleteGeoCodeScopeDescription(UserVisitPK userVisitPK, DeleteGeoCodeScopeDescriptionForm form);
097    
098    // -------------------------------------------------------------------------
099    //   Geo Code Alias Types
100    // -------------------------------------------------------------------------
101    
102    CommandResult<CreateGeoCodeAliasTypeResult> createGeoCodeAliasType(UserVisitPK userVisitPK, CreateGeoCodeAliasTypeForm form);
103
104    CommandResult<GetGeoCodeAliasTypeChoicesResult> getGeoCodeAliasTypeChoices(UserVisitPK userVisitPK, GetGeoCodeAliasTypeChoicesForm form);
105
106    CommandResult<GetGeoCodeAliasTypeResult> getGeoCodeAliasType(UserVisitPK userVisitPK, GetGeoCodeAliasTypeForm form);
107
108    CommandResult<GetGeoCodeAliasTypesResult> getGeoCodeAliasTypes(UserVisitPK userVisitPK, GetGeoCodeAliasTypesForm form);
109
110    CommandResult<VoidResult> setDefaultGeoCodeAliasType(UserVisitPK userVisitPK, SetDefaultGeoCodeAliasTypeForm form);
111
112    CommandResult<EditGeoCodeAliasTypeResult> editGeoCodeAliasType(UserVisitPK userVisitPK, EditGeoCodeAliasTypeForm form);
113
114    CommandResult<VoidResult> deleteGeoCodeAliasType(UserVisitPK userVisitPK, DeleteGeoCodeAliasTypeForm form);
115
116    // -------------------------------------------------------------------------
117    //   Geo Code Alias Type Descriptions
118    // -------------------------------------------------------------------------
119    
120    CommandResult<VoidResult> createGeoCodeAliasTypeDescription(UserVisitPK userVisitPK, CreateGeoCodeAliasTypeDescriptionForm form);
121
122    CommandResult<GetGeoCodeAliasTypeDescriptionResult> getGeoCodeAliasTypeDescription(UserVisitPK userVisitPK, GetGeoCodeAliasTypeDescriptionForm form);
123
124    CommandResult<GetGeoCodeAliasTypeDescriptionsResult> getGeoCodeAliasTypeDescriptions(UserVisitPK userVisitPK, GetGeoCodeAliasTypeDescriptionsForm form);
125
126    CommandResult<EditGeoCodeAliasTypeDescriptionResult> editGeoCodeAliasTypeDescription(UserVisitPK userVisitPK, EditGeoCodeAliasTypeDescriptionForm form);
127
128    CommandResult<VoidResult> deleteGeoCodeAliasTypeDescription(UserVisitPK userVisitPK, DeleteGeoCodeAliasTypeDescriptionForm form);
129    
130    // -------------------------------------------------------------------------
131    //   Geo Codes
132    // -------------------------------------------------------------------------
133    
134    CommandResult<GetGeoCodeResult> getGeoCode(UserVisitPK userVisitPK, GetGeoCodeForm form);
135
136    CommandResult<VoidResult> setDefaultGeoCode(UserVisitPK userVisitPK, SetDefaultGeoCodeForm form);
137
138    CommandResult<VoidResult> deleteGeoCode(UserVisitPK userVisitPK, DeleteGeoCodeForm form);
139    
140    // --------------------------------------------------------------------------------
141    //   Geo Code Descriptions
142    // --------------------------------------------------------------------------------
143    
144    CommandResult<VoidResult> createGeoCodeDescription(UserVisitPK userVisitPK, CreateGeoCodeDescriptionForm form);
145    
146    CommandResult<GetGeoCodeDescriptionResult> getGeoCodeDescription(UserVisitPK userVisitPK, GetGeoCodeDescriptionForm form);
147
148    CommandResult<GetGeoCodeDescriptionsResult> getGeoCodeDescriptions(UserVisitPK userVisitPK, GetGeoCodeDescriptionsForm form);
149    
150    CommandResult<EditGeoCodeDescriptionResult> editGeoCodeDescription(UserVisitPK userVisitPK, EditGeoCodeDescriptionForm form);
151    
152    CommandResult<VoidResult> deleteGeoCodeDescription(UserVisitPK userVisitPK, DeleteGeoCodeDescriptionForm form);
153    
154    // -------------------------------------------------------------------------
155    //   Geo Code Aliases
156    // -------------------------------------------------------------------------
157
158    CommandResult<VoidResult> createGeoCodeAlias(UserVisitPK userVisitPK, CreateGeoCodeAliasForm form);
159
160    CommandResult<GetGeoCodeAliasResult> getGeoCodeAlias(UserVisitPK userVisitPK, GetGeoCodeAliasForm form);
161
162    CommandResult<GetGeoCodeAliasesResult> getGeoCodeAliases(UserVisitPK userVisitPK, GetGeoCodeAliasesForm form);
163
164    CommandResult<EditGeoCodeAliasResult> editGeoCodeAlias(UserVisitPK userVisitPK, EditGeoCodeAliasForm form);
165
166    CommandResult<VoidResult> deleteGeoCodeAlias(UserVisitPK userVisitPK, DeleteGeoCodeAliasForm form);
167
168    // -------------------------------------------------------------------------
169    //   Geo Code Languages
170    // -------------------------------------------------------------------------
171    
172    CommandResult<VoidResult> createGeoCodeLanguage(UserVisitPK userVisitPK, CreateGeoCodeLanguageForm form);
173    
174    CommandResult<GetGeoCodeLanguageResult> getGeoCodeLanguage(UserVisitPK userVisitPK, GetGeoCodeLanguageForm form);
175
176    CommandResult<GetGeoCodeLanguagesResult> getGeoCodeLanguages(UserVisitPK userVisitPK, GetGeoCodeLanguagesForm form);
177
178    CommandResult<VoidResult> setDefaultGeoCodeLanguage(UserVisitPK userVisitPK, SetDefaultGeoCodeLanguageForm form);
179    
180    CommandResult<EditGeoCodeLanguageResult> editGeoCodeLanguage(UserVisitPK userVisitPK, EditGeoCodeLanguageForm form);
181    
182    CommandResult<VoidResult> deleteGeoCodeLanguage(UserVisitPK userVisitPK, DeleteGeoCodeLanguageForm form);
183    
184    // -------------------------------------------------------------------------
185    //   Geo Code Currencies
186    // -------------------------------------------------------------------------
187    
188    CommandResult<VoidResult> createGeoCodeCurrency(UserVisitPK userVisitPK, CreateGeoCodeCurrencyForm form);
189    
190    CommandResult<GetGeoCodeCurrencyResult> getGeoCodeCurrency(UserVisitPK userVisitPK, GetGeoCodeCurrencyForm form);
191
192    CommandResult<GetGeoCodeCurrenciesResult> getGeoCodeCurrencies(UserVisitPK userVisitPK, GetGeoCodeCurrenciesForm form);
193    
194    CommandResult<VoidResult> setDefaultGeoCodeCurrency(UserVisitPK userVisitPK, SetDefaultGeoCodeCurrencyForm form);
195    
196    CommandResult<EditGeoCodeCurrencyResult> editGeoCodeCurrency(UserVisitPK userVisitPK, EditGeoCodeCurrencyForm form);
197    
198    CommandResult<VoidResult> deleteGeoCodeCurrency(UserVisitPK userVisitPK, DeleteGeoCodeCurrencyForm form);
199    
200    // -------------------------------------------------------------------------
201    //   Geo Code Time Zones
202    // -------------------------------------------------------------------------
203    
204    CommandResult<VoidResult> createGeoCodeTimeZone(UserVisitPK userVisitPK, CreateGeoCodeTimeZoneForm form);
205
206    CommandResult<GetGeoCodeTimeZoneResult> getGeoCodeTimeZone(UserVisitPK userVisitPK, GetGeoCodeTimeZoneForm form);
207
208    CommandResult<GetGeoCodeTimeZonesResult> getGeoCodeTimeZones(UserVisitPK userVisitPK, GetGeoCodeTimeZonesForm form);
209    
210    CommandResult<VoidResult> setDefaultGeoCodeTimeZone(UserVisitPK userVisitPK, SetDefaultGeoCodeTimeZoneForm form);
211    
212    CommandResult<EditGeoCodeTimeZoneResult> editGeoCodeTimeZone(UserVisitPK userVisitPK, EditGeoCodeTimeZoneForm form);
213    
214    CommandResult<VoidResult> deleteGeoCodeTimeZone(UserVisitPK userVisitPK, DeleteGeoCodeTimeZoneForm form);
215    
216    // -------------------------------------------------------------------------
217    //   Geo Code Date Time Formats
218    // -------------------------------------------------------------------------
219    
220    CommandResult<VoidResult> createGeoCodeDateTimeFormat(UserVisitPK userVisitPK, CreateGeoCodeDateTimeFormatForm form);
221
222    CommandResult<GetGeoCodeDateTimeFormatResult> getGeoCodeDateTimeFormat(UserVisitPK userVisitPK, GetGeoCodeDateTimeFormatForm form);
223
224    CommandResult<GetGeoCodeDateTimeFormatsResult> getGeoCodeDateTimeFormats(UserVisitPK userVisitPK, GetGeoCodeDateTimeFormatsForm form);
225    
226    CommandResult<VoidResult> setDefaultGeoCodeDateTimeFormat(UserVisitPK userVisitPK, SetDefaultGeoCodeDateTimeFormatForm form);
227    
228    CommandResult<EditGeoCodeDateTimeFormatResult> editGeoCodeDateTimeFormat(UserVisitPK userVisitPK, EditGeoCodeDateTimeFormatForm form);
229    
230    CommandResult<VoidResult> deleteGeoCodeDateTimeFormat(UserVisitPK userVisitPK, DeleteGeoCodeDateTimeFormatForm form);
231    
232    // -------------------------------------------------------------------------
233    //   Countries
234    // -------------------------------------------------------------------------
235    
236    CommandResult<CreateCountryResult> createCountry(UserVisitPK userVisitPK, CreateCountryForm form);
237    
238    CommandResult<GetCountryResult> getCountry(UserVisitPK userVisitPK, GetCountryForm form);
239    
240    CommandResult<GetCountriesResult> getCountries(UserVisitPK userVisitPK, GetCountriesForm form);
241    
242    CommandResult<GetCountryChoicesResult> getCountryChoices(UserVisitPK userVisitPK, GetCountryChoicesForm form);
243    
244    CommandResult<EditCountryResult> editCountry(UserVisitPK userVisitPK, EditCountryForm form);
245
246    // -------------------------------------------------------------------------
247    //   States
248    // -------------------------------------------------------------------------
249    
250    CommandResult<CreateStateResult> createState(UserVisitPK userVisitPK, CreateStateForm form);
251    
252    CommandResult<GetStateResult> getState(UserVisitPK userVisitPK, GetStateForm form);
253    
254    CommandResult<GetStatesResult> getStates(UserVisitPK userVisitPK, GetStatesForm form);
255    
256    // -------------------------------------------------------------------------
257    //   Counties
258    // -------------------------------------------------------------------------
259    
260    CommandResult<CreateCountyResult> createCounty(UserVisitPK userVisitPK, CreateCountyForm form);
261    
262    CommandResult<GetCountyResult> getCounty(UserVisitPK userVisitPK, GetCountyForm form);
263    
264    CommandResult<GetCountiesResult> getCounties(UserVisitPK userVisitPK, GetCountiesForm form);
265    
266    // -------------------------------------------------------------------------
267    //   Cities
268    // -------------------------------------------------------------------------
269    
270    CommandResult<CreateCityResult> createCity(UserVisitPK userVisitPK, CreateCityForm form);
271    
272    CommandResult<VoidResult> addCityToCounty(UserVisitPK userVisitPK, AddCityToCountyForm form);
273    
274    CommandResult<VoidResult> addZipCodeToCity(UserVisitPK userVisitPK, AddZipCodeToCityForm form);
275    
276    CommandResult<GetCityResult> getCity(UserVisitPK userVisitPK, GetCityForm form);
277    
278    CommandResult<GetCitiesResult> getCities(UserVisitPK userVisitPK, GetCitiesForm form);
279    
280    // -------------------------------------------------------------------------
281    //   Zip Codes
282    // -------------------------------------------------------------------------
283    
284    CommandResult<CreateZipCodeResult> createZipCode(UserVisitPK userVisitPK, CreateZipCodeForm form);
285    
286    CommandResult<GetZipCodeResult> getZipCode(UserVisitPK userVisitPK, GetZipCodeForm form);
287    
288    CommandResult<GetZipCodesResult> getZipCodes(UserVisitPK userVisitPK, GetZipCodesForm form);
289    
290}