Projet

Général

Profil

0001-maelis-adapt-catalog-labels-50086.patch

Nicolas Roche (absent jusqu'au 3 avril), 13 janvier 2021 12:22

Télécharger (62,5 ko)

Voir les différences:

Subject: [PATCH] maelis: adapt catalog labels (#50086)

 passerelle/apps/maelis/utils.py         |  27 ++-
 tests/data/maelis/child_activities.json | 230 ++++++++++++++----------
 2 files changed, 160 insertions(+), 97 deletions(-)
passerelle/apps/maelis/utils.py
15 15
# You should have received a copy of the GNU Affero General Public License
16 16
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 17

  
18 18
from __future__ import unicode_literals
19 19

  
20 20
from copy import copy, deepcopy
21 21
from datetime import datetime
22 22
from dateutil.relativedelta import relativedelta
23
import re
23 24

  
24 25
from django.utils import timezone
25 26
from django.utils.dateparse import parse_date
26 27

  
27 28
from passerelle.utils.jsonresponse import APIError
28 29

  
29 30
DATE_FORMAT = '%Y-%m-%d'
30 31
TIME_FORMAT = '%H:%M:%S'
......
202 203
        new_event['slot_id'] = "%s%s" % (composition['virtual_unit'], component_id)
203 204
        new_event['id'] = '%s-%s-%s' % (
204 205
            date_string, event['category_id'], new_event['slot_id'])
205 206
        new_event['text'] = component['text']
206 207
        yield new_event
207 208

  
208 209

  
209 210
def flatten_activities(activities, start_date, end_date):
211
    regex = re.compile('^([0-9] ){0,1}2[0-9]{3}-2[0-9]{3} ')  # prefix to remove
210 212
    data = {}
211 213
    for activity in activities:
212 214
        if activity.get('openDayList'):
213 215
            del activity['openDayList']
214 216
        activity_id = activity['activityPortail']['idAct']
215
        activity_text = activity['activityPortail']['label']
217
        activity_text = activity_text_legacy = activity['activityPortail']['label']
218
        match = regex.match(activity_text)
219
        if match:
220
            activity_text = activity_text[match.end():].strip()
221
        activity_text = activity_text.capitalize()
216 222
        activity_obj = deepcopy(activity)
217 223
        del activity_obj['unitPortailList']
218 224
        if not activity_obj['activityPortail']['activityType']:
219 225
            activity_obj['activityPortail']['activityType'] = {
220 226
                "code" : "?",
221 227
                "libelle" : "Inconnu",
222 228
                "natureSpec" : {
223 229
                    "code" : "?",
......
240 246
                else:
241 247
                    activity_weekly_planning_mask += '0'
242 248
        else:
243 249
            activity_weekly_planning_mask = "0000000"
244 250

  
245 251
        units = {}
246 252
        for unit in activity['unitPortailList']:
247 253
            unit_id = unit['idUnit']
248
            unit_text = unit['label']
254
            unit_text = unit_text_legacy = unit['label']
255
            match = regex.match(unit_text)
256
            if match:
257
                unit_text = unit_text[match.end():].strip()
258
            unit_text = unit_text.capitalize()
259
            text_first_part = activity_text
260
            if activity_text != unit_text:
261
                text_first_part += ' / ' + unit_text
249 262
            unit_obj = deepcopy(unit)
250 263
            del unit_obj['placeList']
251 264

  
252 265
            # compute subscribing parameters
253 266
            unit_start_date = unit['dateStart'] or start_date
254 267
            unit_end_date = unit['dateEnd'] or end_date
255 268
            unit_calendar_letter = unit['calendarLetter']
256 269
            unit_weekly_planning = ""
......
258 271
                if letter == '0':
259 272
                    unit_weekly_planning += unit_calendar_letter
260 273
                else:
261 274
                    unit_weekly_planning += '1'
262 275

  
263 276
            places = {}
264 277
            for place in unit['placeList']:
265 278
                place_id = place['id']
266
                place_text = place['lib']
279
                place_text_legacy = place['lib']
280
                place_text = ' '.join([w.capitalize() for w in place_text_legacy.split(' ')])
267 281

  
268
                places[place_text] = {
282
                places[place_text_legacy] = {
269 283
                    'id': '%s-%s-%s' % (activity_id, unit_id, place_id),
270
                    'text': '%s / %s / %s' % (activity_text, unit_text, place_text),
284
                    'text_legacy': '%s / %s / %s' % (
285
                        activity_text_legacy, unit_text_legacy, place_text_legacy),
286
                    'text_first_part': text_first_part,
287
                    'text': "%s / %s" % (text_first_part, place_text),
271 288
                    'activity_id': activity_id,
272 289
                    'unit_id': unit_id,
273 290
                    'place_id': place_id,
274 291
                    'activity_text': activity_text,
275 292
                    'unit_text': unit_text,
276 293
                    'place_text': place_text,
277 294
                    'activity_weekly_planning_mask': activity_weekly_planning_mask,
278 295
                    'subscribe_start_date': unit_start_date,
tests/data/maelis/child_activities.json
33 33
                    "weeklyCalendarActivityList": [
34 34
                        {
35 35
                            "weeklyCalendarStr": "0010011",
36 36
                            "yearCalendar": 2020
37 37
                        }
38 38
                    ]
39 39
                }
40 40
            },
41
            "activity_text": "1 2020-2021 GARDERIE MATIN",
41
            "activity_text": "Garderie matin",
42 42
            "activity_weekly_planning_mask": "0010011",
43 43
            "id": "A10003121692-A10003121694-A10000000201",
44 44
            "place_id": "A10000000201",
45 45
            "place_object": {
46 46
                "adresse": {
47 47
                    "idStreet": null,
48 48
                    "num": 0,
49 49
                    "street1": null,
......
55 55
                "lib": "3 JEAN GIONO",
56 56
                "lib2": null,
57 57
                "nbPlace": 0,
58 58
                "nbPlaceBoy": 0,
59 59
                "nbPlaceGirl": 0,
60 60
                "schoolInfoList": [],
61 61
                "typeCtrlPlace": "N"
62 62
            },
63
            "place_text": "3 JEAN GIONO",
63
            "place_text": "3 Jean Giono",
64 64
            "subscribe_end_date": "2021-07-06T00:00:00+02:00",
65 65
            "subscribe_start_date": "2020-09-01T00:00:00+02:00",
66
            "text": "1 2020-2021 GARDERIE MATIN / 1 2020-2021 GARDERIE MATIN / 3 JEAN GIONO",
66
            "text": "Garderie matin / 3 Jean Giono",
67
            "text_first_part": "Garderie matin",
68
            "text_legacy": "1 2020-2021 GARDERIE MATIN / 1 2020-2021 GARDERIE MATIN / 3 JEAN GIONO",
67 69
            "unit_calendar_letter": "X",
68 70
            "unit_id": "A10003121694",
69 71
            "unit_object": {
70 72
                "birthDateEnd": null,
71 73
                "birthDateStart": null,
72 74
                "calendarLetter": "X",
73 75
                "consoTarifList": [
74 76
                    {
......
93 95
                "nbPlace": 0,
94 96
                "nbPlaceBoy": 0,
95 97
                "nbPlaceGirl": 0,
96 98
                "numOrder": 1,
97 99
                "subscribePublication": "E",
98 100
                "topCESU": "O",
99 101
                "typeCtrlPlace": "N"
100 102
            },
101
            "unit_text": "1 2020-2021 GARDERIE MATIN",
103
            "unit_text": "Garderie matin",
102 104
            "unit_weekly_planning": "XX1XX11",
103 105
            "user_subscribing_status": "not-subscribed"
104 106
        },
105 107
        {
106 108
            "activity_id": "A10003121692",
107 109
            "activity_object": {
108 110
                "activityPortail": {
109 111
                    "activityType": {
......
135 137
                    "weeklyCalendarActivityList": [
136 138
                        {
137 139
                            "weeklyCalendarStr": "0010011",
138 140
                            "yearCalendar": 2020
139 141
                        }
140 142
                    ]
141 143
                }
142 144
            },
143
            "activity_text": "1 2020-2021 GARDERIE MATIN",
145
            "activity_text": "Garderie matin",
144 146
            "activity_weekly_planning_mask": "0010011",
145 147
            "id": "A10003121692-A10003121694-A10000000211",
146 148
            "place_id": "A10000000211",
147 149
            "place_object": {
148 150
                "adresse": {
149 151
                    "idStreet": null,
150 152
                    "num": 0,
151 153
                    "street1": null,
......
157 159
                "lib": "2 FRANCOIS FABIE",
158 160
                "lib2": null,
159 161
                "nbPlace": 0,
160 162
                "nbPlaceBoy": 0,
161 163
                "nbPlaceGirl": 0,
162 164
                "schoolInfoList": [],
163 165
                "typeCtrlPlace": "N"
164 166
            },
165
            "place_text": "2 FRANCOIS FABIE",
167
            "place_text": "2 Francois Fabie",
166 168
            "subscribe_end_date": "2021-07-06T00:00:00+02:00",
167 169
            "subscribe_start_date": "2020-09-01T00:00:00+02:00",
168
            "text": "1 2020-2021 GARDERIE MATIN / 1 2020-2021 GARDERIE MATIN / 2 FRANCOIS FABIE",
170
            "text": "Garderie matin / 2 Francois Fabie",
171
            "text_first_part": "Garderie matin",
172
            "text_legacy": "1 2020-2021 GARDERIE MATIN / 1 2020-2021 GARDERIE MATIN / 2 FRANCOIS FABIE",
169 173
            "unit_calendar_letter": "X",
170 174
            "unit_id": "A10003121694",
171 175
            "unit_object": {
172 176
                "birthDateEnd": null,
173 177
                "birthDateStart": null,
174 178
                "calendarLetter": "X",
175 179
                "consoTarifList": [
176 180
                    {
......
195 199
                "nbPlace": 0,
196 200
                "nbPlaceBoy": 0,
197 201
                "nbPlaceGirl": 0,
198 202
                "numOrder": 1,
199 203
                "subscribePublication": "E",
200 204
                "topCESU": "O",
201 205
                "typeCtrlPlace": "N"
202 206
            },
203
            "unit_text": "1 2020-2021 GARDERIE MATIN",
207
            "unit_text": "Garderie matin",
204 208
            "unit_weekly_planning": "XX1XX11",
205 209
            "unsubscribe_start_date": "2020-09-01T00:00:00+02:00",
206 210
            "user_subscribing_status": "subscribed"
207 211
        },
208 212
        {
209 213
            "activity_id": "A10003123490",
210 214
            "activity_object": {
211 215
                "activityPortail": {
......
238 242
                    "weeklyCalendarActivityList": [
239 243
                        {
240 244
                            "weeklyCalendarStr": "0010011",
241 245
                            "yearCalendar": 2020
242 246
                        }
243 247
                    ]
244 248
                }
245 249
            },
246
            "activity_text": "2 2020-2021  RESTAURATION SCOLAIRE",
250
            "activity_text": "Restauration scolaire",
247 251
            "activity_weekly_planning_mask": "0010011",
248 252
            "id": "A10003123490-A10003123492-A10000000211",
249 253
            "place_id": "A10000000211",
250 254
            "place_object": {
251 255
                "adresse": {
252 256
                    "idStreet": null,
253 257
                    "num": 0,
254 258
                    "street1": null,
......
275 279
                        "headmaster": " ",
276 280
                        "idSchool": "A10000003597",
277 281
                        "phone": null,
278 282
                        "schoolName": "2  FRANCOIS FABIE"
279 283
                    }
280 284
                ],
281 285
                "typeCtrlPlace": "N"
282 286
            },
283
            "place_text": "2 FRANCOIS FABIE",
287
            "place_text": "2 Francois Fabie",
284 288
            "subscribe_end_date": "2021-07-03T00:00:00+02:00",
285 289
            "subscribe_start_date": "2020-09-02T00:00:00+02:00",
286
            "text": "2 2020-2021  RESTAURATION SCOLAIRE / 2 2020-2021  RESTAURATION SCOLAIRE / 2 FRANCOIS FABIE",
290
            "text": "Restauration scolaire / 2 Francois Fabie",
291
            "text_first_part": "Restauration scolaire",
292
            "text_legacy": "2 2020-2021  RESTAURATION SCOLAIRE / 2 2020-2021  RESTAURATION SCOLAIRE / 2 FRANCOIS FABIE",
287 293
            "unit_calendar_letter": "X",
288 294
            "unit_id": "A10003123492",
289 295
            "unit_object": {
290 296
                "birthDateEnd": null,
291 297
                "birthDateStart": null,
292 298
                "calendarLetter": "X",
293 299
                "consoTarifList": [
294 300
                    {
......
335 341
                "nbPlace": 0,
336 342
                "nbPlaceBoy": 0,
337 343
                "nbPlaceGirl": 0,
338 344
                "numOrder": 2,
339 345
                "subscribePublication": "E",
340 346
                "topCESU": "N",
341 347
                "typeCtrlPlace": "N"
342 348
            },
343
            "unit_text": "2 2020-2021  RESTAURATION SCOLAIRE",
349
            "unit_text": "Restauration scolaire",
344 350
            "unit_weekly_planning": "XX1XX11",
345 351
            "unsubscribe_start_date": "2020-09-02T00:00:00+02:00",
346 352
            "user_subscribing_status": "subscribed"
347 353
        },
348 354
        {
349 355
            "activity_id": "A10003123507",
350 356
            "activity_object": {
351 357
                "activityPortail": {
......
374 380
                    "schoolControl": null,
375 381
                    "schoolNature": null,
376 382
                    "schoolYear": 2020,
377 383
                    "waitIfComplete": "N",
378 384
                    "weeklyCalendarActivityList": []
379 385
                },
380 386
                "openDayList": []
381 387
            },
382
            "activity_text": "3 2020-2021 GARDERIE SOIR",
388
            "activity_text": "Garderie soir",
383 389
            "activity_weekly_planning_mask": "0000000",
384 390
            "id": "A10003123507-A10003123509-A10000000201",
385 391
            "place_id": "A10000000201",
386 392
            "place_object": {
387 393
                "adresse": {
388 394
                    "idStreet": null,
389 395
                    "num": 0,
390 396
                    "street1": null,
......
396 402
                "lib": "3 JEAN GIONO",
397 403
                "lib2": null,
398 404
                "nbPlace": 0,
399 405
                "nbPlaceBoy": 0,
400 406
                "nbPlaceGirl": 0,
401 407
                "schoolInfoList": [],
402 408
                "typeCtrlPlace": "N"
403 409
            },
404
            "place_text": "3 JEAN GIONO",
410
            "place_text": "3 Jean Giono",
405 411
            "subscribe_end_date": "2021-07-03T00:00:00+02:00",
406 412
            "subscribe_start_date": "2020-09-02T00:00:00+02:00",
407
            "text": "3 2020-2021 GARDERIE SOIR / 3 2020-2021 GARDERIE SOIR / 3 JEAN GIONO",
413
            "text": "Garderie soir / 3 Jean Giono",
414
            "text_first_part": "Garderie soir",
415
            "text_legacy": "3 2020-2021 GARDERIE SOIR / 3 2020-2021 GARDERIE SOIR / 3 JEAN GIONO",
408 416
            "unit_calendar_letter": "X",
409 417
            "unit_id": "A10003123509",
410 418
            "unit_object": {
411 419
                "birthDateEnd": null,
412 420
                "birthDateStart": null,
413 421
                "calendarLetter": "X",
414 422
                "consoTarifList": [
415 423
                    {
......
434 442
                "nbPlace": 0,
435 443
                "nbPlaceBoy": 0,
436 444
                "nbPlaceGirl": 0,
437 445
                "numOrder": 3,
438 446
                "subscribePublication": "E",
439 447
                "topCESU": "O",
440 448
                "typeCtrlPlace": "N"
441 449
            },
442
            "unit_text": "3 2020-2021 GARDERIE SOIR",
450
            "unit_text": "Garderie soir",
443 451
            "unit_weekly_planning": "XXXXXXX",
444 452
            "user_subscribing_status": "not-subscribed"
445 453
        },
446 454
        {
447 455
            "activity_id": "A10003123507",
448 456
            "activity_object": {
449 457
                "activityPortail": {
450 458
                    "activityType": {
......
472 480
                    "schoolControl": null,
473 481
                    "schoolNature": null,
474 482
                    "schoolYear": 2020,
475 483
                    "waitIfComplete": "N",
476 484
                    "weeklyCalendarActivityList": []
477 485
                },
478 486
                "openDayList": []
479 487
            },
480
            "activity_text": "3 2020-2021 GARDERIE SOIR",
488
            "activity_text": "Garderie soir",
481 489
            "activity_weekly_planning_mask": "0000000",
482 490
            "id": "A10003123507-A10003123509-A10000000211",
483 491
            "place_id": "A10000000211",
484 492
            "place_object": {
485 493
                "adresse": {
486 494
                    "idStreet": null,
487 495
                    "num": 0,
488 496
                    "street1": null,
......
494 502
                "lib": "2 FRANCOIS FABIE",
495 503
                "lib2": null,
496 504
                "nbPlace": 0,
497 505
                "nbPlaceBoy": 0,
498 506
                "nbPlaceGirl": 0,
499 507
                "schoolInfoList": [],
500 508
                "typeCtrlPlace": "N"
501 509
            },
502
            "place_text": "2 FRANCOIS FABIE",
510
            "place_text": "2 Francois Fabie",
503 511
            "subscribe_end_date": "2021-07-03T00:00:00+02:00",
504 512
            "subscribe_start_date": "2020-09-02T00:00:00+02:00",
505
            "text": "3 2020-2021 GARDERIE SOIR / 3 2020-2021 GARDERIE SOIR / 2 FRANCOIS FABIE",
513
            "text": "Garderie soir / 2 Francois Fabie",
514
            "text_first_part": "Garderie soir",
515
            "text_legacy": "3 2020-2021 GARDERIE SOIR / 3 2020-2021 GARDERIE SOIR / 2 FRANCOIS FABIE",
506 516
            "unit_calendar_letter": "X",
507 517
            "unit_id": "A10003123509",
508 518
            "unit_object": {
509 519
                "birthDateEnd": null,
510 520
                "birthDateStart": null,
511 521
                "calendarLetter": "X",
512 522
                "consoTarifList": [
513 523
                    {
......
532 542
                "nbPlace": 0,
533 543
                "nbPlaceBoy": 0,
534 544
                "nbPlaceGirl": 0,
535 545
                "numOrder": 3,
536 546
                "subscribePublication": "E",
537 547
                "topCESU": "O",
538 548
                "typeCtrlPlace": "N"
539 549
            },
540
            "unit_text": "3 2020-2021 GARDERIE SOIR",
550
            "unit_text": "Garderie soir",
541 551
            "unit_weekly_planning": "XXXXXXX",
542 552
            "user_subscribing_status": "not-subscribed"
543 553
        },
544 554
        {
545 555
            "activity_id": "A10003131850",
546 556
            "activity_object": {
547 557
                "activityPortail": {
548 558
                    "activityType": {
......
574 584
                    "weeklyCalendarActivityList": [
575 585
                        {
576 586
                            "weeklyCalendarStr": "0000011",
577 587
                            "yearCalendar": 2020
578 588
                        }
579 589
                    ]
580 590
                }
581 591
            },
582
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
592
            "activity_text": "Alsh vacances pagnol (capa)",
583 593
            "activity_weekly_planning_mask": "0000011",
584 594
            "id": "A10003131850-A10003131861-A10000000212",
585 595
            "place_id": "A10000000212",
586 596
            "place_object": {
587 597
                "adresse": {
588 598
                    "idStreet": null,
589 599
                    "num": 0,
590 600
                    "street1": "PLACE MARCEL PAGNOL",
......
596 606
                "lib": "ALSH PAGNOL",
597 607
                "lib2": null,
598 608
                "nbPlace": 0,
599 609
                "nbPlaceBoy": 0,
600 610
                "nbPlaceGirl": 0,
601 611
                "schoolInfoList": [],
602 612
                "typeCtrlPlace": "N"
603 613
            },
604
            "place_text": "ALSH PAGNOL",
614
            "place_text": "Alsh Pagnol",
605 615
            "subscribe_end_date": "2021-03-05T00:00:00+02:00",
606 616
            "subscribe_start_date": "2021-02-28T00:00:00+02:00",
607
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / HIVER 2EME SEMAINE / ALSH PAGNOL",
617
            "text": "Alsh vacances pagnol (capa) / Hiver 2eme semaine / Alsh Pagnol",
618
            "text_first_part": "Alsh vacances pagnol (capa) / Hiver 2eme semaine",
619
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / HIVER 2EME SEMAINE / ALSH PAGNOL",
608 620
            "unit_calendar_letter": "c",
609 621
            "unit_id": "A10003131861",
610 622
            "unit_object": {
611 623
                "birthDateEnd": null,
612 624
                "birthDateStart": null,
613 625
                "calendarLetter": "c",
614 626
                "consoTarifList": [
615 627
                    {
......
645 657
                "nbPlace": 0,
646 658
                "nbPlaceBoy": 0,
647 659
                "nbPlaceGirl": 0,
648 660
                "numOrder": 3,
649 661
                "subscribePublication": "E",
650 662
                "topCESU": "N",
651 663
                "typeCtrlPlace": "N"
652 664
            },
653
            "unit_text": "HIVER 2EME SEMAINE",
665
            "unit_text": "Hiver 2eme semaine",
654 666
            "unit_weekly_planning": "ccccc11",
655 667
            "user_subscribing_status": "not-subscribed"
656 668
        },
657 669
        {
658 670
            "activity_id": "A10003131850",
659 671
            "activity_object": {
660 672
                "activityPortail": {
661 673
                    "activityType": {
......
687 699
                    "weeklyCalendarActivityList": [
688 700
                        {
689 701
                            "weeklyCalendarStr": "0000011",
690 702
                            "yearCalendar": 2020
691 703
                        }
692 704
                    ]
693 705
                }
694 706
            },
695
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
707
            "activity_text": "Alsh vacances pagnol (capa)",
696 708
            "activity_weekly_planning_mask": "0000011",
697 709
            "id": "A10003131850-A10003131861-A10002132200",
698 710
            "place_id": "A10002132200",
699 711
            "place_object": {
700 712
                "adresse": {
701 713
                    "idStreet": null,
702 714
                    "num": 0,
703 715
                    "street1": null,
......
709 721
                "lib": "ALSH MISTRAL",
710 722
                "lib2": null,
711 723
                "nbPlace": 0,
712 724
                "nbPlaceBoy": 0,
713 725
                "nbPlaceGirl": 0,
714 726
                "schoolInfoList": [],
715 727
                "typeCtrlPlace": "N"
716 728
            },
717
            "place_text": "ALSH MISTRAL",
729
            "place_text": "Alsh Mistral",
718 730
            "subscribe_end_date": "2021-03-05T00:00:00+02:00",
719 731
            "subscribe_start_date": "2021-02-28T00:00:00+02:00",
720
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / HIVER 2EME SEMAINE / ALSH MISTRAL",
732
            "text": "Alsh vacances pagnol (capa) / Hiver 2eme semaine / Alsh Mistral",
733
            "text_first_part": "Alsh vacances pagnol (capa) / Hiver 2eme semaine",
734
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / HIVER 2EME SEMAINE / ALSH MISTRAL",
721 735
            "unit_calendar_letter": "c",
722 736
            "unit_id": "A10003131861",
723 737
            "unit_object": {
724 738
                "birthDateEnd": null,
725 739
                "birthDateStart": null,
726 740
                "calendarLetter": "c",
727 741
                "consoTarifList": [
728 742
                    {
......
758 772
                "nbPlace": 0,
759 773
                "nbPlaceBoy": 0,
760 774
                "nbPlaceGirl": 0,
761 775
                "numOrder": 3,
762 776
                "subscribePublication": "E",
763 777
                "topCESU": "N",
764 778
                "typeCtrlPlace": "N"
765 779
            },
766
            "unit_text": "HIVER 2EME SEMAINE",
780
            "unit_text": "Hiver 2eme semaine",
767 781
            "unit_weekly_planning": "ccccc11",
768 782
            "user_subscribing_status": "not-subscribed"
769 783
        },
770 784
        {
771 785
            "activity_id": "A10003131850",
772 786
            "activity_object": {
773 787
                "activityPortail": {
774 788
                    "activityType": {
......
800 814
                    "weeklyCalendarActivityList": [
801 815
                        {
802 816
                            "weeklyCalendarStr": "0000011",
803 817
                            "yearCalendar": 2020
804 818
                        }
805 819
                    ]
806 820
                }
807 821
            },
808
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
822
            "activity_text": "Alsh vacances pagnol (capa)",
809 823
            "activity_weekly_planning_mask": "0000011",
810 824
            "id": "A10003131850-A10003131879-A10000000212",
811 825
            "place_id": "A10000000212",
812 826
            "place_object": {
813 827
                "adresse": {
814 828
                    "idStreet": null,
815 829
                    "num": 0,
816 830
                    "street1": "PLACE MARCEL PAGNOL",
......
822 836
                "lib": "ALSH PAGNOL",
823 837
                "lib2": null,
824 838
                "nbPlace": 0,
825 839
                "nbPlaceBoy": 0,
826 840
                "nbPlaceGirl": 0,
827 841
                "schoolInfoList": [],
828 842
                "typeCtrlPlace": "N"
829 843
            },
830
            "place_text": "ALSH PAGNOL",
844
            "place_text": "Alsh Pagnol",
831 845
            "subscribe_end_date": "2020-10-30T00:00:00+02:00",
832 846
            "subscribe_start_date": "2020-10-26T00:00:00+02:00",
833
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / TOUSSAINT 2EME SEMAINE / ALSH PAGNOL",
847
            "text": "Alsh vacances pagnol (capa) / Toussaint 2eme semaine / Alsh Pagnol",
848
            "text_first_part": "Alsh vacances pagnol (capa) / Toussaint 2eme semaine",
849
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / TOUSSAINT 2EME SEMAINE / ALSH PAGNOL",
834 850
            "unit_calendar_letter": "D",
835 851
            "unit_id": "A10003131879",
836 852
            "unit_object": {
837 853
                "birthDateEnd": null,
838 854
                "birthDateStart": null,
839 855
                "calendarLetter": "D",
840 856
                "consoTarifList": [
841 857
                    {
......
871 887
                "nbPlace": 0,
872 888
                "nbPlaceBoy": 0,
873 889
                "nbPlaceGirl": 0,
874 890
                "numOrder": 2,
875 891
                "subscribePublication": "E",
876 892
                "topCESU": "N",
877 893
                "typeCtrlPlace": "N"
878 894
            },
879
            "unit_text": "TOUSSAINT 2EME SEMAINE",
895
            "unit_text": "Toussaint 2eme semaine",
880 896
            "unit_weekly_planning": "DDDDD11",
881 897
            "user_subscribing_status": "not-subscribed"
882 898
        },
883 899
        {
884 900
            "activity_id": "A10003131850",
885 901
            "activity_object": {
886 902
                "activityPortail": {
887 903
                    "activityType": {
......
913 929
                    "weeklyCalendarActivityList": [
914 930
                        {
915 931
                            "weeklyCalendarStr": "0000011",
916 932
                            "yearCalendar": 2020
917 933
                        }
918 934
                    ]
919 935
                }
920 936
            },
921
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
937
            "activity_text": "Alsh vacances pagnol (capa)",
922 938
            "activity_weekly_planning_mask": "0000011",
923 939
            "id": "A10003131850-A10003131879-A10002132200",
924 940
            "place_id": "A10002132200",
925 941
            "place_object": {
926 942
                "adresse": {
927 943
                    "idStreet": null,
928 944
                    "num": 0,
929 945
                    "street1": null,
......
935 951
                "lib": "ALSH MISTRAL",
936 952
                "lib2": null,
937 953
                "nbPlace": 0,
938 954
                "nbPlaceBoy": 0,
939 955
                "nbPlaceGirl": 0,
940 956
                "schoolInfoList": [],
941 957
                "typeCtrlPlace": "N"
942 958
            },
943
            "place_text": "ALSH MISTRAL",
959
            "place_text": "Alsh Mistral",
944 960
            "subscribe_end_date": "2020-10-30T00:00:00+02:00",
945 961
            "subscribe_start_date": "2020-10-26T00:00:00+02:00",
946
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / TOUSSAINT 2EME SEMAINE / ALSH MISTRAL",
962
            "text": "Alsh vacances pagnol (capa) / Toussaint 2eme semaine / Alsh Mistral",
963
            "text_first_part": "Alsh vacances pagnol (capa) / Toussaint 2eme semaine",
964
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / TOUSSAINT 2EME SEMAINE / ALSH MISTRAL",
947 965
            "unit_calendar_letter": "D",
948 966
            "unit_id": "A10003131879",
949 967
            "unit_object": {
950 968
                "birthDateEnd": null,
951 969
                "birthDateStart": null,
952 970
                "calendarLetter": "D",
953 971
                "consoTarifList": [
954 972
                    {
......
984 1002
                "nbPlace": 0,
985 1003
                "nbPlaceBoy": 0,
986 1004
                "nbPlaceGirl": 0,
987 1005
                "numOrder": 2,
988 1006
                "subscribePublication": "E",
989 1007
                "topCESU": "N",
990 1008
                "typeCtrlPlace": "N"
991 1009
            },
992
            "unit_text": "TOUSSAINT 2EME SEMAINE",
1010
            "unit_text": "Toussaint 2eme semaine",
993 1011
            "unit_weekly_planning": "DDDDD11",
994 1012
            "user_subscribing_status": "not-subscribed"
995 1013
        },
996 1014
        {
997 1015
            "activity_id": "A10003131850",
998 1016
            "activity_object": {
999 1017
                "activityPortail": {
1000 1018
                    "activityType": {
......
1026 1044
                    "weeklyCalendarActivityList": [
1027 1045
                        {
1028 1046
                            "weeklyCalendarStr": "0000011",
1029 1047
                            "yearCalendar": 2020
1030 1048
                        }
1031 1049
                    ]
1032 1050
                }
1033 1051
            },
1034
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
1052
            "activity_text": "Alsh vacances pagnol (capa)",
1035 1053
            "activity_weekly_planning_mask": "0000011",
1036 1054
            "id": "A10003131850-A10003131882-A10000000212",
1037 1055
            "place_id": "A10000000212",
1038 1056
            "place_object": {
1039 1057
                "adresse": {
1040 1058
                    "idStreet": null,
1041 1059
                    "num": 0,
1042 1060
                    "street1": "PLACE MARCEL PAGNOL",
......
1048 1066
                "lib": "ALSH PAGNOL",
1049 1067
                "lib2": null,
1050 1068
                "nbPlace": 0,
1051 1069
                "nbPlaceBoy": 0,
1052 1070
                "nbPlaceGirl": 0,
1053 1071
                "schoolInfoList": [],
1054 1072
                "typeCtrlPlace": "N"
1055 1073
            },
1056
            "place_text": "ALSH PAGNOL",
1074
            "place_text": "Alsh Pagnol",
1057 1075
            "subscribe_end_date": "2020-10-23T00:00:00+02:00",
1058 1076
            "subscribe_start_date": "2020-10-19T00:00:00+02:00",
1059
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / TOUSSAINT 1 ERE SEMAINE / ALSH PAGNOL",
1077
            "text": "Alsh vacances pagnol (capa) / Toussaint 1 ere semaine / Alsh Pagnol",
1078
            "text_first_part": "Alsh vacances pagnol (capa) / Toussaint 1 ere semaine",
1079
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / TOUSSAINT 1 ERE SEMAINE / ALSH PAGNOL",
1060 1080
            "unit_calendar_letter": "C",
1061 1081
            "unit_id": "A10003131882",
1062 1082
            "unit_object": {
1063 1083
                "birthDateEnd": null,
1064 1084
                "birthDateStart": null,
1065 1085
                "calendarLetter": "C",
1066 1086
                "consoTarifList": [
1067 1087
                    {
......
1097 1117
                "nbPlace": 0,
1098 1118
                "nbPlaceBoy": 0,
1099 1119
                "nbPlaceGirl": 0,
1100 1120
                "numOrder": 1,
1101 1121
                "subscribePublication": "E",
1102 1122
                "topCESU": "N",
1103 1123
                "typeCtrlPlace": "N"
1104 1124
            },
1105
            "unit_text": "TOUSSAINT 1 ERE SEMAINE",
1125
            "unit_text": "Toussaint 1 ere semaine",
1106 1126
            "unit_weekly_planning": "CCCCC11",
1107 1127
            "user_subscribing_status": "not-subscribed"
1108 1128
        },
1109 1129
        {
1110 1130
            "activity_id": "A10003131850",
1111 1131
            "activity_object": {
1112 1132
                "activityPortail": {
1113 1133
                    "activityType": {
......
1139 1159
                    "weeklyCalendarActivityList": [
1140 1160
                        {
1141 1161
                            "weeklyCalendarStr": "0000011",
1142 1162
                            "yearCalendar": 2020
1143 1163
                        }
1144 1164
                    ]
1145 1165
                }
1146 1166
            },
1147
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
1167
            "activity_text": "Alsh vacances pagnol (capa)",
1148 1168
            "activity_weekly_planning_mask": "0000011",
1149 1169
            "id": "A10003131850-A10003131882-A10002132200",
1150 1170
            "place_id": "A10002132200",
1151 1171
            "place_object": {
1152 1172
                "adresse": {
1153 1173
                    "idStreet": null,
1154 1174
                    "num": 0,
1155 1175
                    "street1": null,
......
1161 1181
                "lib": "ALSH MISTRAL",
1162 1182
                "lib2": null,
1163 1183
                "nbPlace": 0,
1164 1184
                "nbPlaceBoy": 0,
1165 1185
                "nbPlaceGirl": 0,
1166 1186
                "schoolInfoList": [],
1167 1187
                "typeCtrlPlace": "N"
1168 1188
            },
1169
            "place_text": "ALSH MISTRAL",
1189
            "place_text": "Alsh Mistral",
1170 1190
            "subscribe_end_date": "2020-10-23T00:00:00+02:00",
1171 1191
            "subscribe_start_date": "2020-10-19T00:00:00+02:00",
1172
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / TOUSSAINT 1 ERE SEMAINE / ALSH MISTRAL",
1192
            "text": "Alsh vacances pagnol (capa) / Toussaint 1 ere semaine / Alsh Mistral",
1193
            "text_first_part": "Alsh vacances pagnol (capa) / Toussaint 1 ere semaine",
1194
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / TOUSSAINT 1 ERE SEMAINE / ALSH MISTRAL",
1173 1195
            "unit_calendar_letter": "C",
1174 1196
            "unit_id": "A10003131882",
1175 1197
            "unit_object": {
1176 1198
                "birthDateEnd": null,
1177 1199
                "birthDateStart": null,
1178 1200
                "calendarLetter": "C",
1179 1201
                "consoTarifList": [
1180 1202
                    {
......
1210 1232
                "nbPlace": 0,
1211 1233
                "nbPlaceBoy": 0,
1212 1234
                "nbPlaceGirl": 0,
1213 1235
                "numOrder": 1,
1214 1236
                "subscribePublication": "E",
1215 1237
                "topCESU": "N",
1216 1238
                "typeCtrlPlace": "N"
1217 1239
            },
1218
            "unit_text": "TOUSSAINT 1 ERE SEMAINE",
1240
            "unit_text": "Toussaint 1 ere semaine",
1219 1241
            "unit_weekly_planning": "CCCCC11",
1220 1242
            "user_subscribing_status": "not-subscribed"
1221 1243
        },
1222 1244
        {
1223 1245
            "activity_id": "A10003131850",
1224 1246
            "activity_object": {
1225 1247
                "activityPortail": {
1226 1248
                    "activityType": {
......
1252 1274
                    "weeklyCalendarActivityList": [
1253 1275
                        {
1254 1276
                            "weeklyCalendarStr": "0000011",
1255 1277
                            "yearCalendar": 2020
1256 1278
                        }
1257 1279
                    ]
1258 1280
                }
1259 1281
            },
1260
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
1282
            "activity_text": "Alsh vacances pagnol (capa)",
1261 1283
            "activity_weekly_planning_mask": "0000011",
1262 1284
            "id": "A10003131850-A10003131903-A10000000212",
1263 1285
            "place_id": "A10000000212",
1264 1286
            "place_object": {
1265 1287
                "adresse": {
1266 1288
                    "idStreet": null,
1267 1289
                    "num": 0,
1268 1290
                    "street1": "PLACE MARCEL PAGNOL",
......
1274 1296
                "lib": "ALSH PAGNOL",
1275 1297
                "lib2": null,
1276 1298
                "nbPlace": 0,
1277 1299
                "nbPlaceBoy": 0,
1278 1300
                "nbPlaceGirl": 0,
1279 1301
                "schoolInfoList": [],
1280 1302
                "typeCtrlPlace": "N"
1281 1303
            },
1282
            "place_text": "ALSH PAGNOL",
1304
            "place_text": "Alsh Pagnol",
1283 1305
            "subscribe_end_date": "2020-12-31T00:00:00+02:00",
1284 1306
            "subscribe_start_date": "2020-12-28T00:00:00+02:00",
1285
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / NOEL 2EME SEMAINE / ALSH PAGNOL",
1307
            "text": "Alsh vacances pagnol (capa) / Noel 2eme semaine / Alsh Pagnol",
1308
            "text_first_part": "Alsh vacances pagnol (capa) / Noel 2eme semaine",
1309
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / NOEL 2EME SEMAINE / ALSH PAGNOL",
1286 1310
            "unit_calendar_letter": "B",
1287 1311
            "unit_id": "A10003131903",
1288 1312
            "unit_object": {
1289 1313
                "birthDateEnd": null,
1290 1314
                "birthDateStart": null,
1291 1315
                "calendarLetter": "B",
1292 1316
                "consoTarifList": [
1293 1317
                    {
......
1323 1347
                "nbPlace": 0,
1324 1348
                "nbPlaceBoy": 0,
1325 1349
                "nbPlaceGirl": 0,
1326 1350
                "numOrder": 4,
1327 1351
                "subscribePublication": "E",
1328 1352
                "topCESU": "O",
1329 1353
                "typeCtrlPlace": "N"
1330 1354
            },
1331
            "unit_text": "NOEL 2EME SEMAINE",
1355
            "unit_text": "Noel 2eme semaine",
1332 1356
            "unit_weekly_planning": "BBBBB11",
1333 1357
            "user_subscribing_status": "not-subscribed"
1334 1358
        },
1335 1359
        {
1336 1360
            "activity_id": "A10003131850",
1337 1361
            "activity_object": {
1338 1362
                "activityPortail": {
1339 1363
                    "activityType": {
......
1365 1389
                    "weeklyCalendarActivityList": [
1366 1390
                        {
1367 1391
                            "weeklyCalendarStr": "0000011",
1368 1392
                            "yearCalendar": 2020
1369 1393
                        }
1370 1394
                    ]
1371 1395
                }
1372 1396
            },
1373
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
1397
            "activity_text": "Alsh vacances pagnol (capa)",
1374 1398
            "activity_weekly_planning_mask": "0000011",
1375 1399
            "id": "A10003131850-A10003131903-A10002132200",
1376 1400
            "place_id": "A10002132200",
1377 1401
            "place_object": {
1378 1402
                "adresse": {
1379 1403
                    "idStreet": null,
1380 1404
                    "num": 0,
1381 1405
                    "street1": null,
......
1387 1411
                "lib": "ALSH MISTRAL",
1388 1412
                "lib2": null,
1389 1413
                "nbPlace": 0,
1390 1414
                "nbPlaceBoy": 0,
1391 1415
                "nbPlaceGirl": 0,
1392 1416
                "schoolInfoList": [],
1393 1417
                "typeCtrlPlace": "N"
1394 1418
            },
1395
            "place_text": "ALSH MISTRAL",
1419
            "place_text": "Alsh Mistral",
1396 1420
            "subscribe_end_date": "2020-12-31T00:00:00+02:00",
1397 1421
            "subscribe_start_date": "2020-12-28T00:00:00+02:00",
1398
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / NOEL 2EME SEMAINE / ALSH MISTRAL",
1422
            "text": "Alsh vacances pagnol (capa) / Noel 2eme semaine / Alsh Mistral",
1423
            "text_first_part": "Alsh vacances pagnol (capa) / Noel 2eme semaine",
1424
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / NOEL 2EME SEMAINE / ALSH MISTRAL",
1399 1425
            "unit_calendar_letter": "B",
1400 1426
            "unit_id": "A10003131903",
1401 1427
            "unit_object": {
1402 1428
                "birthDateEnd": null,
1403 1429
                "birthDateStart": null,
1404 1430
                "calendarLetter": "B",
1405 1431
                "consoTarifList": [
1406 1432
                    {
......
1436 1462
                "nbPlace": 0,
1437 1463
                "nbPlaceBoy": 0,
1438 1464
                "nbPlaceGirl": 0,
1439 1465
                "numOrder": 4,
1440 1466
                "subscribePublication": "E",
1441 1467
                "topCESU": "O",
1442 1468
                "typeCtrlPlace": "N"
1443 1469
            },
1444
            "unit_text": "NOEL 2EME SEMAINE",
1470
            "unit_text": "Noel 2eme semaine",
1445 1471
            "unit_weekly_planning": "BBBBB11",
1446 1472
            "user_subscribing_status": "not-subscribed"
1447 1473
        },
1448 1474
        {
1449 1475
            "activity_id": "A10003131850",
1450 1476
            "activity_object": {
1451 1477
                "activityPortail": {
1452 1478
                    "activityType": {
......
1478 1504
                    "weeklyCalendarActivityList": [
1479 1505
                        {
1480 1506
                            "weeklyCalendarStr": "0000011",
1481 1507
                            "yearCalendar": 2020
1482 1508
                        }
1483 1509
                    ]
1484 1510
                }
1485 1511
            },
1486
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
1512
            "activity_text": "Alsh vacances pagnol (capa)",
1487 1513
            "activity_weekly_planning_mask": "0000011",
1488 1514
            "id": "A10003131850-A10003131909-A10000000212",
1489 1515
            "place_id": "A10000000212",
1490 1516
            "place_object": {
1491 1517
                "adresse": {
1492 1518
                    "idStreet": null,
1493 1519
                    "num": 0,
1494 1520
                    "street1": "PLACE MARCEL PAGNOL",
......
1500 1526
                "lib": "ALSH PAGNOL",
1501 1527
                "lib2": null,
1502 1528
                "nbPlace": 0,
1503 1529
                "nbPlaceBoy": 0,
1504 1530
                "nbPlaceGirl": 0,
1505 1531
                "schoolInfoList": [],
1506 1532
                "typeCtrlPlace": "N"
1507 1533
            },
1508
            "place_text": "ALSH PAGNOL",
1534
            "place_text": "Alsh Pagnol",
1509 1535
            "subscribe_end_date": "2020-12-24T00:00:00+02:00",
1510 1536
            "subscribe_start_date": "2020-12-21T00:00:00+02:00",
1511
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / NOEL 1ERE SEMAINE / ALSH PAGNOL",
1537
            "text": "Alsh vacances pagnol (capa) / Noel 1ere semaine / Alsh Pagnol",
1538
            "text_first_part": "Alsh vacances pagnol (capa) / Noel 1ere semaine",
1539
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / NOEL 1ERE SEMAINE / ALSH PAGNOL",
1512 1540
            "unit_calendar_letter": "J",
1513 1541
            "unit_id": "A10003131909",
1514 1542
            "unit_object": {
1515 1543
                "birthDateEnd": null,
1516 1544
                "birthDateStart": null,
1517 1545
                "calendarLetter": "J",
1518 1546
                "consoTarifList": [
1519 1547
                    {
......
1549 1577
                "nbPlace": 0,
1550 1578
                "nbPlaceBoy": 0,
1551 1579
                "nbPlaceGirl": 0,
1552 1580
                "numOrder": 3,
1553 1581
                "subscribePublication": "E",
1554 1582
                "topCESU": "N",
1555 1583
                "typeCtrlPlace": "N"
1556 1584
            },
1557
            "unit_text": "NOEL 1ERE SEMAINE",
1585
            "unit_text": "Noel 1ere semaine",
1558 1586
            "unit_weekly_planning": "JJJJJ11",
1559 1587
            "user_subscribing_status": "not-subscribed"
1560 1588
        },
1561 1589
        {
1562 1590
            "activity_id": "A10003131850",
1563 1591
            "activity_object": {
1564 1592
                "activityPortail": {
1565 1593
                    "activityType": {
......
1591 1619
                    "weeklyCalendarActivityList": [
1592 1620
                        {
1593 1621
                            "weeklyCalendarStr": "0000011",
1594 1622
                            "yearCalendar": 2020
1595 1623
                        }
1596 1624
                    ]
1597 1625
                }
1598 1626
            },
1599
            "activity_text": "2020-2021 ALSH VACANCES PAGNOL (CAPA)",
1627
            "activity_text": "Alsh vacances pagnol (capa)",
1600 1628
            "activity_weekly_planning_mask": "0000011",
1601 1629
            "id": "A10003131850-A10003131909-A10002132200",
1602 1630
            "place_id": "A10002132200",
1603 1631
            "place_object": {
1604 1632
                "adresse": {
1605 1633
                    "idStreet": null,
1606 1634
                    "num": 0,
1607 1635
                    "street1": null,
......
1613 1641
                "lib": "ALSH MISTRAL",
1614 1642
                "lib2": null,
1615 1643
                "nbPlace": 0,
1616 1644
                "nbPlaceBoy": 0,
1617 1645
                "nbPlaceGirl": 0,
1618 1646
                "schoolInfoList": [],
1619 1647
                "typeCtrlPlace": "N"
1620 1648
            },
1621
            "place_text": "ALSH MISTRAL",
1649
            "place_text": "Alsh Mistral",
1622 1650
            "subscribe_end_date": "2020-12-24T00:00:00+02:00",
1623 1651
            "subscribe_start_date": "2020-12-21T00:00:00+02:00",
1624
            "text": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / NOEL 1ERE SEMAINE / ALSH MISTRAL",
1652
            "text": "Alsh vacances pagnol (capa) / Noel 1ere semaine / Alsh Mistral",
1653
            "text_first_part": "Alsh vacances pagnol (capa) / Noel 1ere semaine",
1654
            "text_legacy": "2020-2021 ALSH VACANCES PAGNOL (CAPA) / NOEL 1ERE SEMAINE / ALSH MISTRAL",
1625 1655
            "unit_calendar_letter": "J",
1626 1656
            "unit_id": "A10003131909",
1627 1657
            "unit_object": {
1628 1658
                "birthDateEnd": null,
1629 1659
                "birthDateStart": null,
1630 1660
                "calendarLetter": "J",
1631 1661
                "consoTarifList": [
1632 1662
                    {
......
1662 1692
                "nbPlace": 0,
1663 1693
                "nbPlaceBoy": 0,
1664 1694
                "nbPlaceGirl": 0,
1665 1695
                "numOrder": 3,
1666 1696
                "subscribePublication": "E",
1667 1697
                "topCESU": "N",
1668 1698
                "typeCtrlPlace": "N"
1669 1699
            },
1670
            "unit_text": "NOEL 1ERE SEMAINE",
1700
            "unit_text": "Noel 1ere semaine",
1671 1701
            "unit_weekly_planning": "JJJJJ11",
1672 1702
            "user_subscribing_status": "not-subscribed"
1673 1703
        },
1674 1704
        {
1675 1705
            "activity_id": "A10003132030",
1676 1706
            "activity_object": {
1677 1707
                "activityPortail": {
1678 1708
                    "activityType": {
......
1704 1734
                    "weeklyCalendarActivityList": [
1705 1735
                        {
1706 1736
                            "weeklyCalendarStr": "1101111",
1707 1737
                            "yearCalendar": 2020
1708 1738
                        }
1709 1739
                    ]
1710 1740
                }
1711 1741
            },
1712
            "activity_text": "2020-2021 CENTRE DE LOISIRS MERCREDI",
1742
            "activity_text": "Centre de loisirs mercredi",
1713 1743
            "activity_weekly_planning_mask": "1101111",
1714 1744
            "id": "A10003132030-A10003132034-A10000000212",
1715 1745
            "place_id": "A10000000212",
1716 1746
            "place_object": {
1717 1747
                "adresse": {
1718 1748
                    "idStreet": null,
1719 1749
                    "num": 0,
1720 1750
                    "street1": "PLACE MARCEL PAGNOL",
......
1726 1756
                "lib": "ALSH PAGNOL",
1727 1757
                "lib2": null,
1728 1758
                "nbPlace": 0,
1729 1759
                "nbPlaceBoy": 0,
1730 1760
                "nbPlaceGirl": 0,
1731 1761
                "schoolInfoList": [],
1732 1762
                "typeCtrlPlace": "N"
1733 1763
            },
1734
            "place_text": "ALSH PAGNOL",
1764
            "place_text": "Alsh Pagnol",
1735 1765
            "subscribe_end_date": "2021-07-03T00:00:00+02:00",
1736 1766
            "subscribe_start_date": "2020-09-02T00:00:00+02:00",
1737
            "text": "2020-2021 CENTRE DE LOISIRS MERCREDI / JOURNEE / ALSH PAGNOL",
1767
            "text": "Centre de loisirs mercredi / Journee / Alsh Pagnol",
1768
            "text_first_part": "Centre de loisirs mercredi / Journee",
1769
            "text_legacy": "2020-2021 CENTRE DE LOISIRS MERCREDI / JOURNEE / ALSH PAGNOL",
1738 1770
            "unit_calendar_letter": "A",
1739 1771
            "unit_id": "A10003132034",
1740 1772
            "unit_object": {
1741 1773
                "birthDateEnd": null,
1742 1774
                "birthDateStart": null,
1743 1775
                "calendarLetter": "A",
1744 1776
                "consoTarifList": [
1745 1777
                    {
......
1764 1796
                "nbPlace": 0,
1765 1797
                "nbPlaceBoy": 0,
1766 1798
                "nbPlaceGirl": 0,
1767 1799
                "numOrder": 4,
1768 1800
                "subscribePublication": "E",
1769 1801
                "topCESU": "N",
1770 1802
                "typeCtrlPlace": "N"
1771 1803
            },
1772
            "unit_text": "JOURNEE",
1804
            "unit_text": "Journee",
1773 1805
            "unit_weekly_planning": "11A1111",
1774 1806
            "user_subscribing_status": "not-subscribed"
1775 1807
        },
1776 1808
        {
1777 1809
            "activity_id": "A10003132030",
1778 1810
            "activity_object": {
1779 1811
                "activityPortail": {
1780 1812
                    "activityType": {
......
1806 1838
                    "weeklyCalendarActivityList": [
1807 1839
                        {
1808 1840
                            "weeklyCalendarStr": "1101111",
1809 1841
                            "yearCalendar": 2020
1810 1842
                        }
1811 1843
                    ]
1812 1844
                }
1813 1845
            },
1814
            "activity_text": "2020-2021 CENTRE DE LOISIRS MERCREDI",
1846
            "activity_text": "Centre de loisirs mercredi",
1815 1847
            "activity_weekly_planning_mask": "1101111",
1816 1848
            "id": "A10003132030-A10003132036-A10000000212",
1817 1849
            "place_id": "A10000000212",
1818 1850
            "place_object": {
1819 1851
                "adresse": {
1820 1852
                    "idStreet": null,
1821 1853
                    "num": 0,
1822 1854
                    "street1": "PLACE MARCEL PAGNOL",
......
1828 1860
                "lib": "ALSH PAGNOL",
1829 1861
                "lib2": null,
1830 1862
                "nbPlace": 0,
1831 1863
                "nbPlaceBoy": 0,
1832 1864
                "nbPlaceGirl": 0,
1833 1865
                "schoolInfoList": [],
1834 1866
                "typeCtrlPlace": "N"
1835 1867
            },
1836
            "place_text": "ALSH PAGNOL",
1868
            "place_text": "Alsh Pagnol",
1837 1869
            "subscribe_end_date": "2021-07-03T00:00:00+02:00",
1838 1870
            "subscribe_start_date": "2020-09-02T00:00:00+02:00",
1839
            "text": "2020-2021 CENTRE DE LOISIRS MERCREDI / MATIN / ALSH PAGNOL",
1871
            "text": "Centre de loisirs mercredi / Matin / Alsh Pagnol",
1872
            "text_first_part": "Centre de loisirs mercredi / Matin",
1873
            "text_legacy": "2020-2021 CENTRE DE LOISIRS MERCREDI / MATIN / ALSH PAGNOL",
1840 1874
            "unit_calendar_letter": "B",
1841 1875
            "unit_id": "A10003132036",
1842 1876
            "unit_object": {
1843 1877
                "birthDateEnd": null,
1844 1878
                "birthDateStart": null,
1845 1879
                "calendarLetter": "B",
1846 1880
                "consoTarifList": [
1847 1881
                    {
......
1866 1900
                "nbPlace": 0,
1867 1901
                "nbPlaceBoy": 0,
1868 1902
                "nbPlaceGirl": 0,
1869 1903
                "numOrder": 1,
1870 1904
                "subscribePublication": "E",
1871 1905
                "topCESU": "N",
1872 1906
                "typeCtrlPlace": "N"
1873 1907
            },
1874
            "unit_text": "MATIN",
1908
            "unit_text": "Matin",
1875 1909
            "unit_weekly_planning": "11B1111",
1876 1910
            "user_subscribing_status": "not-subscribed"
1877 1911
        },
1878 1912
        {
1879 1913
            "activity_id": "A10003132030",
1880 1914
            "activity_object": {
1881 1915
                "activityPortail": {
1882 1916
                    "activityType": {
......
1908 1942
                    "weeklyCalendarActivityList": [
1909 1943
                        {
1910 1944
                            "weeklyCalendarStr": "1101111",
1911 1945
                            "yearCalendar": 2020
1912 1946
                        }
1913 1947
                    ]
1914 1948
                }
1915 1949
            },
1916
            "activity_text": "2020-2021 CENTRE DE LOISIRS MERCREDI",
1950
            "activity_text": "Centre de loisirs mercredi",
1917 1951
            "activity_weekly_planning_mask": "1101111",
1918 1952
            "id": "A10003132030-A10003132038-A10000000212",
1919 1953
            "place_id": "A10000000212",
1920 1954
            "place_object": {
1921 1955
                "adresse": {
1922 1956
                    "idStreet": null,
1923 1957
                    "num": 0,
1924 1958
                    "street1": "PLACE MARCEL PAGNOL",
......
1930 1964
                "lib": "ALSH PAGNOL",
1931 1965
                "lib2": null,
1932 1966
                "nbPlace": 0,
1933 1967
                "nbPlaceBoy": 0,
1934 1968
                "nbPlaceGirl": 0,
1935 1969
                "schoolInfoList": [],
1936 1970
                "typeCtrlPlace": "N"
1937 1971
            },
1938
            "place_text": "ALSH PAGNOL",
1972
            "place_text": "Alsh Pagnol",
1939 1973
            "subscribe_end_date": "2021-07-03T00:00:00+02:00",
1940 1974
            "subscribe_start_date": "2020-09-02T00:00:00+02:00",
1941
            "text": "2020-2021 CENTRE DE LOISIRS MERCREDI / MATIN ET REPAS / ALSH PAGNOL",
1975
            "text": "Centre de loisirs mercredi / Matin et repas / Alsh Pagnol",
1976
            "text_first_part": "Centre de loisirs mercredi / Matin et repas",
1977
            "text_legacy": "2020-2021 CENTRE DE LOISIRS MERCREDI / MATIN ET REPAS / ALSH PAGNOL",
1942 1978
            "unit_calendar_letter": "C",
1943 1979
            "unit_id": "A10003132038",
1944 1980
            "unit_object": {
1945 1981
                "birthDateEnd": null,
1946 1982
                "birthDateStart": null,
1947 1983
                "calendarLetter": "C",
1948 1984
                "consoTarifList": [
1949 1985
                    {
......
1968 2004
                "nbPlace": 0,
1969 2005
                "nbPlaceBoy": 0,
1970 2006
                "nbPlaceGirl": 0,
1971 2007
                "numOrder": 2,
1972 2008
                "subscribePublication": "E",
1973 2009
                "topCESU": "N",
1974 2010
                "typeCtrlPlace": "N"
1975 2011
            },
1976
            "unit_text": "MATIN ET REPAS",
2012
            "unit_text": "Matin et repas",
1977 2013
            "unit_weekly_planning": "11C1111",
1978 2014
            "user_subscribing_status": "not-subscribed"
1979 2015
        },
1980 2016
        {
1981 2017
            "activity_id": "A10003132030",
1982 2018
            "activity_object": {
1983 2019
                "activityPortail": {
1984 2020
                    "activityType": {
......
2010 2046
                    "weeklyCalendarActivityList": [
2011 2047
                        {
2012 2048
                            "weeklyCalendarStr": "1101111",
2013 2049
                            "yearCalendar": 2020
2014 2050
                        }
2015 2051
                    ]
2016 2052
                }
2017 2053
            },
2018
            "activity_text": "2020-2021 CENTRE DE LOISIRS MERCREDI",
2054
            "activity_text": "Centre de loisirs mercredi",
2019 2055
            "activity_weekly_planning_mask": "1101111",
2020 2056
            "id": "A10003132030-A10003132040-A10000000212",
2021 2057
            "place_id": "A10000000212",
2022 2058
            "place_object": {
2023 2059
                "adresse": {
2024 2060
                    "idStreet": null,
2025 2061
                    "num": 0,
2026 2062
                    "street1": "PLACE MARCEL PAGNOL",
......
2032 2068
                "lib": "ALSH PAGNOL",
2033 2069
                "lib2": null,
2034 2070
                "nbPlace": 0,
2035 2071
                "nbPlaceBoy": 0,
2036 2072
                "nbPlaceGirl": 0,
2037 2073
                "schoolInfoList": [],
2038 2074
                "typeCtrlPlace": "N"
2039 2075
            },
2040
            "place_text": "ALSH PAGNOL",
2076
            "place_text": "Alsh Pagnol",
2041 2077
            "subscribe_end_date": "2021-07-03T00:00:00+02:00",
2042 2078
            "subscribe_start_date": "2020-09-02T00:00:00+02:00",
2043
            "text": "2020-2021 CENTRE DE LOISIRS MERCREDI / APRES MIDI / ALSH PAGNOL",
2079
            "text": "Centre de loisirs mercredi / Apres midi / Alsh Pagnol",
2080
            "text_first_part": "Centre de loisirs mercredi / Apres midi",
2081
            "text_legacy": "2020-2021 CENTRE DE LOISIRS MERCREDI / APRES MIDI / ALSH PAGNOL",
2044 2082
            "unit_calendar_letter": "D",
2045 2083
            "unit_id": "A10003132040",
2046 2084
            "unit_object": {
2047 2085
                "birthDateEnd": null,
2048 2086
                "birthDateStart": null,
2049 2087
                "calendarLetter": "D",
2050 2088
                "consoTarifList": [
2051 2089
                    {
......
2070 2108
                "nbPlace": 0,
2071 2109
                "nbPlaceBoy": 0,
2072 2110
                "nbPlaceGirl": 0,
2073 2111
                "numOrder": 3,
2074 2112
                "subscribePublication": "E",
2075 2113
                "topCESU": "N",
2076 2114
                "typeCtrlPlace": "N"
2077 2115
            },
2078
            "unit_text": "APRES MIDI",
2116
            "unit_text": "Apres midi",
2079 2117
            "unit_weekly_planning": "11D1111",
2080 2118
            "user_subscribing_status": "not-subscribed"
2081 2119
        },
2082 2120
        {
2083 2121
            "activity_id": "A10003132090",
2084 2122
            "activity_object": {
2085 2123
                "activityPortail": {
2086 2124
                    "activityType": {
......
2112 2150
                    "weeklyCalendarActivityList": [
2113 2151
                        {
2114 2152
                            "weeklyCalendarStr": "0000011",
2115 2153
                            "yearCalendar": 2020
2116 2154
                        }
2117 2155
                    ]
2118 2156
                }
2119 2157
            },
2120
            "activity_text": "COURS DE DANSE",
2158
            "activity_text": "Cours de danse",
2121 2159
            "activity_weekly_planning_mask": "0000011",
2122 2160
            "id": "A10003132090-A10003132091-A10000000212",
2123 2161
            "place_id": "A10000000212",
2124 2162
            "place_object": {
2125 2163
                "adresse": {
2126 2164
                    "idStreet": null,
2127 2165
                    "num": 0,
2128 2166
                    "street1": "PLACE MARCEL PAGNOL",
......
2134 2172
                "lib": "ALSH PAGNOL",
2135 2173
                "lib2": null,
2136 2174
                "nbPlace": 0,
2137 2175
                "nbPlaceBoy": 0,
2138 2176
                "nbPlaceGirl": 0,
2139 2177
                "schoolInfoList": [],
2140 2178
                "typeCtrlPlace": "N"
2141 2179
            },
2142
            "place_text": "ALSH PAGNOL",
2180
            "place_text": "Alsh Pagnol",
2143 2181
            "subscribe_end_date": "2021-07-31",
2144 2182
            "subscribe_start_date": "2020-01-01T00:00:00+02:00",
2145
            "text": "COURS DE DANSE / COURS DE DANSE / ALSH PAGNOL",
2183
            "text": "Cours de danse / Alsh Pagnol",
2184
            "text_first_part": "Cours de danse",
2185
            "text_legacy": "COURS DE DANSE / COURS DE DANSE / ALSH PAGNOL",
2146 2186
            "unit_calendar_letter": "X",
2147 2187
            "unit_id": "A10003132091",
2148 2188
            "unit_object": {
2149 2189
                "birthDateEnd": null,
2150 2190
                "birthDateStart": null,
2151 2191
                "calendarLetter": "X",
2152 2192
                "consoTarifList": [],
2153 2193
                "dateEnd": null,
......
2160 2200
                "nbPlace": 0,
2161 2201
                "nbPlaceBoy": 0,
2162 2202
                "nbPlaceGirl": 0,
2163 2203
                "numOrder": 0,
2164 2204
                "subscribePublication": "E",
2165 2205
                "topCESU": "N",
2166 2206
                "typeCtrlPlace": "N"
2167 2207
            },
2168
            "unit_text": "COURS DE DANSE",
2208
            "unit_text": "Cours de danse",
2169 2209
            "unit_weekly_planning": "XXXXX11",
2170 2210
            "user_subscribing_status": "not-subscribed"
2171 2211
        },
2172 2212
        {
2173 2213
            "activity_id": "A10003132150",
2174 2214
            "activity_object": {
2175 2215
                "activityPortail": {
2176 2216
                    "activityType": {
......
2198 2238
                    "schoolControl": null,
2199 2239
                    "schoolNature": null,
2200 2240
                    "schoolYear": 2020,
2201 2241
                    "waitIfComplete": "N",
2202 2242
                    "weeklyCalendarActivityList": []
2203 2243
                },
2204 2244
                "openDayList": []
2205 2245
            },
2206
            "activity_text": "LASERQUEST",
2246
            "activity_text": "Laserquest",
2207 2247
            "activity_weekly_planning_mask": "0000000",
2208 2248
            "id": "A10003132150-A10003132152-A10000000212",
2209 2249
            "place_id": "A10000000212",
2210 2250
            "place_object": {
2211 2251
                "adresse": {
2212 2252
                    "idStreet": null,
2213 2253
                    "num": 0,
2214 2254
                    "street1": "PLACE MARCEL PAGNOL",
......
2220 2260
                "lib": "ALSH PAGNOL",
2221 2261
                "lib2": null,
2222 2262
                "nbPlace": 0,
2223 2263
                "nbPlaceBoy": 0,
2224 2264
                "nbPlaceGirl": 0,
2225 2265
                "schoolInfoList": [],
2226 2266
                "typeCtrlPlace": "N"
2227 2267
            },
2228
            "place_text": "ALSH PAGNOL",
2268
            "place_text": "Alsh Pagnol",
2229 2269
            "subscribe_end_date": "2021-07-31",
2230 2270
            "subscribe_start_date": "2020-01-01T00:00:00+02:00",
2231
            "text": "LASERQUEST / LASERQUEST / ALSH PAGNOL",
2271
            "text": "Laserquest / Alsh Pagnol",
2272
            "text_first_part": "Laserquest",
2273
            "text_legacy": "LASERQUEST / LASERQUEST / ALSH PAGNOL",
2232 2274
            "unit_calendar_letter": "X",
2233 2275
            "unit_id": "A10003132152",
2234 2276
            "unit_object": {
2235 2277
                "birthDateEnd": null,
2236 2278
                "birthDateStart": null,
2237 2279
                "calendarLetter": "X",
2238 2280
                "consoTarifList": [],
2239 2281
                "dateEnd": null,
......
2246 2288
                "nbPlace": 0,
2247 2289
                "nbPlaceBoy": 0,
2248 2290
                "nbPlaceGirl": 0,
2249 2291
                "numOrder": 1,
2250 2292
                "subscribePublication": "E",
2251 2293
                "topCESU": "N",
2252 2294
                "typeCtrlPlace": "N"
2253 2295
            },
2254
            "unit_text": "LASERQUEST",
2296
            "unit_text": "Laserquest",
2255 2297
            "unit_weekly_planning": "XXXXXXX",
2256 2298
            "user_subscribing_status": "not-subscribed"
2257 2299
        },
2258 2300
        {
2259 2301
            "activity_id": "A10003132271",
2260 2302
            "activity_object": {
2261 2303
                "activityPortail": {
2262 2304
                    "activityType": {
......
2284 2326
                    "schoolControl": null,
2285 2327
                    "schoolNature": null,
2286 2328
                    "schoolYear": 2020,
2287 2329
                    "waitIfComplete": "N",
2288 2330
                    "weeklyCalendarActivityList": []
2289 2331
                },
2290 2332
                "openDayList": []
2291 2333
            },
2292
            "activity_text": "EQUITATION",
2334
            "activity_text": "Equitation",
2293 2335
            "activity_weekly_planning_mask": "0000000",
2294 2336
            "id": "A10003132271-A10003132273-A10000000212",
2295 2337
            "place_id": "A10000000212",
2296 2338
            "place_object": {
2297 2339
                "adresse": {
2298 2340
                    "idStreet": null,
2299 2341
                    "num": 0,
2300 2342
                    "street1": "PLACE MARCEL PAGNOL",
......
2306 2348
                "lib": "ALSH PAGNOL",
2307 2349
                "lib2": null,
2308 2350
                "nbPlace": 0,
2309 2351
                "nbPlaceBoy": 0,
2310 2352
                "nbPlaceGirl": 0,
2311 2353
                "schoolInfoList": [],
2312 2354
                "typeCtrlPlace": "N"
2313 2355
            },
2314
            "place_text": "ALSH PAGNOL",
2356
            "place_text": "Alsh Pagnol",
2315 2357
            "subscribe_end_date": "2021-07-31",
2316 2358
            "subscribe_start_date": "2020-09-02T00:00:00+02:00",
2317
            "text": "EQUITATION / EQUITATION / ALSH PAGNOL",
2359
            "text": "Equitation / Alsh Pagnol",
2360
            "text_first_part": "Equitation",
2361
            "text_legacy": "EQUITATION / EQUITATION / ALSH PAGNOL",
2318 2362
            "unit_calendar_letter": "X",
2319 2363
            "unit_id": "A10003132273",
2320 2364
            "unit_object": {
2321 2365
                "birthDateEnd": "2014-12-31T00:00:00+02:00",
2322 2366
                "birthDateStart": "1970-01-01T00:00:00+02:00",
2323 2367
                "calendarLetter": "X",
2324 2368
                "consoTarifList": [],
2325 2369
                "dateEnd": null,
......
2332 2376
                "nbPlace": 0,
2333 2377
                "nbPlaceBoy": 0,
2334 2378
                "nbPlaceGirl": 0,
2335 2379
                "numOrder": 0,
2336 2380
                "subscribePublication": "E",
2337 2381
                "topCESU": "N",
2338 2382
                "typeCtrlPlace": "N"
2339 2383
            },
2340
            "unit_text": "EQUITATION",
2384
            "unit_text": "Equitation",
2341 2385
            "unit_weekly_planning": "XXXXXXX",
2342 2386
            "user_subscribing_status": "not-subscribed"
2343 2387
        },
2344 2388
        {
2345 2389
            "activity_id": "A10003132293",
2346 2390
            "activity_object": {
2347 2391
                "activityPortail": {
2348 2392
                    "activityType": {
......
2370 2414
                    "schoolControl": null,
2371 2415
                    "schoolNature": null,
2372 2416
                    "schoolYear": 2020,
2373 2417
                    "waitIfComplete": "N",
2374 2418
                    "weeklyCalendarActivityList": []
2375 2419
                },
2376 2420
                "openDayList": []
2377 2421
            },
2378
            "activity_text": "SORTIE MUSEE",
2422
            "activity_text": "Sortie musee",
2379 2423
            "activity_weekly_planning_mask": "0000000",
2380 2424
            "id": "A10003132293-A10003132295-A10000000212",
2381 2425
            "place_id": "A10000000212",
2382 2426
            "place_object": {
2383 2427
                "adresse": {
2384 2428
                    "idStreet": null,
2385 2429
                    "num": 0,
2386 2430
                    "street1": "PLACE MARCEL PAGNOL",
......
2392 2436
                "lib": "ALSH PAGNOL",
2393 2437
                "lib2": null,
2394 2438
                "nbPlace": 0,
2395 2439
                "nbPlaceBoy": 0,
2396 2440
                "nbPlaceGirl": 0,
2397 2441
                "schoolInfoList": [],
2398 2442
                "typeCtrlPlace": "N"
2399 2443
            },
2400
            "place_text": "ALSH PAGNOL",
2444
            "place_text": "Alsh Pagnol",
2401 2445
            "subscribe_end_date": "2021-07-31",
2402 2446
            "subscribe_start_date": "2020-01-01T00:00:00+02:00",
2403
            "text": "SORTIE MUSEE / SORTIE MUSEE / ALSH PAGNOL",
2447
            "text": "Sortie musee / Alsh Pagnol",
2448
            "text_first_part": "Sortie musee",
2449
            "text_legacy": "SORTIE MUSEE / SORTIE MUSEE / ALSH PAGNOL",
2404 2450
            "unit_calendar_letter": "X",
2405 2451
            "unit_id": "A10003132295",
2406 2452
            "unit_object": {
2407 2453
                "birthDateEnd": null,
2408 2454
                "birthDateStart": null,
2409 2455
                "calendarLetter": "X",
2410 2456
                "consoTarifList": [],
2411 2457
                "dateEnd": null,
......
2418 2464
                "nbPlace": 0,
2419 2465
                "nbPlaceBoy": 0,
2420 2466
                "nbPlaceGirl": 0,
2421 2467
                "numOrder": 0,
2422 2468
                "subscribePublication": "E",
2423 2469
                "topCESU": "N",
2424 2470
                "typeCtrlPlace": "N"
2425 2471
            },
2426
            "unit_text": "SORTIE MUSEE",
2472
            "unit_text": "Sortie musee",
2427 2473
            "unit_weekly_planning": "XXXXXXX",
2428 2474
            "user_subscribing_status": "not-subscribed"
2429 2475
        }
2430 2476
    ],
2431 2477
    "err": 0
2432 2478
}
2433
-