1 package com.srv4pos.server.api.booking;
2
3 import com.srv4pos.server.api.activation.ContactInfo;
4 import com.srv4pos.server.api.infrastructure.Constraints;
5 import com.srv4pos.server.api.infrastructure.SyncEntityInfo;
6 import com.srv4pos.server.api.validationGroups.IdentifierValidationGroup;
7 import org.springframework.roo.addon.javabean.RooJavaBean;
8 import org.springframework.roo.addon.json.RooJson;
9 import org.springframework.roo.addon.tostring.RooToString;
10
11 import javax.validation.Valid;
12 import javax.validation.constraints.Min;
13 import javax.validation.constraints.NotNull;
14 import javax.validation.constraints.Pattern;
15 import javax.validation.constraints.Size;
16 import java.util.Date;
17
18
19
20
21 @RooJavaBean
22 @RooToString
23 @RooJson(deepSerialize = true)
24 public class BookingInfo implements SyncEntityInfo {
25
26
27
28
29 public enum Fields { IDENTIFIER, BOOKING_DATE }
30
31 @NotNull(groups = IdentifierValidationGroup.class)
32 @Size(max = 50, min = 1)
33 @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX)
34 private String identifier;
35
36 @NotNull
37 private Date bookingDate;
38
39 @Min(0)
40 private int persons;
41
42 @NotNull
43 @Valid
44 private ContactInfo contactInfo;
45
46 @Size(max = 1024)
47 private String description;
48
49 private boolean deleted = Boolean.FALSE;
50
51 private Integer version;
52 }