diff --git a/logs/wix_test_data_20250929_154411.json b/logs/wix_test_data_20250929_154411.json deleted file mode 100644 index 1e9d6a8..0000000 --- a/logs/wix_test_data_20250929_154411.json +++ /dev/null @@ -1,250 +0,0 @@ -{ - "timestamp": "2025-09-29T15:44:11.839852", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "6920" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Angebot auswählen", - "value": "Herbstferien - Familienzeit mit Dolomitenblick" - }, - { - "label": "Anreisedatum", - "value": "2025-10-31" - }, - { - "label": "Abreisedatum", - "value": "2025-11-02" - }, - { - "label": "Anzahl Erwachsene", - "value": "2" - }, - { - "label": "Anzahl Kinder", - "value": "3" - }, - { - "label": "Alter Kind 1", - "value": "3" - }, - { - "label": "Alter Kind 2", - "value": "1" - }, - { - "label": "Alter Kind 3", - "value": "0" - }, - { - "label": "Anrede", - "value": "Frau" - }, - { - "label": "Vorname", - "value": "Elena" - }, - { - "label": "Nachname", - "value": "Battiloro" - }, - { - "label": "Email", - "value": "e.battiloro1@gmail.com" - }, - { - "label": "Phone", - "value": "+39 333 767 3262" - }, - { - "label": "Einwilligung Marketing", - "value": "Non selezionato" - }, - { - "label": "utm_Source", - "value": "ig" - }, - { - "label": "utm_Medium", - "value": "Instagram_Stories" - }, - { - "label": "utm_Campaign", - "value": "Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Term", - "value": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Content", - "value": "Grafik_4_Spätsommer_23.08-07.09_Landingpage_ITA" - }, - { - "label": "utm_term_id", - "value": "120232007764490196" - }, - { - "label": "utm_content_id", - "value": "120232007764490196" - }, - { - "label": "gad_source", - "value": "" - }, - { - "label": "gad_campaignid", - "value": "" - }, - { - "label": "gbraid", - "value": "" - }, - { - "label": "gclid", - "value": "" - }, - { - "label": "fbclid", - "value": "PAZXh0bgNhZW0BMABhZGlkAasmYBhk4DQBp02L46Rl1jAuccxsOaeFSv7WSFnP-MQCsOrz9yDnKRH4hwZ7GEgxF9gy0_OF_aem_qSvrs6xsBkvTaI_Y9_hfnQ" - } - ], - "field:date_picker_7e65": "2025-11-02", - "field:number_7cf5": "2", - "field:utm_source": "ig", - "submissionTime": "2025-09-28T13:26:07.938Z", - "field:alter_kind_3": "3", - "field:gad_source": "", - "field:form_field_5a7b": "Non selezionato", - "field:gad_campaignid": "", - "field:utm_medium": "Instagram_Stories", - "field:utm_term_id": "120232007764490196", - "context": { - "metaSiteId": "1dea821c-8168-4736-96e4-4b92e8b364cf", - "activationId": "3fd865e1-f44a-49d2-ae29-19cf77ee488a" - }, - "field:email_5139": "e.battiloro1@gmail.com", - "field:phone_4c77": "+39 333 767 3262", - "_context": { - "activation": { - "id": "3fd865e1-f44a-49d2-ae29-19cf77ee488a" - }, - "configuration": { - "id": "a976f18c-fa86-495d-be1e-676df188eeae" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "152db4d7-5263-40c4-be2b-1c81476318b7" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "field:gclid": "", - "formFieldMask": [ - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "metaSiteId" - ], - "field:alter_kind_4": "0", - "contact": { - "name": { - "first": "Elena", - "last": "Battiloro" - }, - "email": "e.battiloro1@gmail.com", - "locale": "it-it", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+39 333 767 3262", - "id": "7e5c8512-b88e-4cf0-8d0c-9ebe6b210924", - "countryCode": "IT", - "e164Phone": "+393337673262", - "primary": true, - "phone": "333 767 3262" - } - ], - "contactId": "b9d47825-9f84-4ae7-873c-d169851b5888", - "emails": [ - { - "id": "c5609c67-5eba-4068-ab21-8a2ab9a09a27", - "tag": "UNTAGGED", - "email": "e.battiloro1@gmail.com", - "primary": true - } - ], - "updatedDate": "2025-09-28T13:26:09.916Z", - "phone": "+393337673262", - "createdDate": "2025-08-08T13:05:23.733Z" - }, - "submissionId": "02fbc71c-745b-4c73-9cba-827d0958117a", - "field:anzahl_kinder": "3", - "field:alter_kind_25": "1", - "field:first_name_abae": "Elena", - "field:utm_content_id": "120232007764490196", - "field:utm_campaign": "Conversions_Hotel_Bemelmans_ITA", - "field:utm_term": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA", - "contactId": "b9d47825-9f84-4ae7-873c-d169851b5888", - "field:date_picker_a7c8": "2025-10-31", - "field:angebot_auswaehlen": "Herbstferien - Familienzeit mit Dolomitenblick", - "field:utm_content": "Grafik_4_Spätsommer_23.08-07.09_Landingpage_ITA", - "field:last_name_d97c": "Battiloro", - "submissionsLink": "https://manage.wix.app/forms/submissions/1dea821c-8168-4736-96e4-4b92e8b364cf/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F1dea821c-8168-4736-96e4-4b92e8b364cf%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:gbraid": "", - "field:fbclid": "PAZXh0bgNhZW0BMABhZGlkAasmYBhk4DQBp02L46Rl1jAuccxsOaeFSv7WSFnP-MQCsOrz9yDnKRH4hwZ7GEgxF9gy0_OF_aem_qSvrs6xsBkvTaI_Y9_hfnQ", - "field:anrede": "Frau", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "6920" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20250929_154454.json b/logs/wix_test_data_20250929_154454.json deleted file mode 100644 index ca81155..0000000 --- a/logs/wix_test_data_20250929_154454.json +++ /dev/null @@ -1,250 +0,0 @@ -{ - "timestamp": "2025-09-29T15:44:54.746579", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "6920" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Angebot auswählen", - "value": "Herbstferien - Familienzeit mit Dolomitenblick" - }, - { - "label": "Anreisedatum", - "value": "2025-10-31" - }, - { - "label": "Abreisedatum", - "value": "2025-11-02" - }, - { - "label": "Anzahl Erwachsene", - "value": "2" - }, - { - "label": "Anzahl Kinder", - "value": "3" - }, - { - "label": "Alter Kind 1", - "value": "3" - }, - { - "label": "Alter Kind 2", - "value": "1" - }, - { - "label": "Alter Kind 3", - "value": "0" - }, - { - "label": "Anrede", - "value": "Frau" - }, - { - "label": "Vorname", - "value": "Elena" - }, - { - "label": "Nachname", - "value": "Battiloro" - }, - { - "label": "Email", - "value": "e.battiloro1@gmail.com" - }, - { - "label": "Phone", - "value": "+39 333 767 3262" - }, - { - "label": "Einwilligung Marketing", - "value": "Non selezionato" - }, - { - "label": "utm_Source", - "value": "ig" - }, - { - "label": "utm_Medium", - "value": "Instagram_Stories" - }, - { - "label": "utm_Campaign", - "value": "Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Term", - "value": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Content", - "value": "Grafik_4_Spätsommer_23.08-07.09_Landingpage_ITA" - }, - { - "label": "utm_term_id", - "value": "120232007764490196" - }, - { - "label": "utm_content_id", - "value": "120232007764490196" - }, - { - "label": "gad_source", - "value": "" - }, - { - "label": "gad_campaignid", - "value": "" - }, - { - "label": "gbraid", - "value": "" - }, - { - "label": "gclid", - "value": "" - }, - { - "label": "fbclid", - "value": "PAZXh0bgNhZW0BMABhZGlkAasmYBhk4DQBp02L46Rl1jAuccxsOaeFSv7WSFnP-MQCsOrz9yDnKRH4hwZ7GEgxF9gy0_OF_aem_qSvrs6xsBkvTaI_Y9_hfnQ" - } - ], - "field:date_picker_7e65": "2025-11-02", - "field:number_7cf5": "2", - "field:utm_source": "ig", - "submissionTime": "2025-09-28T13:26:07.938Z", - "field:alter_kind_3": "3", - "field:gad_source": "", - "field:form_field_5a7b": "Non selezionato", - "field:gad_campaignid": "", - "field:utm_medium": "Instagram_Stories", - "field:utm_term_id": "120232007764490196", - "context": { - "metaSiteId": "1dea821c-8168-4736-96e4-4b92e8b364cf", - "activationId": "3fd865e1-f44a-49d2-ae29-19cf77ee488a" - }, - "field:email_5139": "e.battiloro1@gmail.com", - "field:phone_4c77": "+39 333 767 3262", - "_context": { - "activation": { - "id": "3fd865e1-f44a-49d2-ae29-19cf77ee488a" - }, - "configuration": { - "id": "a976f18c-fa86-495d-be1e-676df188eeae" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "152db4d7-5263-40c4-be2b-1c81476318b7" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "field:gclid": "", - "formFieldMask": [ - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "metaSiteId" - ], - "field:alter_kind_4": "0", - "contact": { - "name": { - "first": "Elena", - "last": "Battiloro" - }, - "email": "e.battiloro1@gmail.com", - "locale": "it-it", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+39 333 767 3262", - "id": "7e5c8512-b88e-4cf0-8d0c-9ebe6b210924", - "countryCode": "IT", - "e164Phone": "+393337673262", - "primary": true, - "phone": "333 767 3262" - } - ], - "contactId": "b9d47825-9f84-4ae7-873c-d169851b5888", - "emails": [ - { - "id": "c5609c67-5eba-4068-ab21-8a2ab9a09a27", - "tag": "UNTAGGED", - "email": "e.battiloro1@gmail.com", - "primary": true - } - ], - "updatedDate": "2025-09-28T13:26:09.916Z", - "phone": "+393337673262", - "createdDate": "2025-08-08T13:05:23.733Z" - }, - "submissionId": "02fbc71c-745b-4c73-9cba-827d0958117a", - "field:anzahl_kinder": "3", - "field:alter_kind_25": "1", - "field:first_name_abae": "Elena", - "field:utm_content_id": "120232007764490196", - "field:utm_campaign": "Conversions_Hotel_Bemelmans_ITA", - "field:utm_term": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA", - "contactId": "b9d47825-9f84-4ae7-873c-d169851b5888", - "field:date_picker_a7c8": "2025-10-31", - "field:angebot_auswaehlen": "Herbstferien - Familienzeit mit Dolomitenblick", - "field:utm_content": "Grafik_4_Spätsommer_23.08-07.09_Landingpage_ITA", - "field:last_name_d97c": "Battiloro", - "submissionsLink": "https://manage.wix.app/forms/submissions/1dea821c-8168-4736-96e4-4b92e8b364cf/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F1dea821c-8168-4736-96e4-4b92e8b364cf%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:gbraid": "", - "field:fbclid": "PAZXh0bgNhZW0BMABhZGlkAasmYBhk4DQBp02L46Rl1jAuccxsOaeFSv7WSFnP-MQCsOrz9yDnKRH4hwZ7GEgxF9gy0_OF_aem_qSvrs6xsBkvTaI_Y9_hfnQ", - "field:anrede": "Frau", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "6920" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20250929_160843.json b/logs/wix_test_data_20250929_160843.json deleted file mode 100644 index 4873a18..0000000 --- a/logs/wix_test_data_20250929_160843.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "timestamp": "2025-09-29T16:08:43.177480", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "4518" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Anreisedatum", - "value": "2026-01-17" - }, - { - "label": "Abreisedatum", - "value": "2026-01-24" - }, - { - "label": "Anzahl Erwachsene", - "value": "2" - }, - { - "label": "Anzahl Kinder", - "value": "0" - }, - { - "label": "Anrede", - "value": "Herr" - }, - { - "label": "Vorname", - "value": "Weislinger " - }, - { - "label": "Nachname", - "value": "Alain " - }, - { - "label": "Email", - "value": "alain-et-evelyne@hotmail.fr" - }, - { - "label": "Phone", - "value": "+33 6 41 77 99 09" - }, - { - "label": "Einwilligung Marketing", - "value": "Cochée" - } - ], - "field:date_picker_7e65": "2026-01-24", - "field:number_7cf5": "2", - "submissionTime": "2025-09-27T19:36:39.137Z", - "field:form_field_5a7b": "Cochée", - "context": { - "metaSiteId": "7b28c2ce-1e20-4d07-9e86-73d822007e18", - "activationId": "d59c463c-96e0-4742-b4f7-70b8f0431168" - }, - "field:email_5139": "alain-et-evelyne@hotmail.fr", - "field:phone_4c77": "+33 6 41 77 99 09", - "_context": { - "activation": { - "id": "d59c463c-96e0-4742-b4f7-70b8f0431168" - }, - "configuration": { - "id": "483806f6-24ba-413f-9431-6b1ad9379f5c" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "a85d9873-f8ed-426a-90b0-fb64a8e50406" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "formFieldMask": [ - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Weislinger", - "last": "Alain" - }, - "email": "alain-et-evelyne@hotmail.fr", - "locale": "de-de", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+33 6 41 77 99 09", - "id": "90ffc824-1fd7-4167-b29f-24a4b62a0773", - "countryCode": "FR", - "e164Phone": "+33641779909", - "primary": true, - "phone": "6 41 77 99 09" - } - ], - "contactId": "250e24db-d41e-4f6e-835d-75acdf2ef2b7", - "emails": [ - { - "id": "2c071108-2410-4db8-99fa-b50b75a02493", - "tag": "UNTAGGED", - "email": "alain-et-evelyne@hotmail.fr", - "primary": true - } - ], - "updatedDate": "2025-09-27T19:36:41.908Z", - "phone": "+33641779909", - "createdDate": "2025-09-27T19:36:41.054Z" - }, - "submissionId": "6cfee967-69a8-454a-a10e-0aa03868ba6d", - "field:anzahl_kinder": "0", - "field:first_name_abae": "Weislinger ", - "contactId": "250e24db-d41e-4f6e-835d-75acdf2ef2b7", - "field:date_picker_a7c8": "2026-01-17", - "field:last_name_d97c": "Alain ", - "submissionsLink": "https://manage.wix.app/forms/submissions/7b28c2ce-1e20-4d07-9e86-73d822007e18/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F7b28c2ce-1e20-4d07-9e86-73d822007e18%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:anrede": "Herr", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "4518" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20250929_162447.json b/logs/wix_test_data_20250929_162447.json deleted file mode 100644 index f99f0bb..0000000 --- a/logs/wix_test_data_20250929_162447.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "timestamp": "2025-09-29T16:24:47.833595", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "4518" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Anreisedatum", - "value": "2026-01-17" - }, - { - "label": "Abreisedatum", - "value": "2026-01-24" - }, - { - "label": "Anzahl Erwachsene", - "value": "2" - }, - { - "label": "Anzahl Kinder", - "value": "0" - }, - { - "label": "Anrede", - "value": "Herr" - }, - { - "label": "Vorname", - "value": "Weislinger " - }, - { - "label": "Nachname", - "value": "Alain " - }, - { - "label": "Email", - "value": "alain-et-evelyne@hotmail.fr" - }, - { - "label": "Phone", - "value": "+33 6 41 77 99 09" - }, - { - "label": "Einwilligung Marketing", - "value": "Cochée" - } - ], - "field:date_picker_7e65": "2026-01-24", - "field:number_7cf5": "2", - "submissionTime": "2025-09-27T19:36:39.137Z", - "field:form_field_5a7b": "Cochée", - "context": { - "metaSiteId": "7b28c2ce-1e20-4d07-9e86-73d822007e18", - "activationId": "d59c463c-96e0-4742-b4f7-70b8f0431168" - }, - "field:email_5139": "alain-et-evelyne@hotmail.fr", - "field:phone_4c77": "+33 6 41 77 99 09", - "_context": { - "activation": { - "id": "d59c463c-96e0-4742-b4f7-70b8f0431168" - }, - "configuration": { - "id": "483806f6-24ba-413f-9431-6b1ad9379f5c" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "a85d9873-f8ed-426a-90b0-fb64a8e50406" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "formFieldMask": [ - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Weislinger", - "last": "Alain" - }, - "email": "alain-et-evelyne@hotmail.fr", - "locale": "de-de", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+33 6 41 77 99 09", - "id": "90ffc824-1fd7-4167-b29f-24a4b62a0773", - "countryCode": "FR", - "e164Phone": "+33641779909", - "primary": true, - "phone": "6 41 77 99 09" - } - ], - "contactId": "250e24db-d41e-4f6e-835d-75acdf2ef2b7", - "emails": [ - { - "id": "2c071108-2410-4db8-99fa-b50b75a02493", - "tag": "UNTAGGED", - "email": "alain-et-evelyne@hotmail.fr", - "primary": true - } - ], - "updatedDate": "2025-09-27T19:36:41.908Z", - "phone": "+33641779909", - "createdDate": "2025-09-27T19:36:41.054Z" - }, - "submissionId": "6cfee967-69a8-454a-a10e-0aa03868ba6d", - "field:anzahl_kinder": "0", - "field:first_name_abae": "Weislinger ", - "contactId": "250e24db-d41e-4f6e-835d-75acdf2ef2b7", - "field:date_picker_a7c8": "2026-01-17", - "field:last_name_d97c": "Alain ", - "submissionsLink": "https://manage.wix.app/forms/submissions/7b28c2ce-1e20-4d07-9e86-73d822007e18/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F7b28c2ce-1e20-4d07-9e86-73d822007e18%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:anrede": "Herr", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "4518" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20250929_163212.json b/logs/wix_test_data_20250929_163212.json deleted file mode 100644 index 5a206ce..0000000 --- a/logs/wix_test_data_20250929_163212.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "timestamp": "2025-09-29T16:32:12.776585", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "4518" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Anreisedatum", - "value": "2026-01-17" - }, - { - "label": "Abreisedatum", - "value": "2026-01-24" - }, - { - "label": "Anzahl Erwachsene", - "value": "2" - }, - { - "label": "Anzahl Kinder", - "value": "0" - }, - { - "label": "Anrede", - "value": "Herr" - }, - { - "label": "Vorname", - "value": "Weislinger " - }, - { - "label": "Nachname", - "value": "Alain " - }, - { - "label": "Email", - "value": "alain-et-evelyne@hotmail.fr" - }, - { - "label": "Phone", - "value": "+33 6 41 77 99 09" - }, - { - "label": "Einwilligung Marketing", - "value": "Cochée" - } - ], - "field:date_picker_7e65": "2026-01-24", - "field:number_7cf5": "2", - "submissionTime": "2025-09-27T19:36:39.137Z", - "field:form_field_5a7b": "Cochée", - "context": { - "metaSiteId": "7b28c2ce-1e20-4d07-9e86-73d822007e18", - "activationId": "d59c463c-96e0-4742-b4f7-70b8f0431168" - }, - "field:email_5139": "alain-et-evelyne@hotmail.fr", - "field:phone_4c77": "+33 6 41 77 99 09", - "_context": { - "activation": { - "id": "d59c463c-96e0-4742-b4f7-70b8f0431168" - }, - "configuration": { - "id": "483806f6-24ba-413f-9431-6b1ad9379f5c" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "a85d9873-f8ed-426a-90b0-fb64a8e50406" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "formFieldMask": [ - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Weislinger", - "last": "Alain" - }, - "email": "alain-et-evelyne@hotmail.fr", - "locale": "de-de", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+33 6 41 77 99 09", - "id": "90ffc824-1fd7-4167-b29f-24a4b62a0773", - "countryCode": "FR", - "e164Phone": "+33641779909", - "primary": true, - "phone": "6 41 77 99 09" - } - ], - "contactId": "250e24db-d41e-4f6e-835d-75acdf2ef2b7", - "emails": [ - { - "id": "2c071108-2410-4db8-99fa-b50b75a02493", - "tag": "UNTAGGED", - "email": "alain-et-evelyne@hotmail.fr", - "primary": true - } - ], - "updatedDate": "2025-09-27T19:36:41.908Z", - "phone": "+33641779909", - "createdDate": "2025-09-27T19:36:41.054Z" - }, - "submissionId": "6cfee967-69a8-454a-a10e-0aa03868ba6d", - "field:anzahl_kinder": "0", - "field:first_name_abae": "Weislinger ", - "contactId": "250e24db-d41e-4f6e-835d-75acdf2ef2b7", - "field:date_picker_a7c8": "2026-01-17", - "field:last_name_d97c": "Alain ", - "submissionsLink": "https://manage.wix.app/forms/submissions/7b28c2ce-1e20-4d07-9e86-73d822007e18/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F7b28c2ce-1e20-4d07-9e86-73d822007e18%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:anrede": "Herr", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "4518" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20250929_163449.json b/logs/wix_test_data_20250929_163449.json deleted file mode 100644 index 0486a2c..0000000 --- a/logs/wix_test_data_20250929_163449.json +++ /dev/null @@ -1,240 +0,0 @@ -{ - "timestamp": "2025-09-29T16:34:49.785457", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "6638" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Angebot auswählen", - "value": "Zimmer: Doppelzimmer" - }, - { - "label": "Anreisedatum", - "value": "2025-10-03" - }, - { - "label": "Abreisedatum", - "value": "2025-10-05" - }, - { - "label": "Anzahl Erwachsene", - "value": "2" - }, - { - "label": "Anzahl Kinder", - "value": "1" - }, - { - "label": "Alter Kind 1", - "value": "3" - }, - { - "label": "Anrede", - "value": "Familie" - }, - { - "label": "Vorname", - "value": "Miriana" - }, - { - "label": "Nachname", - "value": "Darman" - }, - { - "label": "Email", - "value": "miriana.m9@gmail.com" - }, - { - "label": "Phone", - "value": "+39 348 443 0969" - }, - { - "label": "Einwilligung Marketing", - "value": "Non selezionato" - }, - { - "label": "utm_Source", - "value": "ig" - }, - { - "label": "utm_Medium", - "value": "Instagram_Stories" - }, - { - "label": "utm_Campaign", - "value": "Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Term", - "value": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Content", - "value": "Grafik_4_Spätsommer_23.08-07.09_Landingpage_ITA" - }, - { - "label": "utm_term_id", - "value": "120232007764490196" - }, - { - "label": "utm_content_id", - "value": "120232007764490196" - }, - { - "label": "gad_source", - "value": "" - }, - { - "label": "gad_campaignid", - "value": "" - }, - { - "label": "gbraid", - "value": "" - }, - { - "label": "gclid", - "value": "" - }, - { - "label": "fbclid", - "value": "PAZXh0bgNhZW0BMABhZGlkAasmYBTNE3QBp1jWuJ9zIpfEGRJMP63fMAMI405yvG5EtH-OT0PxSkAbBJaudFHR6cMtkdHu_aem_fopaFtECyVPNW9fmWfEkyA" - } - ], - "field:date_picker_7e65": "2025-10-05", - "field:number_7cf5": "2", - "field:utm_source": "ig", - "submissionTime": "2025-09-27T07:04:55.843Z", - "field:alter_kind_3": "3", - "field:gad_source": "", - "field:form_field_5a7b": "Non selezionato", - "field:gad_campaignid": "", - "field:utm_medium": "Instagram_Stories", - "field:utm_term_id": "120232007764490196", - "context": { - "metaSiteId": "1dea821c-8168-4736-96e4-4b92e8b364cf", - "activationId": "d41b7796-dca2-40f1-8245-c2f26a096f19" - }, - "field:email_5139": "miriana.m9@gmail.com", - "field:phone_4c77": "+39 348 443 0969", - "_context": { - "activation": { - "id": "d41b7796-dca2-40f1-8245-c2f26a096f19" - }, - "configuration": { - "id": "a976f18c-fa86-495d-be1e-676df188eeae" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "152db4d7-5263-40c4-be2b-1c81476318b7" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "field:gclid": "", - "formFieldMask": [ - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Miriana", - "last": "Darman" - }, - "email": "miriana.m9@gmail.com", - "locale": "it-it", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+39 348 443 0969", - "id": "ac9d623e-6aaa-4022-856a-0dd64d0ff3fb", - "countryCode": "IT", - "e164Phone": "+393484430969", - "primary": true, - "phone": "348 443 0969" - } - ], - "contactId": "bcc29403-82ac-445a-be52-90a67180f16f", - "emails": [ - { - "id": "448de804-7353-46ed-9ae3-9c13ca521917", - "tag": "UNTAGGED", - "email": "miriana.m9@gmail.com", - "primary": true - } - ], - "updatedDate": "2025-09-27T07:04:58.724Z", - "phone": "+393484430969", - "createdDate": "2025-09-27T07:04:57.752Z" - }, - "submissionId": "3150614e-1b0a-47ba-a774-b0a0c71d8110", - "field:anzahl_kinder": "1", - "field:first_name_abae": "Miriana", - "field:utm_content_id": "120232007764490196", - "field:utm_campaign": "Conversions_Hotel_Bemelmans_ITA", - "field:utm_term": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA", - "contactId": "bcc29403-82ac-445a-be52-90a67180f16f", - "field:date_picker_a7c8": "2025-10-03", - "field:angebot_auswaehlen": "Zimmer: Doppelzimmer", - "field:utm_content": "Grafik_4_Spätsommer_23.08-07.09_Landingpage_ITA", - "field:last_name_d97c": "Darman", - "submissionsLink": "https://manage.wix.app/forms/submissions/1dea821c-8168-4736-96e4-4b92e8b364cf/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F1dea821c-8168-4736-96e4-4b92e8b364cf%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:gbraid": "", - "field:fbclid": "PAZXh0bgNhZW0BMABhZGlkAasmYBTNE3QBp1jWuJ9zIpfEGRJMP63fMAMI405yvG5EtH-OT0PxSkAbBJaudFHR6cMtkdHu_aem_fopaFtECyVPNW9fmWfEkyA", - "field:anrede": "Familie", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "6638" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20251006_104642.json b/logs/wix_test_data_20251006_104642.json deleted file mode 100644 index f60d983..0000000 --- a/logs/wix_test_data_20251006_104642.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "timestamp": "2025-10-06T10:46:42.527300", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7499" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Angebot auswählen", - "value": "Zimmer: Doppelzimmer" - }, - { - "label": "Anreisedatum", - "value": "2025-12-21" - }, - { - "label": "Abreisedatum", - "value": "2025-10-28" - }, - { - "label": "Anzahl Erwachsene", - "value": "2" - }, - { - "label": "Anzahl Kinder", - "value": "0" - }, - { - "label": "Anrede", - "value": "Herr" - }, - { - "label": "Vorname", - "value": "Ernst-Dieter" - }, - { - "label": "Nachname", - "value": "Koepper" - }, - { - "label": "Email", - "value": "koepper-ed@t-online.de" - }, - { - "label": "Phone", - "value": "+49 175 8555456" - }, - { - "label": "Message", - "value": "Guten Morgen,\nwir sind nicht gebau an die Reisedaten gebunden: Anreise ist möglich ab 20. Dezember, Aufenthalt mindestens eine Woche, gern auch 8 oder 9 Tage. Natürlich mit Halbpension. Mit freundlichem Gruß D. Köpper" - }, - { - "label": "Einwilligung Marketing", - "value": "Angekreuzt" - }, - { - "label": "utm_Source", - "value": "" - }, - { - "label": "utm_Medium", - "value": "" - }, - { - "label": "utm_Campaign", - "value": "" - }, - { - "label": "utm_Term", - "value": "" - }, - { - "label": "utm_Content", - "value": "" - }, - { - "label": "utm_term_id", - "value": "" - }, - { - "label": "utm_content_id", - "value": "" - }, - { - "label": "gad_source", - "value": "5" - }, - { - "label": "gad_campaignid", - "value": "23065043477" - }, - { - "label": "gbraid", - "value": "" - }, - { - "label": "gclid", - "value": "EAIaIQobChMI-d7Bn_-OkAMVuZJQBh09uD0vEAAYASAAEgKR8_D_BwE" - }, - { - "label": "fbclid", - "value": "" - }, - { - "label": "hotelid", - "value": "12345" - }, - { - "label": "hotelname", - "value": "Bemelmans Post" - } - ], - "field:date_picker_7e65": "2025-10-28", - "field:number_7cf5": "2", - "field:utm_source": "", - "submissionTime": "2025-10-06T07:05:34.001Z", - "field:gad_source": "5", - "field:form_field_5a7b": "Angekreuzt", - "field:gad_campaignid": "23065043477", - "field:utm_medium": "", - "field:utm_term_id": "", - "context": { - "metaSiteId": "1dea821c-8168-4736-96e4-4b92e8b364cf", - "activationId": "fd8e9c90-0335-4fd2-976d-985f065f3f80" - }, - "field:email_5139": "koepper-ed@t-online.de", - "field:phone_4c77": "+49 175 8555456", - "_context": { - "activation": { - "id": "fd8e9c90-0335-4fd2-976d-985f065f3f80" - }, - "configuration": { - "id": "a976f18c-fa86-495d-be1e-676df188eeae" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "152db4d7-5263-40c4-be2b-1c81476318b7" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "field:gclid": "EAIaIQobChMI-d7Bn_-OkAMVuZJQBh09uD0vEAAYASAAEgKR8_D_BwE", - "formFieldMask": [ - "field:", - "field:", - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "field:hotelid", - "field:hotelname", - "field:", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Ernst-Dieter", - "last": "Koepper" - }, - "email": "koepper-ed@t-online.de", - "locale": "de-de", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+49 175 8555456", - "id": "530a3bf4-6dbe-4611-8963-a50df805785d", - "countryCode": "DE", - "e164Phone": "+491758555456", - "primary": true, - "phone": "175 8555456" - } - ], - "contactId": "13659da8-4035-47fe-a66b-6ce461ad290f", - "emails": [ - { - "id": "e1d2168e-ca3c-4844-8f93-f2e1b0ae70e3", - "tag": "UNTAGGED", - "email": "koepper-ed@t-online.de", - "primary": true - } - ], - "updatedDate": "2025-10-06T07:05:35.675Z", - "phone": "+491758555456", - "createdDate": "2025-10-06T07:05:35.675Z" - }, - "submissionId": "86d247dc-9d5a-4eb7-87a7-677bf64645ad", - "field:anzahl_kinder": "0", - "field:first_name_abae": "Ernst-Dieter", - "field:utm_content_id": "", - "field:utm_campaign": "", - "field:utm_term": "", - "contactId": "13659da8-4035-47fe-a66b-6ce461ad290f", - "field:date_picker_a7c8": "2025-12-21", - "field:hotelname": "Bemelmans Post", - "field:angebot_auswaehlen": "Zimmer: Doppelzimmer", - "field:utm_content": "", - "field:last_name_d97c": "Koepper", - "field:hotelid": "12345", - "submissionsLink": "https://manage.wix.app/forms/submissions/1dea821c-8168-4736-96e4-4b92e8b364cf/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F1dea821c-8168-4736-96e4-4b92e8b364cf%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:gbraid": "", - "field:fbclid": "", - "submissionPdf": { - "fileName": "86d247dc-9d5a-4eb7-87a7-677bf64645ad.pdf", - "downloadUrl": "https://manage.wix.com/_api/form-submission-service/v4/submissions/86d247dc-9d5a-4eb7-87a7-677bf64645ad/download?accessToken=JWS.eyJraWQiOiJWLVNuLWhwZSIsImFsZyI6IkhTMjU2In0.eyJkYXRhIjoie1wibWV0YVNpdGVJZFwiOlwiMWRlYTgyMWMtODE2OC00NzM2LTk2ZTQtNGI5MmU4YjM2NGNmXCJ9IiwiaWF0IjoxNzU5NzM0MzM1LCJleHAiOjE3NTk3MzQ5MzV9.9koy-O_ptm0dRspjh01Yefkt2rCHiUlRCFtE_S3auYw" - }, - "field:anrede": "Herr", - "field:long_answer_3524": "Guten Morgen,\nwir sind nicht gebau an die Reisedaten gebunden: Anreise ist möglich ab 20. Dezember, Aufenthalt mindestens eine Woche, gern auch 8 oder 9 Tage. Natürlich mit Halbpension. Mit freundlichem Gruß D. Köpper", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7499" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20251006_105732.json b/logs/wix_test_data_20251006_105732.json deleted file mode 100644 index 83adc96..0000000 --- a/logs/wix_test_data_20251006_105732.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "timestamp": "2025-10-06T10:57:32.973217", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7499" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Angebot auswählen", - "value": "Zimmer: Doppelzimmer" - }, - { - "label": "Anreisedatum", - "value": "2025-12-21" - }, - { - "label": "Abreisedatum", - "value": "2025-10-28" - }, - { - "label": "Anzahl Erwachsene", - "value": "2" - }, - { - "label": "Anzahl Kinder", - "value": "0" - }, - { - "label": "Anrede", - "value": "Herr" - }, - { - "label": "Vorname", - "value": "Ernst-Dieter" - }, - { - "label": "Nachname", - "value": "Koepper" - }, - { - "label": "Email", - "value": "koepper-ed@t-online.de" - }, - { - "label": "Phone", - "value": "+49 175 8555456" - }, - { - "label": "Message", - "value": "Guten Morgen,\nwir sind nicht gebau an die Reisedaten gebunden: Anreise ist möglich ab 20. Dezember, Aufenthalt mindestens eine Woche, gern auch 8 oder 9 Tage. Natürlich mit Halbpension. Mit freundlichem Gruß D. Köpper" - }, - { - "label": "Einwilligung Marketing", - "value": "Angekreuzt" - }, - { - "label": "utm_Source", - "value": "" - }, - { - "label": "utm_Medium", - "value": "" - }, - { - "label": "utm_Campaign", - "value": "" - }, - { - "label": "utm_Term", - "value": "" - }, - { - "label": "utm_Content", - "value": "" - }, - { - "label": "utm_term_id", - "value": "" - }, - { - "label": "utm_content_id", - "value": "" - }, - { - "label": "gad_source", - "value": "5" - }, - { - "label": "gad_campaignid", - "value": "23065043477" - }, - { - "label": "gbraid", - "value": "" - }, - { - "label": "gclid", - "value": "EAIaIQobChMI-d7Bn_-OkAMVuZJQBh09uD0vEAAYASAAEgKR8_D_BwE" - }, - { - "label": "fbclid", - "value": "" - }, - { - "label": "hotelid", - "value": "12345" - }, - { - "label": "hotelname", - "value": "Bemelmans Post" - } - ], - "field:date_picker_7e65": "2025-10-28", - "field:number_7cf5": "2", - "field:utm_source": "", - "submissionTime": "2025-10-06T07:05:34.001Z", - "field:gad_source": "5", - "field:form_field_5a7b": "Angekreuzt", - "field:gad_campaignid": "23065043477", - "field:utm_medium": "", - "field:utm_term_id": "", - "context": { - "metaSiteId": "1dea821c-8168-4736-96e4-4b92e8b364cf", - "activationId": "fd8e9c90-0335-4fd2-976d-985f065f3f80" - }, - "field:email_5139": "koepper-ed@t-online.de", - "field:phone_4c77": "+49 175 8555456", - "_context": { - "activation": { - "id": "fd8e9c90-0335-4fd2-976d-985f065f3f80" - }, - "configuration": { - "id": "a976f18c-fa86-495d-be1e-676df188eeae" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "152db4d7-5263-40c4-be2b-1c81476318b7" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "field:gclid": "EAIaIQobChMI-d7Bn_-OkAMVuZJQBh09uD0vEAAYASAAEgKR8_D_BwE", - "formFieldMask": [ - "field:", - "field:", - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "field:hotelid", - "field:hotelname", - "field:", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Ernst-Dieter", - "last": "Koepper" - }, - "email": "koepper-ed@t-online.de", - "locale": "de-de", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+49 175 8555456", - "id": "530a3bf4-6dbe-4611-8963-a50df805785d", - "countryCode": "DE", - "e164Phone": "+491758555456", - "primary": true, - "phone": "175 8555456" - } - ], - "contactId": "13659da8-4035-47fe-a66b-6ce461ad290f", - "emails": [ - { - "id": "e1d2168e-ca3c-4844-8f93-f2e1b0ae70e3", - "tag": "UNTAGGED", - "email": "koepper-ed@t-online.de", - "primary": true - } - ], - "updatedDate": "2025-10-06T07:05:35.675Z", - "phone": "+491758555456", - "createdDate": "2025-10-06T07:05:35.675Z" - }, - "submissionId": "86d247dc-9d5a-4eb7-87a7-677bf64645ad", - "field:anzahl_kinder": "0", - "field:first_name_abae": "Ernst-Dieter", - "field:utm_content_id": "", - "field:utm_campaign": "", - "field:utm_term": "", - "contactId": "13659da8-4035-47fe-a66b-6ce461ad290f", - "field:date_picker_a7c8": "2025-12-21", - "field:hotelname": "Bemelmans Post", - "field:angebot_auswaehlen": "Zimmer: Doppelzimmer", - "field:utm_content": "", - "field:last_name_d97c": "Koepper", - "field:hotelid": "12345", - "submissionsLink": "https://manage.wix.app/forms/submissions/1dea821c-8168-4736-96e4-4b92e8b364cf/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F1dea821c-8168-4736-96e4-4b92e8b364cf%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:gbraid": "", - "field:fbclid": "", - "submissionPdf": { - "fileName": "86d247dc-9d5a-4eb7-87a7-677bf64645ad.pdf", - "downloadUrl": "https://manage.wix.com/_api/form-submission-service/v4/submissions/86d247dc-9d5a-4eb7-87a7-677bf64645ad/download?accessToken=JWS.eyJraWQiOiJWLVNuLWhwZSIsImFsZyI6IkhTMjU2In0.eyJkYXRhIjoie1wibWV0YVNpdGVJZFwiOlwiMWRlYTgyMWMtODE2OC00NzM2LTk2ZTQtNGI5MmU4YjM2NGNmXCJ9IiwiaWF0IjoxNzU5NzM0MzM1LCJleHAiOjE3NTk3MzQ5MzV9.9koy-O_ptm0dRspjh01Yefkt2rCHiUlRCFtE_S3auYw" - }, - "field:anrede": "Herr", - "field:long_answer_3524": "Guten Morgen,\nwir sind nicht gebau an die Reisedaten gebunden: Anreise ist möglich ab 20. Dezember, Aufenthalt mindestens eine Woche, gern auch 8 oder 9 Tage. Natürlich mit Halbpension. Mit freundlichem Gruß D. Köpper", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7499" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20251006_154306.json b/logs/wix_test_data_20251006_154306.json deleted file mode 100644 index c61f047..0000000 --- a/logs/wix_test_data_20251006_154306.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "timestamp": "2025-10-06T15:43:06.732884", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7081" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Angebot auswählen", - "value": "Zimmer: Doppelzimmer" - }, - { - "label": "Anreisedatum", - "value": "2025-10-21" - }, - { - "label": "Abreisedatum", - "value": "2025-12-28" - }, - { - "label": "Anzahl Erwachsene", - "value": "4" - }, - { - "label": "Anzahl Kinder", - "value": "0" - }, - { - "label": "Anrede", - "value": "Herr" - }, - { - "label": "Vorname", - "value": "Jonas" - }, - { - "label": "Nachname", - "value": "Linter" - }, - { - "label": "Email", - "value": "jonas@vaius.ai" - }, - { - "label": "Phone", - "value": "+39 392 007 6982" - }, - { - "label": "Message", - "value": "Hallo nachricht in der Kommentarsection" - }, - { - "label": "Einwilligung Marketing", - "value": "Angekreuzt" - }, - { - "label": "utm_Source", - "value": "" - }, - { - "label": "utm_Medium", - "value": "" - }, - { - "label": "utm_Campaign", - "value": "" - }, - { - "label": "utm_Term", - "value": "" - }, - { - "label": "utm_Content", - "value": "" - }, - { - "label": "utm_term_id", - "value": "" - }, - { - "label": "utm_content_id", - "value": "" - }, - { - "label": "gad_source", - "value": "5" - }, - { - "label": "gad_campaignid", - "value": "23065043477" - }, - { - "label": "gbraid", - "value": "" - }, - { - "label": "gclid", - "value": "EAIaIQobChMI-d7Bn_-OkAMVuZJQBh09uD0vEAAYASAAEgKR8_D_BwE" - }, - { - "label": "fbclid", - "value": "" - }, - { - "label": "hotelid", - "value": "12345" - }, - { - "label": "hotelname", - "value": "Bemelmans Post" - } - ], - "field:date_picker_7e65": "2025-10-28", - "field:number_7cf5": "2", - "field:utm_source": "", - "submissionTime": "2025-10-06T07:05:34.001Z", - "field:gad_source": "5", - "field:form_field_5a7b": "Angekreuzt", - "field:gad_campaignid": "23065043477", - "field:utm_medium": "", - "field:utm_term_id": "", - "context": { - "metaSiteId": "1dea821c-8168-4736-96e4-4b92e8b364cf", - "activationId": "fd8e9c90-0335-4fd2-976d-985f065f3f80" - }, - "field:email_5139": "jonas@vaius.ai", - "field:phone_4c77": "+39 392 007 6982", - "_context": { - "activation": { - "id": "fd8e9c90-0335-4fd2-976d-985f065f3f80" - }, - "configuration": { - "id": "a976f18c-fa86-495d-be1e-676df188eeae" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "152db4d7-5263-40c4-be2b-1c81476318b7" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "field:gclid": "EAIaIQobChMI-d7Bn_-OkAMVuZJQBh09uD0vEAAYASAAEgKR8_D_BwE", - "formFieldMask": [ - "field:", - "field:", - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "field:hotelid", - "field:hotelname", - "field:", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Jonas", - "last": "Linter" - }, - "email": "jonas@vaius.ai", - "locale": "de-de", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+39 392 007 6982", - "id": "530a3bf4-6dbe-4611-8963-a50df805785d", - "countryCode": "DE", - "e164Phone": "+493920076982", - "primary": true, - "phone": "392 0076982" - } - ], - "contactId": "66659da8-4035-47fe-a66b-6ce461ad290f", - "emails": [ - { - "id": "e1d2168e-ca3c-4844-8f93-f2e1b0ae70e3", - "tag": "UNTAGGED", - "email": "koepper-ed@t-online.de", - "primary": true - } - ], - "updatedDate": "2025-10-06T07:05:35.675Z", - "phone": "+491758555456", - "createdDate": "2025-10-06T07:05:35.675Z" - }, - "submissionId": "666247dc-9d5a-4eb7-87a7-677bf64645ad", - "field:anzahl_kinder": "0", - "field:first_name_abae": "Ernst-Dieter", - "field:utm_content_id": "", - "field:utm_campaign": "", - "field:utm_term": "", - "contactId": "66659da8-4035-47fe-a66b-6ce461ad290f", - "field:date_picker_a7c8": "2025-12-21", - "field:hotelname": "Testhotel", - "field:angebot_auswaehlen": "Zimmer: Doppelzimmer", - "field:utm_content": "", - "field:last_name_d97c": "Linter", - "field:hotelid": "135", - "submissionsLink": "https://manage.wix.app/forms/submissions/1dea821c-8168-4736-96e4-4b92e8b364cf/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F1dea821c-8168-4736-96e4-4b92e8b364cf%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:gbraid": "", - "field:fbclid": "", - "submissionPdf": { - "fileName": "86d247dc-9d5a-4eb7-87a7-677bf64645ad.pdf", - "downloadUrl": "https://manage.wix.com/_api/form-submission-service/v4/submissions/86d247dc-9d5a-4eb7-87a7-677bf64645ad/download?accessToken=JWS.eyJraWQiOiJWLVNuLWhwZSIsImFsZyI6IkhTMjU2In0.eyJkYXRhIjoie1wibWV0YVNpdGVJZFwiOlwiMWRlYTgyMWMtODE2OC00NzM2LTk2ZTQtNGI5MmU4YjM2NGNmXCJ9IiwiaWF0IjoxNzU5NzM0MzM1LCJleHAiOjE3NTk3MzQ5MzV9.9koy-O_ptm0dRspjh01Yefkt2rCHiUlRCFtE_S3auYw" - }, - "field:anrede": "Herr", - "field:long_answer_3524": "Kommentarsektion vermutlich", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7081" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20251006_154435.json b/logs/wix_test_data_20251006_154435.json deleted file mode 100644 index d48564c..0000000 --- a/logs/wix_test_data_20251006_154435.json +++ /dev/null @@ -1,262 +0,0 @@ -{ - "timestamp": "2025-10-06T15:44:35.341703", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7081" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Angebot auswählen", - "value": "Zimmer: Doppelzimmer" - }, - { - "label": "Anreisedatum", - "value": "2025-10-21" - }, - { - "label": "Abreisedatum", - "value": "2025-12-28" - }, - { - "label": "Anzahl Erwachsene", - "value": "4" - }, - { - "label": "Anzahl Kinder", - "value": "0" - }, - { - "label": "Anrede", - "value": "Herr" - }, - { - "label": "Vorname", - "value": "Jonas" - }, - { - "label": "Nachname", - "value": "Linter" - }, - { - "label": "Email", - "value": "jonas@vaius.ai" - }, - { - "label": "Phone", - "value": "+39 392 007 6982" - }, - { - "label": "Message", - "value": "Hallo nachricht in der Kommentarsection" - }, - { - "label": "Einwilligung Marketing", - "value": "Angekreuzt" - }, - { - "label": "utm_Source", - "value": "" - }, - { - "label": "utm_Medium", - "value": "" - }, - { - "label": "utm_Campaign", - "value": "" - }, - { - "label": "utm_Term", - "value": "" - }, - { - "label": "utm_Content", - "value": "" - }, - { - "label": "utm_term_id", - "value": "" - }, - { - "label": "utm_content_id", - "value": "" - }, - { - "label": "gad_source", - "value": "5" - }, - { - "label": "gad_campaignid", - "value": "23065043477" - }, - { - "label": "gbraid", - "value": "" - }, - { - "label": "gclid", - "value": "EAIaIQobChMI-d7Bn_-OkAMVuZJQBh09uD0vEAAYASAAEgKR8_D_BwE" - }, - { - "label": "fbclid", - "value": "" - }, - { - "label": "hotelid", - "value": "12345" - }, - { - "label": "hotelname", - "value": "Bemelmans Post" - } - ], - "field:date_picker_7e65": "2025-10-28", - "field:number_7cf5": "2", - "field:utm_source": "", - "submissionTime": "2025-10-06T07:05:34.001Z", - "field:gad_source": "5", - "field:form_field_5a7b": "Angekreuzt", - "field:gad_campaignid": "23065043477", - "field:utm_medium": "", - "field:utm_term_id": "", - "context": { - "metaSiteId": "1dea821c-8168-4736-96e4-4b92e8b364cf", - "activationId": "fd8e9c90-0335-4fd2-976d-985f065f3f80" - }, - "field:email_5139": "jonas@vaius.ai", - "field:phone_4c77": "+39 392 007 6982", - "_context": { - "activation": { - "id": "fd8e9c90-0335-4fd2-976d-985f065f3f80" - }, - "configuration": { - "id": "a976f18c-fa86-495d-be1e-676df188eeae" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "152db4d7-5263-40c4-be2b-1c81476318b7" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "field:gclid": "EAIaIQobChMI-d7Bn_-OkAMVuZJQBh09uD0vEAAYASAAEgKR8_D_BwE", - "formFieldMask": [ - "field:", - "field:", - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "field:hotelid", - "field:hotelname", - "field:", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Jonas", - "last": "Linter" - }, - "email": "jonas@vaius.ai", - "locale": "de-de", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+39 392 007 6982", - "id": "530a3bf4-6dbe-4611-8963-a50df805785d", - "countryCode": "DE", - "e164Phone": "+493920076982", - "primary": true, - "phone": "392 0076982" - } - ], - "contactId": "66659da8-4035-47fe-a66b-6ce461ad290f", - "emails": [ - { - "id": "e1d2168e-ca3c-4844-8f93-f2e1b0ae70e3", - "tag": "UNTAGGED", - "email": "koepper-ed@t-online.de", - "primary": true - } - ], - "updatedDate": "2025-10-06T07:05:35.675Z", - "phone": "+491758555456", - "createdDate": "2025-10-06T07:05:35.675Z" - }, - "submissionId": "666247dc-9d5a-4eb7-87a7-677bf64645ad", - "field:anzahl_kinder": "0", - "field:first_name_abae": "Ernst-Dieter", - "field:utm_content_id": "", - "field:utm_campaign": "", - "field:utm_term": "", - "contactId": "66659da8-4035-47fe-a66b-6ce461ad290f", - "field:date_picker_a7c8": "2025-12-21", - "field:hotelname": "Testhotel", - "field:angebot_auswaehlen": "Zimmer: Doppelzimmer", - "field:utm_content": "", - "field:last_name_d97c": "Linter", - "field:hotelid": "135", - "submissionsLink": "https://manage.wix.app/forms/submissions/1dea821c-8168-4736-96e4-4b92e8b364cf/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F1dea821c-8168-4736-96e4-4b92e8b364cf%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:gbraid": "", - "field:fbclid": "", - "submissionPdf": { - "fileName": "86d247dc-9d5a-4eb7-87a7-677bf64645ad.pdf", - "downloadUrl": "https://manage.wix.com/_api/form-submission-service/v4/submissions/86d247dc-9d5a-4eb7-87a7-677bf64645ad/download?accessToken=JWS.eyJraWQiOiJWLVNuLWhwZSIsImFsZyI6IkhTMjU2In0.eyJkYXRhIjoie1wibWV0YVNpdGVJZFwiOlwiMWRlYTgyMWMtODE2OC00NzM2LTk2ZTQtNGI5MmU4YjM2NGNmXCJ9IiwiaWF0IjoxNzU5NzM0MzM1LCJleHAiOjE3NTk3MzQ5MzV9.9koy-O_ptm0dRspjh01Yefkt2rCHiUlRCFtE_S3auYw" - }, - "field:anrede": "Herr", - "field:long_answer_3524": "Kommentarsektion vermutlich", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7081" - } -} diff --git a/logs/wix_test_data_20251007_155426.json b/logs/wix_test_data_20251007_155426.json deleted file mode 100644 index 74b111d..0000000 --- a/logs/wix_test_data_20251007_155426.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "timestamp": "2025-10-07T15:54:26.898008", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7335" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Anreisedatum", - "value": "2026-01-02" - }, - { - "label": "Abreisedatum", - "value": "2026-01-07" - }, - { - "label": "Anzahl Erwachsene", - "value": "3" - }, - { - "label": "Anzahl Kinder", - "value": "1" - }, - { - "label": "Alter Kind 1", - "value": "12" - }, - { - "label": "Anrede", - "value": "Frau" - }, - { - "label": "Vorname", - "value": "Genesia " - }, - { - "label": "Nachname", - "value": "Supino " - }, - { - "label": "Email", - "value": "supinogenesia@gmail.com" - }, - { - "label": "Phone", - "value": "+39 340 625 9979" - }, - { - "label": "Einwilligung Marketing", - "value": "Selezionato" - }, - { - "label": "utm_Source", - "value": "fb" - }, - { - "label": "utm_Medium", - "value": "Facebook_Mobile_Feed" - }, - { - "label": "utm_Campaign", - "value": "Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Term", - "value": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Content", - "value": "Grafik_AuszeitDezember_9.12_23.12" - }, - { - "label": "utm_term_id", - "value": "120238574626400196" - }, - { - "label": "utm_content_id", - "value": "120238574626400196" - }, - { - "label": "gad_source", - "value": "" - }, - { - "label": "gad_campaignid", - "value": "" - }, - { - "label": "gbraid", - "value": "" - }, - { - "label": "gclid", - "value": "" - }, - { - "label": "fbclid", - "value": "IwZXh0bgNhZW0BMABhZGlkAassWPh1b8QBHoRc2S24gMktdNKiPwEvGYMK3rB-mne_0IJQvQRIGH60wLvLfOm0XWP8wJ9s_aem_rbpAFMODwOh4UnF5UVxwWg" - }, - { - "label": "hotelid", - "value": "12345" - }, - { - "label": "hotelname", - "value": "Bemelmans Post" - } - ], - "field:date_picker_7e65": "2026-01-07", - "field:number_7cf5": "3", - "field:utm_source": "fb", - "submissionTime": "2025-10-07T05:48:41.855Z", - "field:alter_kind_3": "12", - "field:gad_source": "", - "field:form_field_5a7b": "Selezionato", - "field:gad_campaignid": "", - "field:utm_medium": "Facebook_Mobile_Feed", - "field:utm_term_id": "120238574626400196", - "context": { - "metaSiteId": "1dea821c-8168-4736-96e4-4b92e8b364cf", - "activationId": "2421c9cd-6565-49ba-b60f-165d3dacccba" - }, - "field:email_5139": "supinogenesia@gmail.com", - "field:phone_4c77": "+39 340 625 9979", - "_context": { - "activation": { - "id": "2421c9cd-6565-49ba-b60f-165d3dacccba" - }, - "configuration": { - "id": "a976f18c-fa86-495d-be1e-676df188eeae" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "152db4d7-5263-40c4-be2b-1c81476318b7" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "field:gclid": "", - "formFieldMask": [ - "field:", - "field:", - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "field:hotelid", - "field:hotelname", - "field:", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Genesia", - "last": "Supino" - }, - "email": "supinogenesia@gmail.com", - "locale": "it-it", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+39 340 625 9979", - "id": "198f04fb-5b2c-4a7b-b7ea-adc150ec4212", - "countryCode": "IT", - "e164Phone": "+393406259979", - "primary": true, - "phone": "340 625 9979" - } - ], - "contactId": "4d695011-36c1-4480-b225-ae9c6eef9e83", - "emails": [ - { - "id": "e09d7bab-1f11-4b5d-b3c5-32d43c1dc584", - "tag": "UNTAGGED", - "email": "supinogenesia@gmail.com", - "primary": true - } - ], - "updatedDate": "2025-10-07T05:48:44.764Z", - "phone": "+393406259979", - "createdDate": "2025-10-07T05:48:43.567Z" - }, - "submissionId": "c52702c9-55b9-44e1-b158-ec9544c73cc7", - "field:anzahl_kinder": "1", - "field:first_name_abae": "Genesia ", - "field:utm_content_id": "120238574626400196", - "field:utm_campaign": "Conversions_Hotel_Bemelmans_ITA", - "field:utm_term": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA", - "contactId": "4d695011-36c1-4480-b225-ae9c6eef9e83", - "field:date_picker_a7c8": "2026-01-02", - "field:hotelname": "Bemelmans Post", - "field:utm_content": "Grafik_AuszeitDezember_9.12_23.12", - "field:last_name_d97c": "Supino ", - "field:hotelid": "12345", - "submissionsLink": "https://manage.wix.app/forms/submissions/1dea821c-8168-4736-96e4-4b92e8b364cf/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F1dea821c-8168-4736-96e4-4b92e8b364cf%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:gbraid": "", - "field:fbclid": "IwZXh0bgNhZW0BMABhZGlkAassWPh1b8QBHoRc2S24gMktdNKiPwEvGYMK3rB-mne_0IJQvQRIGH60wLvLfOm0XWP8wJ9s_aem_rbpAFMODwOh4UnF5UVxwWg", - "submissionPdf": { - "fileName": "c52702c9-55b9-44e1-b158-ec9544c73cc7.pdf", - "downloadUrl": "https://manage.wix.com/_api/form-submission-service/v4/submissions/c52702c9-55b9-44e1-b158-ec9544c73cc7/download?accessToken=JWS.eyJraWQiOiJWLVNuLWhwZSIsImFsZyI6IkhTMjU2In0.eyJkYXRhIjoie1wibWV0YVNpdGVJZFwiOlwiMWRlYTgyMWMtODE2OC00NzM2LTk2ZTQtNGI5MmU4YjM2NGNmXCJ9IiwiaWF0IjoxNzU5ODE2MTI0LCJleHAiOjE3NTk4MTY3MjR9.quBfp9UL9Ddqb2CWERXoVkh9OdmHlIBvlLAyhoXElaY" - }, - "field:anrede": "Frau", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7335" - } -} \ No newline at end of file diff --git a/logs/wix_test_data_20251007_160537.json b/logs/wix_test_data_20251007_160537.json deleted file mode 100644 index b5d4e7e..0000000 --- a/logs/wix_test_data_20251007_160537.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "timestamp": "2025-10-07T16:05:37.531417", - "client_ip": "127.0.0.1", - "headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7335" - }, - "data": { - "data": { - "formName": "Contact us", - "submissions": [ - { - "label": "Anreisedatum", - "value": "2026-01-02" - }, - { - "label": "Abreisedatum", - "value": "2026-01-07" - }, - { - "label": "Anzahl Erwachsene", - "value": "3" - }, - { - "label": "Anzahl Kinder", - "value": "1" - }, - { - "label": "Alter Kind 1", - "value": "12" - }, - { - "label": "Anrede", - "value": "Frau" - }, - { - "label": "Vorname", - "value": "Genesia " - }, - { - "label": "Nachname", - "value": "Supino " - }, - { - "label": "Email", - "value": "supinogenesia@gmail.com" - }, - { - "label": "Phone", - "value": "+39 340 625 9979" - }, - { - "label": "Einwilligung Marketing", - "value": "Selezionato" - }, - { - "label": "utm_Source", - "value": "fb" - }, - { - "label": "utm_Medium", - "value": "Facebook_Mobile_Feed" - }, - { - "label": "utm_Campaign", - "value": "Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Term", - "value": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA" - }, - { - "label": "utm_Content", - "value": "Grafik_AuszeitDezember_9.12_23.12" - }, - { - "label": "utm_term_id", - "value": "120238574626400196" - }, - { - "label": "utm_content_id", - "value": "120238574626400196" - }, - { - "label": "gad_source", - "value": "" - }, - { - "label": "gad_campaignid", - "value": "" - }, - { - "label": "gbraid", - "value": "" - }, - { - "label": "gclid", - "value": "" - }, - { - "label": "fbclid", - "value": "IwZXh0bgNhZW0BMABhZGlkAassWPh1b8QBHoRc2S24gMktdNKiPwEvGYMK3rB-mne_0IJQvQRIGH60wLvLfOm0XWP8wJ9s_aem_rbpAFMODwOh4UnF5UVxwWg" - }, - { - "label": "hotelid", - "value": "12345" - }, - { - "label": "hotelname", - "value": "Bemelmans Post" - } - ], - "field:date_picker_7e65": "2026-01-07", - "field:number_7cf5": "3", - "field:utm_source": "fb", - "submissionTime": "2025-10-07T05:48:41.855Z", - "field:alter_kind_3": "12", - "field:gad_source": "", - "field:form_field_5a7b": "Selezionato", - "field:gad_campaignid": "", - "field:utm_medium": "Facebook_Mobile_Feed", - "field:utm_term_id": "120238574626400196", - "context": { - "metaSiteId": "1dea821c-8168-4736-96e4-4b92e8b364cf", - "activationId": "2421c9cd-6565-49ba-b60f-165d3dacccba" - }, - "field:email_5139": "supinogenesia@gmail.com", - "field:phone_4c77": "+39 340 625 9979", - "_context": { - "activation": { - "id": "2421c9cd-6565-49ba-b60f-165d3dacccba" - }, - "configuration": { - "id": "a976f18c-fa86-495d-be1e-676df188eeae" - }, - "app": { - "id": "225dd912-7dea-4738-8688-4b8c6955ffc2" - }, - "action": { - "id": "152db4d7-5263-40c4-be2b-1c81476318b7" - }, - "trigger": { - "key": "wix_form_app-form_submitted" - } - }, - "field:gclid": "", - "formFieldMask": [ - "field:", - "field:", - "field:angebot_auswaehlen", - "field:date_picker_a7c8", - "field:date_picker_7e65", - "field:", - "field:number_7cf5", - "field:anzahl_kinder", - "field:alter_kind_3", - "field:alter_kind_25", - "field:alter_kind_4", - "field:alter_kind_5", - "field:alter_kind_6", - "field:alter_kind_7", - "field:alter_kind_8", - "field:alter_kind_9", - "field:alter_kind_10", - "field:alter_kind_11", - "field:", - "field:anrede", - "field:first_name_abae", - "field:last_name_d97c", - "field:email_5139", - "field:phone_4c77", - "field:long_answer_3524", - "field:form_field_5a7b", - "field:", - "field:utm_source", - "field:utm_medium", - "field:utm_campaign", - "field:utm_term", - "field:utm_content", - "field:utm_term_id", - "field:utm_content_id", - "field:gad_source", - "field:gad_campaignid", - "field:gbraid", - "field:gclid", - "field:fbclid", - "field:hotelid", - "field:hotelname", - "field:", - "metaSiteId" - ], - "contact": { - "name": { - "first": "Genesia", - "last": "Supino" - }, - "email": "supinogenesia@gmail.com", - "locale": "it-it", - "phones": [ - { - "tag": "UNTAGGED", - "formattedPhone": "+39 340 625 9979", - "id": "198f04fb-5b2c-4a7b-b7ea-adc150ec4212", - "countryCode": "IT", - "e164Phone": "+393406259979", - "primary": true, - "phone": "340 625 9979" - } - ], - "contactId": "4d695011-36c1-4480-b225-ae9c6eef9e83", - "emails": [ - { - "id": "e09d7bab-1f11-4b5d-b3c5-32d43c1dc584", - "tag": "UNTAGGED", - "email": "supinogenesia@gmail.com", - "primary": true - } - ], - "updatedDate": "2025-10-07T05:48:44.764Z", - "phone": "+393406259979", - "createdDate": "2025-10-07T05:48:43.567Z" - }, - "submissionId": "c52702c9-55b9-44e1-b158-ec9544c73cc7", - "field:anzahl_kinder": "1", - "field:first_name_abae": "Genesia ", - "field:utm_content_id": "120238574626400196", - "field:utm_campaign": "Conversions_Hotel_Bemelmans_ITA", - "field:utm_term": "Cold_Traffic_Conversions_Hotel_Bemelmans_ITA", - "contactId": "4d695011-36c1-4480-b225-ae9c6eef9e83", - "field:date_picker_a7c8": "2026-01-02", - "field:hotelname": "Bemelmans Post", - "field:utm_content": "Grafik_AuszeitDezember_9.12_23.12", - "field:last_name_d97c": "Supino ", - "field:hotelid": "12345", - "submissionsLink": "https://manage.wix.app/forms/submissions/1dea821c-8168-4736-96e4-4b92e8b364cf/e084006b-ae83-4e4d-b2f5-074118cdb3b1?d=https%3A%2F%2Fmanage.wix.com%2Fdashboard%2F1dea821c-8168-4736-96e4-4b92e8b364cf%2Fwix-forms%2Fform%2Fe084006b-ae83-4e4d-b2f5-074118cdb3b1%2Fsubmissions&s=true", - "field:gbraid": "", - "field:fbclid": "IwZXh0bgNhZW0BMABhZGlkAassWPh1b8QBHoRc2S24gMktdNKiPwEvGYMK3rB-mne_0IJQvQRIGH60wLvLfOm0XWP8wJ9s_aem_rbpAFMODwOh4UnF5UVxwWg", - "submissionPdf": { - "fileName": "c52702c9-55b9-44e1-b158-ec9544c73cc7.pdf", - "downloadUrl": "https://manage.wix.com/_api/form-submission-service/v4/submissions/c52702c9-55b9-44e1-b158-ec9544c73cc7/download?accessToken=JWS.eyJraWQiOiJWLVNuLWhwZSIsImFsZyI6IkhTMjU2In0.eyJkYXRhIjoie1wibWV0YVNpdGVJZFwiOlwiMWRlYTgyMWMtODE2OC00NzM2LTk2ZTQtNGI5MmU4YjM2NGNmXCJ9IiwiaWF0IjoxNzU5ODE2MTI0LCJleHAiOjE3NTk4MTY3MjR9.quBfp9UL9Ddqb2CWERXoVkh9OdmHlIBvlLAyhoXElaY" - }, - "field:anrede": "Frau", - "formId": "e084006b-ae83-4e4d-b2f5-074118cdb3b1" - } - }, - "origin_header": null, - "all_headers": { - "host": "localhost:8080", - "content-type": "application/json", - "user-agent": "insomnia/2023.5.8", - "accept": "*/*", - "content-length": "7335" - } -} \ No newline at end of file diff --git a/tests/test_conversion_service.py b/tests/test_conversion_service.py new file mode 100644 index 0000000..615f8d3 --- /dev/null +++ b/tests/test_conversion_service.py @@ -0,0 +1,321 @@ +"""Tests for ConversionService using realistic test data. + +This test module: +1. Uses the CSV import tests to populate the in-memory database with realistic customer/reservation data +2. Runs the XML conversion import endpoint with conversions_test_data.xml +3. Asserts baseline match counts to detect regressions in matching logic + +The test data is designed to test realistic matching scenarios: +- Matching by advertising campaign data (fbclid/gclid) +- Matching by guest name and email +- Handling unmatched conversions +- Processing daily sales revenue data +""" + +from pathlib import Path + +import pytest +import pytest_asyncio +from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine + +from alpine_bits_python.conversion_service import ConversionService +from alpine_bits_python.csv_import import CSVImporter +from alpine_bits_python.db import Base, Conversion, ConversionRoom + + +@pytest_asyncio.fixture +async def test_db_engine(): + """Create an in-memory SQLite database for testing.""" + engine = create_async_engine( + "sqlite+aiosqlite:///:memory:", + echo=False, + ) + + # Create tables + async with engine.begin() as conn: + await conn.run_sync(Base.metadata.create_all) + + yield engine + + # Cleanup + await engine.dispose() + + +@pytest_asyncio.fixture +async def test_db_session(test_db_engine): + """Create a test database session.""" + async_session = async_sessionmaker( + test_db_engine, + class_=AsyncSession, + expire_on_commit=False, + ) + + async with async_session() as session: + yield session + + +@pytest.fixture +def test_config(): + """Test configuration.""" + return { + "server": { + "codecontext": "ADVERTISING", + "code": "70597314", + "companyname": "99tales Gmbh", + "res_id_source_context": "99tales", + }, + "alpine_bits_auth": [ + { + "hotel_id": "bemelmans", + "hotel_name": "Bemelmans Apartments", + "username": "bemelmans_user", + "password": "testpass", + } + ], + "default_hotel_code": "bemelmans", + "default_hotel_name": "Bemelmans Apartments", + } + + +@pytest.fixture +def test_data_dir(): + """Return path to test data directory.""" + return Path(__file__).parent / "test_data" + + +class TestConversionServiceWithImportedData: + """Test ConversionService using realistic test data imported via CSV.""" + + @pytest.mark.asyncio + async def test_conversion_import_with_csv_test_data( + self, test_db_session, test_config, test_data_dir + ): + """Test full workflow: import CSV data, then process conversions XML. + + This test demonstrates the intended workflow: + 1. Import CSV test data to populate customers and reservations + 2. Process conversion XML file to match conversions to reservations + 3. Verify match statistics to detect regressions + + The conversions_test_data.xml file contains realistic conversion data + from a hotel PMS system with multiple reservations and daily sales. + """ + csv_file = test_data_dir / "leads_export.csv" + xml_file = test_data_dir / "conversions_test_data.xml" + + # Skip test if data files don't exist + if not csv_file.exists(): + pytest.skip(f"Test data file not found: {csv_file}") + if not xml_file.exists(): + pytest.skip(f"Test data file not found: {xml_file}") + + # Step 1: Import CSV data to populate database with realistic customers/reservations + importer = CSVImporter(test_db_session, test_config) + csv_stats = await importer.import_csv_file( + csv_file_path=str(csv_file), + hotel_code="bemelmans", + dryrun=False, + ) + + print(f"\nCSV Import Stats: {csv_stats}") + assert csv_stats["total_rows"] > 0, "CSV import should have processed rows" + assert ( + csv_stats["created_reservations"] > 0 + ), "CSV import should create reservations" + + # Step 2: Load and process conversion XML + with xml_file.open(encoding="utf-8") as f: + xml_content = f.read() + + # File already has proper XML structure, just use it as-is + xml_content = xml_content.strip() + + conversion_service = ConversionService(test_db_session) + stats = await conversion_service.process_conversion_xml(xml_content) + + # BASELINE ASSERTIONS: + # These values are established from test runs with conversions_test_data.xml + leads_export.csv. + # If these change, it indicates a change in matching logic that needs review. + # Update these values only when intentionally changing the matching behavior. + # + # Current test data contains: + # - CSV import: 576 total rows, 535 created reservations, 41 duplicates skipped + # - XML conversions: 252 reservations with 2905 daily sales records across 539 room records + EXPECTED_TOTAL_RESERVATIONS = 252 + EXPECTED_TOTAL_DAILY_SALES = 2905 + EXPECTED_TOTAL_ROOMS = 539 + # Note: Currently no matches by tracking ID because XML data uses different formats + # This is expected with the test data. Real PMS data would have higher match rates. + EXPECTED_MATCHED_TO_RESERVATION = 0 + + print(f"\nBaseline Match Counts:") + print(f" Total reservations in XML: {EXPECTED_TOTAL_RESERVATIONS}") + print(f" Total daily sales records: {EXPECTED_TOTAL_DAILY_SALES}") + print(f" Total conversion room records: {EXPECTED_TOTAL_ROOMS}") + print(f" Matched to reservation: {EXPECTED_MATCHED_TO_RESERVATION}") + match_rate = (EXPECTED_MATCHED_TO_RESERVATION / EXPECTED_TOTAL_RESERVATIONS * 100) if EXPECTED_TOTAL_RESERVATIONS > 0 else 0 + print(f" Match rate: {match_rate:.1f}%") + + # Verify baseline stability on subsequent runs + assert ( + stats["total_reservations"] == EXPECTED_TOTAL_RESERVATIONS + ), f"Total reservations should be {EXPECTED_TOTAL_RESERVATIONS}, got {stats['total_reservations']}" + assert ( + stats["total_daily_sales"] == EXPECTED_TOTAL_DAILY_SALES + ), f"Total daily sales should be {EXPECTED_TOTAL_DAILY_SALES}, got {stats['total_daily_sales']}" + assert ( + stats["matched_to_reservation"] == EXPECTED_MATCHED_TO_RESERVATION + ), f"Matched reservations should be {EXPECTED_MATCHED_TO_RESERVATION}, got {stats['matched_to_reservation']}" + + @pytest.mark.asyncio + async def test_conversion_room_revenue_aggregation( + self, test_db_session, test_config, test_data_dir + ): + """Test that daily sales revenue is correctly aggregated at room level.""" + csv_file = test_data_dir / "leads_export.csv" + xml_file = test_data_dir / "conversions_test_data.xml" + + if not csv_file.exists(): + pytest.skip(f"Test data file not found: {csv_file}") + if not xml_file.exists(): + pytest.skip(f"Test data file not found: {xml_file}") + + # Import CSV data + importer = CSVImporter(test_db_session, test_config) + await importer.import_csv_file( + csv_file_path=str(csv_file), + hotel_code="bemelmans", + dryrun=False, + ) + + # Process conversions + with xml_file.open(encoding="utf-8") as f: + xml_content = f.read() + + # File already has proper XML structure, just use it as-is + xml_content = xml_content.strip() + + conversion_service = ConversionService(test_db_session) + stats = await conversion_service.process_conversion_xml(xml_content) + + # Verify conversions were created + from sqlalchemy import select + + result = await test_db_session.execute(select(ConversionRoom)) + all_rooms = result.scalars().all() + assert len(all_rooms) > 0, "Should have created conversion rooms" + + # Verify there are room records even if no revenue is set + result = await test_db_session.execute( + select(ConversionRoom).where(ConversionRoom.total_revenue.isnot(None)) + ) + rooms_with_revenue = result.scalars().all() + + # Note: Test data may not have revenue values in the XML + # The important thing is that we're capturing room-level data + print(f"\nRevenue Aggregation Stats:") + print(f" Total conversion rooms: {len(all_rooms)}") + print(f" Rooms with revenue: {len(rooms_with_revenue)}") + + if rooms_with_revenue: + # Verify revenue values are numeric and positive + for room in rooms_with_revenue: + assert isinstance( + room.total_revenue, (int, float) + ), f"Revenue should be numeric, got {type(room.total_revenue)}" + assert ( + room.total_revenue > 0 + ), f"Revenue should be positive, got {room.total_revenue}" + + total_revenue = sum(room.total_revenue for room in rooms_with_revenue) + print(f" Total aggregated revenue: {total_revenue}") + print(f" Average revenue per room: {total_revenue / len(rooms_with_revenue)}") + + @pytest.mark.asyncio + async def test_conversion_matching_by_guest_details( + self, test_db_session, test_config, test_data_dir + ): + """Test conversion matching by guest name and email fallback. + + Note: The test data may not have matching guest names/emails between + the CSV and XML files. This test primarily verifies that the matching + logic runs without errors and that the conversion service attempts to + match by guest details when advertising data is unavailable. + """ + csv_file = test_data_dir / "leads_export.csv" + xml_file = test_data_dir / "conversions_test_data.xml" + + if not csv_file.exists(): + pytest.skip(f"Test data file not found: {csv_file}") + if not xml_file.exists(): + pytest.skip(f"Test data file not found: {xml_file}") + + # Import CSV data + importer = CSVImporter(test_db_session, test_config) + csv_stats = await importer.import_csv_file( + csv_file_path=str(csv_file), + hotel_code="bemelmans", + dryrun=False, + ) + + assert csv_stats["created_reservations"] > 0, "Should have imported reservations" + + # Process conversions + with xml_file.open(encoding="utf-8") as f: + xml_content = f.read() + + # File already has proper XML structure, just use it as-is + xml_content = xml_content.strip() + + conversion_service = ConversionService(test_db_session) + stats = await conversion_service.process_conversion_xml(xml_content) + + # Verify conversions were processed + from sqlalchemy import select + + result = await test_db_session.execute(select(Conversion)) + all_conversions = result.scalars().all() + assert len(all_conversions) > 0, "Should have created conversions" + + # Check for matched conversions + result = await test_db_session.execute( + select(Conversion).where(Conversion.customer_id.isnot(None)) + ) + conversions_with_customers = result.scalars().all() + + print(f"\nGuest Detail Matching:") + print(f" Total conversions: {len(all_conversions)}") + print(f" Conversions matched to customer: {len(conversions_with_customers)}") + print(f" Stats matched_to_customer: {stats['matched_to_customer']}") + + # With this test data, matches may be 0 if guest names/emails don't align + # The important thing is that the matching logic runs without errors + print(f" Note: Matches depend on data alignment between CSV and XML files") + + @pytest.mark.asyncio + async def test_conversion_service_error_handling( + self, test_db_session, test_config + ): + """Test ConversionService handles invalid XML gracefully.""" + invalid_xml = "unclosed tag" + + conversion_service = ConversionService(test_db_session) + + with pytest.raises(ValueError, match="Invalid XML"): + await conversion_service.process_conversion_xml(invalid_xml) + + @pytest.mark.asyncio + async def test_conversion_service_empty_xml(self, test_db_session, test_config): + """Test ConversionService handles empty/minimal XML.""" + minimal_xml = '' + + conversion_service = ConversionService(test_db_session) + stats = await conversion_service.process_conversion_xml(minimal_xml) + + assert stats["total_reservations"] == 0 + assert stats["total_daily_sales"] == 0 + assert stats["errors"] == 0 + + +if __name__ == "__main__": + pytest.main([__file__, "-v"]) diff --git a/tests/test_data/conversions_test_data.xml b/tests/test_data/conversions_test_data.xml new file mode 100644 index 0000000..e03853e --- /dev/null +++ b/tests/test_data/conversions_test_data.xml @@ -0,0 +1,6308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file