@@ -13,21 +13,155 @@ module.exports = async function (fastify, options) {
1313 properties : {
1414 adId : { type : 'string' , minLength : 10 } ,
1515 customId : { type : 'string' } ,
16- optins : { type : 'array' ,
16+ optins : {
17+ type : 'array' ,
1718 minItems : 1 ,
1819 maxItems : 1 ,
19- items : { type : 'object' ,
20- properties : {
20+ items : {
21+ type : 'object' ,
22+ properties : {
2123 type : { type : 'string' , enum : [ 'USER_DATA' ] } ,
2224 value : { type : 'boolean' }
23- }
24- }
25+ }
26+ }
2527 } ,
26- location : { type : 'object' ,
28+ location : {
29+ type : 'object' ,
2730 properties : {
2831 status : { type : 'string' , enum : [ 'ALWAYS' , 'WHILE_IN_USE' , 'NOT_DETERMINED' , 'DENIED' ] } ,
2932 precision : { type : 'string' , enum : [ 'FINE' , 'COARSE' ] }
3033 }
34+ } ,
35+ predictions : {
36+ type : 'object' ,
37+ properties : {
38+ tags : {
39+ type : 'array' ,
40+ items : {
41+ type : 'object' ,
42+ properties : {
43+ tag : { type : 'string' , minLength : 2 } ,
44+ pattern : {
45+ type : 'object' ,
46+ properties : {
47+ monday_early_morning : { type : 'number' } ,
48+ monday_late_morning : { type : 'number' } ,
49+ monday_lunch_time : { type : 'number' } ,
50+ monday_early_afternoon : { type : 'number' } ,
51+ monday_late_afternoon : { type : 'number' } ,
52+ monday_evening : { type : 'number' } ,
53+ monday_night : { type : 'number' } ,
54+ tuesday_early_morning : { type : 'number' } ,
55+ tuesday_late_morning : { type : 'number' } ,
56+ tuesday_lunch_time : { type : 'number' } ,
57+ tuesday_early_afternoon : { type : 'number' } ,
58+ tuesday_late_afternoon : { type : 'number' } ,
59+ tuesday_evening : { type : 'number' } ,
60+ tuesday_night : { type : 'number' } ,
61+ wednesday_early_morning : { type : 'number' } ,
62+ wednesday_late_morning : { type : 'number' } ,
63+ wednesday_lunch_time : { type : 'number' } ,
64+ wednesday_early_afternoon : { type : 'number' } ,
65+ wednesday_late_afternoon : { type : 'number' } ,
66+ wednesday_evening : { type : 'number' } ,
67+ wednesday_night : { type : 'number' } ,
68+ thursday_early_morning : { type : 'number' } ,
69+ thursday_late_morning : { type : 'number' } ,
70+ thursday_lunch_time : { type : 'number' } ,
71+ thursday_early_afternoon : { type : 'number' } ,
72+ thursday_late_afternoon : { type : 'number' } ,
73+ thursday_evening : { type : 'number' } ,
74+ thursday_night : { type : 'number' } ,
75+ friday_early_morning : { type : 'number' } ,
76+ friday_late_morning : { type : 'number' } ,
77+ friday_lunch_time : { type : 'number' } ,
78+ friday_early_afternoon : { type : 'number' } ,
79+ friday_late_afternoon : { type : 'number' } ,
80+ friday_evening : { type : 'number' } ,
81+ friday_night : { type : 'number' } ,
82+ saturday_early_morning : { type : 'number' } ,
83+ saturday_late_morning : { type : 'number' } ,
84+ saturday_lunch_time : { type : 'number' } ,
85+ saturday_early_afternoon : { type : 'number' } ,
86+ saturday_late_afternoon : { type : 'number' } ,
87+ saturday_evening : { type : 'number' } ,
88+ saturday_night : { type : 'number' } ,
89+ sunday_early_morning : { type : 'number' } ,
90+ sunday_late_morning : { type : 'number' } ,
91+ sunday_lunch_time : { type : 'number' } ,
92+ sunday_early_afternoon : { type : 'number' } ,
93+ sunday_late_afternoon : { type : 'number' } ,
94+ sunday_evening : { type : 'number' } ,
95+ sunday_night : { type : 'number' } ,
96+ }
97+ }
98+ }
99+ }
100+ } ,
101+ zones : {
102+ type : 'array' ,
103+ items : {
104+ type : 'object' ,
105+ properties : {
106+ id : { type : 'string' , minLength : 2 } ,
107+ pattern : {
108+ type : 'object' ,
109+ properties : {
110+ monday_early_morning : { type : 'number' } ,
111+ monday_late_morning : { type : 'number' } ,
112+ monday_lunch_time : { type : 'number' } ,
113+ monday_early_afternoon : { type : 'number' } ,
114+ monday_late_afternoon : { type : 'number' } ,
115+ monday_evening : { type : 'number' } ,
116+ monday_night : { type : 'number' } ,
117+ tuesday_early_morning : { type : 'number' } ,
118+ tuesday_late_morning : { type : 'number' } ,
119+ tuesday_lunch_time : { type : 'number' } ,
120+ tuesday_early_afternoon : { type : 'number' } ,
121+ tuesday_late_afternoon : { type : 'number' } ,
122+ tuesday_evening : { type : 'number' } ,
123+ tuesday_night : { type : 'number' } ,
124+ wednesday_early_morning : { type : 'number' } ,
125+ wednesday_late_morning : { type : 'number' } ,
126+ wednesday_lunch_time : { type : 'number' } ,
127+ wednesday_early_afternoon : { type : 'number' } ,
128+ wednesday_late_afternoon : { type : 'number' } ,
129+ wednesday_evening : { type : 'number' } ,
130+ wednesday_night : { type : 'number' } ,
131+ thursday_early_morning : { type : 'number' } ,
132+ thursday_late_morning : { type : 'number' } ,
133+ thursday_lunch_time : { type : 'number' } ,
134+ thursday_early_afternoon : { type : 'number' } ,
135+ thursday_late_afternoon : { type : 'number' } ,
136+ thursday_evening : { type : 'number' } ,
137+ thursday_night : { type : 'number' } ,
138+ friday_early_morning : { type : 'number' } ,
139+ friday_late_morning : { type : 'number' } ,
140+ friday_lunch_time : { type : 'number' } ,
141+ friday_early_afternoon : { type : 'number' } ,
142+ friday_late_afternoon : { type : 'number' } ,
143+ friday_evening : { type : 'number' } ,
144+ friday_night : { type : 'number' } ,
145+ saturday_early_morning : { type : 'number' } ,
146+ saturday_late_morning : { type : 'number' } ,
147+ saturday_lunch_time : { type : 'number' } ,
148+ saturday_early_afternoon : { type : 'number' } ,
149+ saturday_late_afternoon : { type : 'number' } ,
150+ saturday_evening : { type : 'number' } ,
151+ saturday_night : { type : 'number' } ,
152+ sunday_early_morning : { type : 'number' } ,
153+ sunday_late_morning : { type : 'number' } ,
154+ sunday_lunch_time : { type : 'number' } ,
155+ sunday_early_afternoon : { type : 'number' } ,
156+ sunday_late_afternoon : { type : 'number' } ,
157+ sunday_evening : { type : 'number' } ,
158+ sunday_night : { type : 'number' } ,
159+ }
160+ }
161+ }
162+ }
163+ }
164+ }
31165 }
32166 }
33167 } ,
0 commit comments