1 package com.srv4pos.server.api.restaurant;
2
3 import com.srv4pos.server.api.infrastructure.Constraints;
4 import com.srv4pos.server.api.infrastructure.Info;
5 import com.srv4pos.server.api.seller.Currency;
6 import com.srv4pos.server.api.seller.DayOfWeek;
7 import com.srv4pos.server.api.seller.WorkHoursInfo;
8 import com.srv4pos.server.api.tax.TaxInfo;
9 import org.springframework.roo.addon.javabean.RooJavaBean;
10 import org.springframework.roo.addon.json.RooJson;
11 import org.springframework.roo.addon.tostring.RooToString;
12
13 import javax.validation.constraints.NotNull;
14 import javax.validation.constraints.Pattern;
15 import javax.validation.constraints.Size;
16 import java.util.HashMap;
17 import java.util.List;
18 import java.util.Map;
19
20 @RooJavaBean
21 @RooToString
22 @RooJson(deepSerialize = true)
23 public class RestaurantOverviewInfo implements Info {
24
25
26
27
28
29 public static enum Fields {
30 COUNTRY, NAME, AVERAGE_BILL, DESCRIPTION, CITY, WORK_HOURS, PHONE
31 }
32
33
34 @NotNull
35 @Size(max = 2, min = 2)
36 private String country;
37
38 @NotNull
39 @Size(max = 96)
40 @Pattern(regexp = Constraints.WINDOWS_FILENAME_REGEX)
41 private String corporateId;
42
43 @Size(min = 1, max = 96)
44 private String name;
45
46 @Size(max = 50)
47 private String city;
48
49 @Size(max = 96)
50 private String address;
51
52 @Size(max = 50)
53 private String phone;
54
55 private String workHours;
56
57 @NotNull
58 private Map<DayOfWeek, WorkHoursInfo> workHoursWeek = new HashMap<DayOfWeek, WorkHoursInfo>();
59
60 private String description;
61
62 private Long averageBill;
63
64 @NotNull
65 private List<RestaurantCategoryInfo> menu;
66
67 private List<String> images;
68
69 @Size(max = 65535)
70 private String custom;
71
72 @NotNull
73 private List<TaxInfo> taxes;
74
75 private Currency currency;
76 }