summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/uic/barcode/ticket/api/spec/IPass.java
blob: 440bd9bacd97397c2334aeeb2189a9ba3cc5f904 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
/*
 * 
 */
package org.uic.barcode.ticket.api.spec;

import java.util.Collection;
import java.util.Date;

// TODO: Auto-generated Javadoc
/**
 * The Interface IPass.
 * 
 * IPass provides the data for a rail pass ticket.
 * 
 */
public interface IPass  extends IDocumentData {
	
	/**
	 * Gets the reference.
	 *
	 * @return the reference
	 */
	public String getReference();

	/**
	 * Sets the reference.
	 *
	 * @param reference the new reference
	 */
	public void setReference(String reference);

	/**
	 * Gets the product id.
	 *
	 * @return the product id
	 */
	public String getProductId();

	/**
	 * Sets the product id.
	 *
	 * @param productId the new product id
	 */
	public void setProductId(String productId);

	/**
	 * Gets the product owner.
	 *
	 * Company that provides the product. 
	 * E.g. The RICS code of Eurail G.E.I. for Eurail passes.
	 *
	 * @return the product owner
	 */
	public String getProductOwner();

	/**
	 * Sets the product owner.
	 *
	 * Company that provides the product. 
	 * E.g. The RICS code of Eurail G.E.I. for Eurail passes.
	 * 	 
	 * @param productOwner the new product owner
	 */
	public void setProductOwner(String productOwner);

	/**
	 * Gets the pass type.
	 *
	 * @return the pass type
	 */
	public int getPassType();

	/**
	 * Sets the pass type.
	 *
	 *  -- type of the pass, code list provided by the product owner
	 *  	 
	 * @param passType the new pass type
	 */
	public void setPassType(int passType);

	/**
	 * Gets the human readable pass description.
	 *
	 * @return the human readable pass description.
	 */
	public String getPassDescription();

	/**
	 * Sets the human readable pass description.
	 *
	 * @param passDescription the new human readable pass description.
	 */
	public void setPassDescription(String passDescription);

	/**
	 * Gets the class code.
	 *
	 * @return the class code
	 */
	public ITravelClassType getClassCode();

	/**
	 * Sets the travel class code.
	 *
	 * @param classCode the new travel class code
	 */
	public void setClassCode(ITravelClassType classCode);

	/**
	 * Gets the valid from date and time.
	 *
	 * @return the valid from date and time
	 */
	public Date getValidFrom();

	/**
	 * Sets the valid from date and time.
	 *
	 * @param validFrom the new valid from date and time
	 */
	public void setValidFrom(Date validFrom);

	/**
	 * Gets the valid until date and time.
	 *
	 * @return the valid until date and time
	 */
	public Date getValidUntil();

	/**
	 * Sets the valid until date and time.
	 *
	 * @param validUntil the new valid until date and time
	 */
	public void setValidUntil(Date validUntil);

	/**
	 * Gets the number of validity days in case this is less than the entire validity range and the valid from day is open.
	 *
	 * @return the number of validity days in case this is less than the entire validity range.
	 */
	public int getNumberOfValidityDays();

	/**
	 * Sets the number of validity days in case this is less than the entire validity range and the valid from day is open.
	 *
	 * @param numberOfValidityDays the new number of validity days in case this is less than the entire validity range.
	 */
	public void setNumberOfValidityDays(int numberOfValidityDays);

	/**
	 * Gets the number of possible trips.
	 *
	 * @return the number of possible trips
	 */
	public int getNumberOfPossibleTrips();

	/**
	 * Sets the number of possible trips.
	 *
	 * @param numberOfPossibleTrips the new number of possible trips
	 */
	public void setNumberOfPossibleTrips(int numberOfPossibleTrips);

	/**
	 * Gets the number of days of travel in case this is less than the entire validity range.
	 *
	 * @return the number of days of travel in case this is less than the entire validity range
	 */
	public int getNumberOfDaysOfTravel();

	/**
	 * Sets the number of days of travel in case this is less than the entire validity range.
	 *
	 * @param numberOfDaysOfTravel the new number of days of travel in case this is less than the entire validity range
	 */
	public void setNumberOfDaysOfTravel(int numberOfDaysOfTravel) ;

	/**
	 * Gets the activated days valid for traveling.
	 *
	 * @return the activated days valid for traveling
	 */
	public Collection<Date> getActivatedDays() ;

	/**
	 * Adds an activated day valid for traveling.
	 *
	 * @param activatedDay the activated day valid for traveling
	 */
	public void addActivatedDay(Date activatedDay);

	/**
	 * Gets the countries where the pass is valid.
	 * 
	 * Code list according to the codes in UIC leaflet 918.2
	 *
	 * @return the countries
	 */
	public Collection<Integer> getCountries();

	/**
	 * Adds a country.
	 * 	 
	 * Code list according to the codes in UIC leaflet 918.2	 
	 *
	 * @param country the country
	 */
	public void addCountry(Integer country);

	/**
	 * Gets the included carriers.
	 *
	 * @return the included carriers
	 */
	public Collection<String> getIncludedCarriers();

	/**
	 * Adds the included carrier.
	 *
	 * @param carrier the carrier
	 */
	public void addIncludedCarrier(String carrier);

	/**
	 * Gets the excluded carriers.
	 *
	 * @return the excluded carriers
	 */
	public Collection<String> getExcludedCarriers();

	/**
	 * Adds the excluded carrier.
	 *
	 * @param carrier the carrier
	 */
	public void addExcludedCarrier(String carrier);	
	
	/**
	 * Gets the included service brands.
	 *
	 * @return the included service brands
	 */
	public Collection<Integer> getIncludedServiceBrands();

	/**
	 * Adds the included service brand.
	 *
	 * @param includedServiceBrand the included service brand
	 */
	public void addIncludedServiceBrand(Integer includedServiceBrand);

	/**
	 * Gets the excluded service brands.
	 *
	 * @return the excluded service brands
	 */
	public Collection<Integer> getExcludedServiceBrands();

	/**
	 * Adds the excluded service brand.
	 *
	 * @param excludedServiceBrand the excluded service brand
	 */
	public void addExcludedServiceBrand(Integer excludedServiceBrand);

	/**
	 * Gets the list of valid regions.
	 *
	 * @return the valid region list
	 */
	public Collection<IRegionalValidity> getValidRegionList();

	/**
	 * Adds a valid region.
	 *
	 * @param validRegion the valid region to be added
	 */
	public void addValidRegion(IRegionalValidity validRegion);

	/**
	 * Gets the tariffs.
	 *
	 * @return the tariffs
	 */
	public Collection<ITariff> getTariffs();

	/**
	 * Adds the tariff.
	 *
	 * @param tariff the tariff
	 */
	public void addTariff(ITariff tariff);

	/**
	 * Gets the info text.
	 *
	 * @return the info text
	 */
	public String getInfoText();

	/**
	 * Sets the info text.
	 *
	 * @param infoText the new info text
	 */
	public void setInfoText(String infoText);

	/**
	 * Gets the extension.
	 *
	 * @return the extension
	 */
	public IExtension getExtension();

	/**
	 * Sets the extension.
	 *
	 * @param extension the new extension
	 */
	public void setExtension(IExtension extension);
	
	
	/**
	 * Sets the validity details containing additional validity ranges and excluded time ranges.
	 *
	 * @param validityDetails the new validity details
	 */
	public void setValidityDetails(IValidityDetails validityDetails);
	

	/**
	 * Gets the validity details containing additional validity ranges and excluded time ranges.
	 *
	 * @return the validity details
	 */
	public IValidityDetails getValidityDetails();	
	
	/**
	 * Sets the price. 
	 *
	 * @param price the new price
	 */
	public void setPrice(Long price);
	
	
	/**
	 * Gets the price.
	 *
	 * The price
	 *
	 * @return the price
	 */
	public Long getPrice();
	
	
	/**
	 * Gets the included add on tickets.
	 *	 
	 * E.g. an included local transport ticket at the beginning or end of the route.
	 * 	 
	 * @return the included add ons
	 */
	public Collection<IVatDetail> getVatDetails();

	/**
	 * Adds an included add on ticket.
	 * 
	 * E.g. an included local transport ticket at the beginning or end of the route.
	 *
	 * @param vatDetail the vat detail
	 */
	public void addVatDetail(IVatDetail vatDetail) ;
	
	/**
	 * Sets the until date and time.
	 *
	 * @param date the new until date and time
	 */
	public void setUntilDate(Date date);	
	
	
	/**
	 * Gets the validFrom date time offset to UTC in units of 15 minutes.
	 *
	 * @return the validFrom date time UTC offset
	 */
	public Long getValidFromUTCoffset();
	
	/**
	 * Sets the validFrom date time.
	 *
	 * @param validFromUTCoffset the new valid from UT coffset
	 */
	public void setValidFromUTCoffset(Long validFromUTCoffset) ;
	
	/**
	 * Gets the validUntil date time offset to UTC in units of 15 minutes.
	 *
	 * @return the validUntil date time UTC offset
	 */
	public Long getValidUntilUTCoffset();
	
	/**
	 * Sets the validUntil date time.
	 *
	 * @param validUntilUTCoffset the new valid until UT coffset
	 */
	public void setValidUntilUTCoffset(Long validUntilUTCoffset) ;
	
	
	/**
	 * Sets the train validity.
	 *
	 * @param trainValidity the new train validity
	 */
	public void setTrainValidity(ITrainValidity trainValidity);
	
	/**
	 * Gets the train validity.
	 *
	 * @return the train validity
	 */
	public ITrainValidity getTrainValidity();
	
	
}