spree_cm_commissioner 1.18.2.pre.pre1 → 2.0.0.pre.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/.env.example +0 -3
  3. data/.github/workflows/test_and_build_gem.yml +16 -2
  4. data/.gitignore +2 -1
  5. data/Gemfile.lock +28 -1
  6. data/Rakefile +33 -4
  7. data/app/assets/javascripts/spree_cm_commissioner/backend.js +0 -1
  8. data/app/assets/stylesheets/spree_cm_commissioner/backend/calendar.scss +8 -11
  9. data/app/assets/stylesheets/spree_cm_commissioner/backend/commissioner_admin.css.scss +0 -1
  10. data/app/controllers/concerns/spree_cm_commissioner/content_cachable.rb +1 -2
  11. data/app/controllers/spree/admin/inventory_items_controller.rb +83 -0
  12. data/app/controllers/spree/admin/stock_managements_controller.rb +63 -1
  13. data/app/controllers/spree/admin/tenants_controller.rb +0 -8
  14. data/app/controllers/spree/api/v2/storefront/accommodations/variants_controller.rb +42 -0
  15. data/app/controllers/spree/api/v2/storefront/accommodations_controller.rb +14 -31
  16. data/app/controllers/spree/api/v2/storefront/guests_controller.rb +5 -31
  17. data/app/controllers/spree/api/v2/storefront/queue_cart/line_items_controller.rb +2 -2
  18. data/app/controllers/spree_cm_commissioner/admin/variants_controller_decorator.rb +1 -1
  19. data/app/controllers/spree_cm_commissioner/well_known_controller.rb +17 -31
  20. data/app/finders/spree_cm_commissioner/accommodations/find.rb +37 -0
  21. data/app/finders/spree_cm_commissioner/accommodations/find_variant.rb +32 -0
  22. data/app/interactors/spree_cm_commissioner/ensure_correct_product_type.rb +40 -0
  23. data/app/interactors/spree_cm_commissioner/inventory_item_syncer.rb +25 -0
  24. data/app/interactors/spree_cm_commissioner/stock/inventory_item_resetter.rb +44 -0
  25. data/app/interactors/spree_cm_commissioner/stock/inventory_items_adjuster.rb +13 -0
  26. data/app/interactors/spree_cm_commissioner/stock/inventory_items_generator.rb +15 -0
  27. data/app/interactors/spree_cm_commissioner/stock/permanent_inventory_items_generator.rb +75 -0
  28. data/app/interactors/spree_cm_commissioner/stock/stock_movement_creator.rb +32 -0
  29. data/app/interactors/spree_cm_commissioner/vattanac_bank_initiator.rb +1 -5
  30. data/app/jobs/spree_cm_commissioner/application_job.rb +20 -0
  31. data/app/jobs/spree_cm_commissioner/application_unique_job.rb +20 -0
  32. data/app/jobs/spree_cm_commissioner/ensure_correct_product_type_job.rb +7 -0
  33. data/app/jobs/spree_cm_commissioner/inventory_item_syncer_job.rb +7 -0
  34. data/app/jobs/spree_cm_commissioner/stock/inventory_items_adjuster_job.rb +11 -0
  35. data/app/jobs/spree_cm_commissioner/stock/inventory_items_generator_job.rb +11 -0
  36. data/app/jobs/spree_cm_commissioner/stock/permanent_inventory_items_generator_job.rb +9 -0
  37. data/app/models/concerns/spree_cm_commissioner/line_item_durationable.rb +9 -15
  38. data/app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb +1 -13
  39. data/app/models/concerns/spree_cm_commissioner/order_seatable.rb +44 -0
  40. data/app/models/concerns/spree_cm_commissioner/order_state_machine.rb +39 -0
  41. data/app/models/concerns/spree_cm_commissioner/product_delegation.rb +1 -3
  42. data/app/models/concerns/spree_cm_commissioner/product_type.rb +10 -0
  43. data/app/models/concerns/spree_cm_commissioner/taxon_kind.rb +1 -1
  44. data/app/models/concerns/spree_cm_commissioner/tenant_preference.rb +0 -4
  45. data/app/models/spree_cm_commissioner/block.rb +23 -0
  46. data/app/models/spree_cm_commissioner/dynamic_field.rb +3 -15
  47. data/app/models/spree_cm_commissioner/dynamic_field_option.rb +1 -5
  48. data/app/models/spree_cm_commissioner/guest.rb +19 -1
  49. data/app/models/spree_cm_commissioner/guest_dynamic_field.rb +3 -21
  50. data/app/models/spree_cm_commissioner/inventory.rb +11 -0
  51. data/app/models/spree_cm_commissioner/inventory_item.rb +69 -0
  52. data/app/models/spree_cm_commissioner/invite_team.rb +1 -3
  53. data/app/models/spree_cm_commissioner/line_item_decorator.rb +46 -78
  54. data/app/models/spree_cm_commissioner/notification_taxon.rb +1 -1
  55. data/app/models/spree_cm_commissioner/option_type_decorator.rb +1 -11
  56. data/app/models/spree_cm_commissioner/order_decorator.rb +30 -1
  57. data/app/models/spree_cm_commissioner/pin_code.rb +2 -3
  58. data/app/models/spree_cm_commissioner/place.rb +1 -3
  59. data/app/models/spree_cm_commissioner/price_decorator.rb +9 -0
  60. data/app/models/spree_cm_commissioner/product_decorator.rb +10 -4
  61. data/app/models/spree_cm_commissioner/redis_stock/cached_inventory_items_builder.rb +41 -0
  62. data/app/models/spree_cm_commissioner/redis_stock/inventory_updater.rb +126 -0
  63. data/app/models/spree_cm_commissioner/redis_stock/line_items_cached_inventory_items_builder.rb +36 -0
  64. data/app/models/spree_cm_commissioner/redis_stock/variant_cached_inventory_items_builder.rb +25 -0
  65. data/app/models/spree_cm_commissioner/reserved_block.rb +30 -0
  66. data/app/models/spree_cm_commissioner/seat_layout.rb +20 -0
  67. data/app/models/spree_cm_commissioner/seat_section.rb +16 -0
  68. data/app/models/spree_cm_commissioner/seats/blocks_canceler.rb +30 -0
  69. data/app/models/spree_cm_commissioner/seats/blocks_holder.rb +53 -0
  70. data/app/models/spree_cm_commissioner/seats/blocks_reserver.rb +49 -0
  71. data/app/models/spree_cm_commissioner/seats/errors/blocks_are_on_hold_by_other_guest.rb +4 -0
  72. data/app/models/spree_cm_commissioner/seats/errors/blocks_are_reserved_by_other_guest.rb +4 -0
  73. data/app/models/spree_cm_commissioner/seats/errors/blocks_are_reserved_by_same_guest.rb +4 -0
  74. data/app/models/spree_cm_commissioner/seats/errors/unable_to_save_reserved_block_record.rb +4 -0
  75. data/app/models/spree_cm_commissioner/service_calendar.rb +0 -2
  76. data/app/models/spree_cm_commissioner/state_decorator.rb +0 -1
  77. data/app/models/spree_cm_commissioner/stock/availability_checker.rb +26 -25
  78. data/app/models/spree_cm_commissioner/stock/availability_validator_decorator.rb +2 -1
  79. data/app/models/spree_cm_commissioner/stock/line_item_availability_checker.rb +3 -3
  80. data/app/models/spree_cm_commissioner/stock/order_availability_checker.rb +44 -0
  81. data/app/models/spree_cm_commissioner/stock_item_decorator.rb +17 -0
  82. data/app/models/spree_cm_commissioner/taxon_decorator.rb +0 -2
  83. data/app/models/spree_cm_commissioner/taxonomy_decorator.rb +0 -6
  84. data/app/models/spree_cm_commissioner/trip.rb +20 -6
  85. data/app/models/spree_cm_commissioner/trip_connection.rb +5 -5
  86. data/app/models/spree_cm_commissioner/trip_stop.rb +2 -3
  87. data/app/models/spree_cm_commissioner/user_taxon.rb +0 -1
  88. data/app/models/spree_cm_commissioner/variant_block.rb +9 -0
  89. data/app/models/spree_cm_commissioner/variant_decorator.rb +36 -47
  90. data/app/models/spree_cm_commissioner/variant_options.rb +0 -23
  91. data/app/models/spree_cm_commissioner/vehicle.rb +9 -14
  92. data/app/models/spree_cm_commissioner/vendor_decorator.rb +7 -10
  93. data/app/models/spree_cm_commissioner/vendor_place.rb +6 -5
  94. data/app/models/spree_cm_commissioner/vendor_stop.rb +1 -2
  95. data/app/overrides/spree/admin/variants/_form/kyc_field.html.erb.deface +2 -2
  96. data/app/queries/spree_cm_commissioner/guest_searcher_query.rb +3 -45
  97. data/app/queries/spree_cm_commissioner/trip_query.rb +23 -26
  98. data/app/request_schemas/spree_cm_commissioner/accommodation_request_schema.rb +3 -0
  99. data/app/request_schemas/spree_cm_commissioner/application_request_schema.rb +1 -1
  100. data/app/request_schemas/spree_cm_commissioner/variant_request_schema.rb +19 -0
  101. data/app/serializers/spree/v2/storefront/accommodation_serializer.rb +2 -0
  102. data/app/serializers/spree/v2/storefront/line_item_serializer_decorator.rb +1 -0
  103. data/app/serializers/spree_cm_commissioner/v2/operator/dashboard_crew_event_serializer.rb +1 -4
  104. data/app/serializers/spree_cm_commissioner/v2/storefront/dynamic_field_option_serializer.rb +3 -1
  105. data/app/serializers/spree_cm_commissioner/v2/storefront/dynamic_field_serializer.rb +3 -1
  106. data/app/serializers/spree_cm_commissioner/v2/storefront/guest_dynamic_field_serializer.rb +1 -2
  107. data/app/services/spree_cm_commissioner/organizer/export_guest_csv_service.rb +15 -23
  108. data/app/views/spree/admin/inventory_items/show.html.erb +72 -0
  109. data/app/views/spree/admin/stock_managements/_variant_stock_items.html.erb +7 -2
  110. data/app/views/spree/admin/stock_managements/calendar.html.erb +56 -0
  111. data/app/views/spree/admin/stock_managements/index.html.erb +55 -6
  112. data/app/views/spree/admin/tenants/_form.html.erb +42 -109
  113. data/config/initializers/paper_trail.rb +1 -0
  114. data/config/initializers/spree_permitted_attributes.rb +5 -2
  115. data/config/locales/en.yml +0 -5
  116. data/config/routes.rb +22 -4
  117. data/db/migrate/20240202080634_update_counter_cache_of_vehicle_type.rb +3 -1
  118. data/db/migrate/20250304293518_create_cm_inventory_items.rb +21 -0
  119. data/db/migrate/20250429094228_add_lock_version_to_cm_inventory_items.rb +5 -0
  120. data/db/migrate/20250502025848_add_index_to_spree_products.rb +5 -0
  121. data/db/migrate/20250502030001_add_product_type_to_spree_variants.rb +5 -0
  122. data/db/migrate/20250502030002_add_product_type_to_spree_line_items.rb +5 -0
  123. data/db/migrate/20250603035256_add_inventory_item_to_spree_prices.rb +7 -0
  124. data/db/migrate/20250619073724_drop_table_cm_line_item_seats.rb +5 -0
  125. data/db/migrate/20250619073812_drop_table_cm_vehicle_seats.rb +5 -0
  126. data/db/migrate/20250619073844_drop_table_cm_vehicle_types.rb +9 -0
  127. data/db/migrate/20250619073957_drop_table_cm_option_value_vehicle_types.rb +5 -0
  128. data/db/migrate/20250619082354_remove_unnecessary_fields_from_cm_places.rb +9 -0
  129. data/db/migrate/20250619082736_remove_route_type_from_spree_products.rb +5 -0
  130. data/db/migrate/20250619083055_remove_unnecessary_fields_from_spree_taxons.rb +5 -0
  131. data/db/migrate/20250620083055_remove_variant_id_from_cm_trips.rb +5 -0
  132. data/db/migrate/20250620090000_update_cm_trip_connections_to_use_cm_trips.rb +6 -0
  133. data/db/migrate/20250620090001_create_cm_seat_layouts.rb +17 -0
  134. data/db/migrate/20250620090002_create_cm_seat_sections.rb +18 -0
  135. data/db/migrate/20250620090003_create_cm_blocks.rb +18 -0
  136. data/db/migrate/20250624091005_create_cm_reserved_blocks.rb +29 -0
  137. data/db/migrate/20250626083642_create_cm_variant_blocks.rb +24 -0
  138. data/db/migrate/20250627023314_add_block_id_to_cm_guests.rb +13 -0
  139. data/docker-compose.yml +1 -1
  140. data/lib/cm_app_logger.rb +11 -4
  141. data/lib/generators/spree_cm_commissioner/install/install_generator.rb +14 -11
  142. data/lib/generators/spree_cm_commissioner/install/templates/app/javascript/{spree_cm_commissioner → spree_dashboard/spree_cm_commissioner}/utilities.js +4 -0
  143. data/lib/spree_cm_commissioner/cached_inventory_item.rb +23 -0
  144. data/lib/spree_cm_commissioner/calendar_event.rb +11 -1
  145. data/lib/spree_cm_commissioner/test_helper/factories/block_factory.rb +9 -0
  146. data/lib/spree_cm_commissioner/test_helper/factories/guest_factory.rb +10 -0
  147. data/lib/spree_cm_commissioner/test_helper/factories/homepage_section_relatable_factory.rb +1 -1
  148. data/lib/spree_cm_commissioner/test_helper/factories/inventory_item_factory.rb +9 -0
  149. data/lib/spree_cm_commissioner/test_helper/factories/line_item_factory.rb +1 -1
  150. data/lib/spree_cm_commissioner/test_helper/factories/option_type_factory.rb +6 -30
  151. data/lib/spree_cm_commissioner/test_helper/factories/order_factory.rb +0 -36
  152. data/lib/spree_cm_commissioner/test_helper/factories/product_factory.rb +18 -34
  153. data/lib/spree_cm_commissioner/test_helper/factories/reserved_block_factory.rb +27 -0
  154. data/lib/spree_cm_commissioner/test_helper/factories/seat_layout_factory.rb +8 -0
  155. data/lib/spree_cm_commissioner/test_helper/factories/seat_section_factory.rb +8 -0
  156. data/lib/spree_cm_commissioner/test_helper/factories/stock_location_factory.rb +2 -2
  157. data/lib/spree_cm_commissioner/test_helper/factories/trip_connection_factory.rb +6 -0
  158. data/lib/spree_cm_commissioner/test_helper/factories/trip_factory.rb +10 -3
  159. data/lib/spree_cm_commissioner/test_helper/factories/variant_block_factory.rb +7 -0
  160. data/lib/spree_cm_commissioner/test_helper/factories/variant_factory.rb +41 -19
  161. data/lib/spree_cm_commissioner/test_helper/factories/vehicle_factory.rb +1 -1
  162. data/lib/spree_cm_commissioner/test_helper/factories/vendor_factory.rb +1 -1
  163. data/lib/spree_cm_commissioner/version.rb +1 -1
  164. data/lib/spree_cm_commissioner.rb +35 -1
  165. data/lib/tasks/create_default_non_permanent_inventory_items.rake +16 -0
  166. data/lib/tasks/ensure_correct_product_type.rake +7 -0
  167. data/lib/tasks/generate_inventory_items.rake +7 -0
  168. data/spree_cm_commissioner.gemspec +7 -0
  169. metadata +131 -43
  170. data/app/assets/images/cm-hangmeas-checkout_image.svg +0 -63
  171. data/app/assets/images/cm-hangmeas-failed.svg +0 -56
  172. data/app/assets/images/cm-hangmeas-loader.svg +0 -50
  173. data/app/assets/images/cm-hangmeas-success.svg +0 -51
  174. data/app/assets/javascripts/spree_cm_commissioner/tenant_payment_icon_fields.js +0 -65
  175. data/app/assets/stylesheets/spree_cm_commissioner/backend/tenant_payment_icon_fields.scss +0 -60
  176. data/app/controllers/concerns/spree_cm_commissioner/transit/taxon_bitwise.rb +0 -44
  177. data/app/finders/spree_cm_commissioner/line_items/find_by_variant_decorator.rb +0 -20
  178. data/app/interactors/spree_cm_commissioner/apple_app_site_association_fetcher.rb +0 -27
  179. data/app/interactors/spree_cm_commissioner/asset_links_fetcher.rb +0 -27
  180. data/app/interactors/spree_cm_commissioner/telegram_chats_auto_finder.rb +0 -144
  181. data/app/models/concerns/spree_cm_commissioner/event_check_in_flowable.rb +0 -30
  182. data/app/models/spree_cm_commissioner/branch.rb +0 -12
  183. data/app/models/spree_cm_commissioner/line_item_seat.rb +0 -10
  184. data/app/models/spree_cm_commissioner/option_value_vehicle_type.rb +0 -8
  185. data/app/models/spree_cm_commissioner/pin_code_telegram.rb +0 -28
  186. data/app/models/spree_cm_commissioner/promotion_category_decorator.rb +0 -11
  187. data/app/models/spree_cm_commissioner/stop.rb +0 -23
  188. data/app/models/spree_cm_commissioner/telegram_chat.rb +0 -6
  189. data/app/models/spree_cm_commissioner/vehicle_seat.rb +0 -11
  190. data/app/models/spree_cm_commissioner/vehicle_type.rb +0 -76
  191. data/app/overrides/spree/admin/taxons/_form/check_in_flows.html.erb.deface +0 -18
  192. data/app/queries/spree_cm_commissioner/trip_search_query.rb +0 -76
  193. data/app/queries/spree_cm_commissioner/variant_availability/non_permanent_stock_query.rb +0 -45
  194. data/app/queries/spree_cm_commissioner/variant_availability/permanent_stock_query.rb +0 -55
  195. data/app/services/spree_cm_commissioner/vehicle_option_value_creator.rb +0 -11
  196. data/db/migrate/20250616084219_add_description_to_cm_vendor_place.rb +0 -5
  197. data/db/migrate/20250630103536_create_cm_telegram_chats.rb +0 -13
  198. data/db/migrate/20250701093203_add_configurations_to_cm_dynamic_field.rb +0 -6
  199. data/db/migrate/20250702091305_add_dynamic_field_option_to_guest_dynamic_field.rb +0 -5
  200. data/db/migrate/20250702091935_add_status_to_dynamic_field_option.rb +0 -5
  201. data/db/migrate/20250707032008_add_vendor_id_to_spree_category.rb +0 -7
  202. data/lib/spree_cm_commissioner/test_helper/factories/branch_factory.rb +0 -12
  203. data/lib/spree_cm_commissioner/test_helper/factories/departure_time_option_type_factory.rb +0 -8
  204. data/lib/spree_cm_commissioner/test_helper/factories/duration_option_type_factory.rb +0 -8
  205. data/lib/spree_cm_commissioner/test_helper/factories/line_item_seat_factory.rb +0 -7
  206. data/lib/spree_cm_commissioner/test_helper/factories/stop_factory.rb +0 -14
  207. data/lib/spree_cm_commissioner/test_helper/factories/transit_place_factory.rb +0 -8
  208. data/lib/spree_cm_commissioner/test_helper/factories/vehicle_option_type_factory.rb +0 -8
  209. data/lib/spree_cm_commissioner/test_helper/factories/vehicle_type_factory.rb +0 -96
  210. data/lib/spree_cm_commissioner/trip_seat_layout_result.rb +0 -11
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_cm_commissioner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.2.pre.pre1
4
+ version: 2.0.0.pre.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - You
@@ -464,6 +464,62 @@ dependencies:
464
464
  - - "~>"
465
465
  - !ruby/object:Gem::Version
466
466
  version: '3.2'
467
+ - !ruby/object:Gem::Dependency
468
+ name: paper_trail
469
+ requirement: !ruby/object:Gem::Requirement
470
+ requirements:
471
+ - - "~>"
472
+ - !ruby/object:Gem::Version
473
+ version: '16.0'
474
+ type: :runtime
475
+ prerelease: false
476
+ version_requirements: !ruby/object:Gem::Requirement
477
+ requirements:
478
+ - - "~>"
479
+ - !ruby/object:Gem::Version
480
+ version: '16.0'
481
+ - !ruby/object:Gem::Dependency
482
+ name: redis
483
+ requirement: !ruby/object:Gem::Requirement
484
+ requirements:
485
+ - - ">="
486
+ - !ruby/object:Gem::Version
487
+ version: '0'
488
+ type: :runtime
489
+ prerelease: false
490
+ version_requirements: !ruby/object:Gem::Requirement
491
+ requirements:
492
+ - - ">="
493
+ - !ruby/object:Gem::Version
494
+ version: '0'
495
+ - !ruby/object:Gem::Dependency
496
+ name: redis-rails
497
+ requirement: !ruby/object:Gem::Requirement
498
+ requirements:
499
+ - - ">="
500
+ - !ruby/object:Gem::Version
501
+ version: '0'
502
+ type: :runtime
503
+ prerelease: false
504
+ version_requirements: !ruby/object:Gem::Requirement
505
+ requirements:
506
+ - - ">="
507
+ - !ruby/object:Gem::Version
508
+ version: '0'
509
+ - !ruby/object:Gem::Dependency
510
+ name: connection_pool
511
+ requirement: !ruby/object:Gem::Requirement
512
+ requirements:
513
+ - - ">="
514
+ - !ruby/object:Gem::Version
515
+ version: '0'
516
+ type: :runtime
517
+ prerelease: false
518
+ version_requirements: !ruby/object:Gem::Requirement
519
+ requirements:
520
+ - - ">="
521
+ - !ruby/object:Gem::Version
522
+ version: '0'
467
523
  - !ruby/object:Gem::Dependency
468
524
  name: pg
469
525
  requirement: !ruby/object:Gem::Requirement
@@ -600,10 +656,6 @@ files:
600
656
  - app/assets/images/cm-fitness-room-icon.svg
601
657
  - app/assets/images/cm-front-desk-icon.svg
602
658
  - app/assets/images/cm-hair-dryer-icon.svg
603
- - app/assets/images/cm-hangmeas-checkout_image.svg
604
- - app/assets/images/cm-hangmeas-failed.svg
605
- - app/assets/images/cm-hangmeas-loader.svg
606
- - app/assets/images/cm-hangmeas-success.svg
607
659
  - app/assets/images/cm-hiking-icon.svg
608
660
  - app/assets/images/cm-iron-icon.svg
609
661
  - app/assets/images/cm-lcd-tv-icon.svg
@@ -709,7 +761,6 @@ files:
709
761
  - app/assets/javascripts/spree_cm_commissioner/selected_field_filter_origin_destination.js
710
762
  - app/assets/javascripts/spree_cm_commissioner/telegram.js
711
763
  - app/assets/javascripts/spree_cm_commissioner/telegram/order_confirmation.js
712
- - app/assets/javascripts/spree_cm_commissioner/tenant_payment_icon_fields.js
713
764
  - app/assets/javascripts/spree_cm_commissioner/trip_stop_selection.js
714
765
  - app/assets/javascripts/spree_cm_commissioner/update_popup_confirmation.js
715
766
  - app/assets/javascripts/spree_cm_commissioner/vehicle_seat.js
@@ -719,7 +770,6 @@ files:
719
770
  - app/assets/stylesheets/spree_cm_commissioner/backend/guest_qr_code.scss
720
771
  - app/assets/stylesheets/spree_cm_commissioner/backend/invoice.scss
721
772
  - app/assets/stylesheets/spree_cm_commissioner/backend/service_calendar.scss
722
- - app/assets/stylesheets/spree_cm_commissioner/backend/tenant_payment_icon_fields.scss
723
773
  - app/assets/stylesheets/spree_cm_commissioner/backend/vehicle_seat.scss
724
774
  - app/assets/stylesheets/spree_cm_commissioner/telegram.css
725
775
  - app/assets/stylesheets/spree_cm_commissioner/telegram/telegram_bot.css.scss
@@ -734,7 +784,6 @@ files:
734
784
  - app/controllers/concerns/spree_cm_commissioner/events/role_authorization.rb
735
785
  - app/controllers/concerns/spree_cm_commissioner/exception_notificable.rb
736
786
  - app/controllers/concerns/spree_cm_commissioner/order_concern.rb
737
- - app/controllers/concerns/spree_cm_commissioner/transit/taxon_bitwise.rb
738
787
  - app/controllers/concerns/spree_cm_commissioner/waiting_room_authorization.rb
739
788
  - app/controllers/spree/admin/account_deletions_controller.rb
740
789
  - app/controllers/spree/admin/base_controller_decorator.rb
@@ -761,6 +810,7 @@ files:
761
810
  - app/controllers/spree/admin/id_cards_controller.rb
762
811
  - app/controllers/spree/admin/import_existing_orders_controller.rb
763
812
  - app/controllers/spree/admin/import_new_orders_controller.rb
813
+ - app/controllers/spree/admin/inventory_items_controller.rb
764
814
  - app/controllers/spree/admin/kyc_controller.rb
765
815
  - app/controllers/spree/admin/line_items_controller.rb
766
816
  - app/controllers/spree/admin/master_variant_controller.rb
@@ -830,6 +880,7 @@ files:
830
880
  - app/controllers/spree/api/v2/platform/seat_number_layouts_controller.rb
831
881
  - app/controllers/spree/api/v2/platform/taxons_controller_decorator.rb
832
882
  - app/controllers/spree/api/v2/resource_controller_decorator.rb
883
+ - app/controllers/spree/api/v2/storefront/accommodations/variants_controller.rb
833
884
  - app/controllers/spree/api/v2/storefront/accommodations_controller.rb
834
885
  - app/controllers/spree/api/v2/storefront/account/orders_controller_decorator.rb
835
886
  - app/controllers/spree/api/v2/storefront/account/preferred_payment_method_controller.rb
@@ -1007,7 +1058,8 @@ files:
1007
1058
  - app/factory/spree_cm_commissioner/invite_guest_claimed_telegram_message_factory.rb
1008
1059
  - app/factory/spree_cm_commissioner/order_telegram_message_factory.rb
1009
1060
  - app/factory/spree_cm_commissioner/telegram_message_factory.rb
1010
- - app/finders/spree_cm_commissioner/line_items/find_by_variant_decorator.rb
1061
+ - app/finders/spree_cm_commissioner/accommodations/find.rb
1062
+ - app/finders/spree_cm_commissioner/accommodations/find_variant.rb
1011
1063
  - app/finders/spree_cm_commissioner/orders/find.rb
1012
1064
  - app/finders/spree_cm_commissioner/orders/find_by_state.rb
1013
1065
  - app/finders/spree_cm_commissioner/payment_methods/group_by_bank.rb
@@ -1038,9 +1090,7 @@ files:
1038
1090
  - app/interactors/spree_cm_commissioner/account_linkage.rb
1039
1091
  - app/interactors/spree_cm_commissioner/account_recover.rb
1040
1092
  - app/interactors/spree_cm_commissioner/account_updater.rb
1041
- - app/interactors/spree_cm_commissioner/apple_app_site_association_fetcher.rb
1042
1093
  - app/interactors/spree_cm_commissioner/apply_service_availability.rb
1043
- - app/interactors/spree_cm_commissioner/asset_links_fetcher.rb
1044
1094
  - app/interactors/spree_cm_commissioner/base_interactor.rb
1045
1095
  - app/interactors/spree_cm_commissioner/bib_number_swapper.rb
1046
1096
  - app/interactors/spree_cm_commissioner/chatrace_order_creator.rb
@@ -1057,6 +1107,7 @@ files:
1057
1107
  - app/interactors/spree_cm_commissioner/customer_promotion_creator.rb
1058
1108
  - app/interactors/spree_cm_commissioner/enqueue_cart/add_item.rb
1059
1109
  - app/interactors/spree_cm_commissioner/enqueue_cart/add_item_status_marker.rb
1110
+ - app/interactors/spree_cm_commissioner/ensure_correct_product_type.rb
1060
1111
  - app/interactors/spree_cm_commissioner/event_line_items_date_syncer.rb
1061
1112
  - app/interactors/spree_cm_commissioner/event_qr_generator.rb
1062
1113
  - app/interactors/spree_cm_commissioner/existing_account_checker.rb
@@ -1072,6 +1123,7 @@ files:
1072
1123
  - app/interactors/spree_cm_commissioner/imported_csv_downloader.rb
1073
1124
  - app/interactors/spree_cm_commissioner/international_mobile_formatter.rb
1074
1125
  - app/interactors/spree_cm_commissioner/invalidate_cache_request.rb
1126
+ - app/interactors/spree_cm_commissioner/inventory_item_syncer.rb
1075
1127
  - app/interactors/spree_cm_commissioner/invoice_creator.rb
1076
1128
  - app/interactors/spree_cm_commissioner/media/signed_cookie_generator.rb
1077
1129
  - app/interactors/spree_cm_commissioner/media/signed_path_generator.rb
@@ -1106,10 +1158,14 @@ files:
1106
1158
  - app/interactors/spree_cm_commissioner/sms.rb
1107
1159
  - app/interactors/spree_cm_commissioner/sqs/media_convert_job_status.rb
1108
1160
  - app/interactors/spree_cm_commissioner/state_updater.rb
1161
+ - app/interactors/spree_cm_commissioner/stock/inventory_item_resetter.rb
1162
+ - app/interactors/spree_cm_commissioner/stock/inventory_items_adjuster.rb
1163
+ - app/interactors/spree_cm_commissioner/stock/inventory_items_generator.rb
1164
+ - app/interactors/spree_cm_commissioner/stock/permanent_inventory_items_generator.rb
1165
+ - app/interactors/spree_cm_commissioner/stock/stock_movement_creator.rb
1109
1166
  - app/interactors/spree_cm_commissioner/subscriptions_order_creator.rb
1110
1167
  - app/interactors/spree_cm_commissioner/subscriptions_order_cron_executor.rb
1111
1168
  - app/interactors/spree_cm_commissioner/subscriptions_prepaid_order_creator.rb
1112
- - app/interactors/spree_cm_commissioner/telegram_chats_auto_finder.rb
1113
1169
  - app/interactors/spree_cm_commissioner/telegram_chats_finder.rb
1114
1170
  - app/interactors/spree_cm_commissioner/telegram_debug_pin_code_sender.rb
1115
1171
  - app/interactors/spree_cm_commissioner/telegram_notification_sender.rb
@@ -1155,6 +1211,7 @@ files:
1155
1211
  - app/jobs/spree_cm_commissioner/customer_notification_cron_job.rb
1156
1212
  - app/jobs/spree_cm_commissioner/customer_notification_sender_job.rb
1157
1213
  - app/jobs/spree_cm_commissioner/enqueue_cart/add_item_job.rb
1214
+ - app/jobs/spree_cm_commissioner/ensure_correct_product_type_job.rb
1158
1215
  - app/jobs/spree_cm_commissioner/ensure_event_for_product_line_item_guests_job.rb
1159
1216
  - app/jobs/spree_cm_commissioner/ensure_event_id_for_guests_job.rb
1160
1217
  - app/jobs/spree_cm_commissioner/event_line_items_date_syncer_job.rb
@@ -1162,6 +1219,7 @@ files:
1162
1219
  - app/jobs/spree_cm_commissioner/firebase_email_fetcher_job.rb
1163
1220
  - app/jobs/spree_cm_commissioner/import_order_job.rb
1164
1221
  - app/jobs/spree_cm_commissioner/invalidate_cache_request_job.rb
1222
+ - app/jobs/spree_cm_commissioner/inventory_item_syncer_job.rb
1165
1223
  - app/jobs/spree_cm_commissioner/option_type_variants_public_metadata_updater_job.rb
1166
1224
  - app/jobs/spree_cm_commissioner/option_value_variants_public_metadata_updater_job.rb
1167
1225
  - app/jobs/spree_cm_commissioner/order_complete_telegram_sender_job.rb
@@ -1170,6 +1228,9 @@ files:
1170
1228
  - app/jobs/spree_cm_commissioner/sms_job.rb
1171
1229
  - app/jobs/spree_cm_commissioner/sms_pin_code_job.rb
1172
1230
  - app/jobs/spree_cm_commissioner/state_job.rb
1231
+ - app/jobs/spree_cm_commissioner/stock/inventory_items_adjuster_job.rb
1232
+ - app/jobs/spree_cm_commissioner/stock/inventory_items_generator_job.rb
1233
+ - app/jobs/spree_cm_commissioner/stock/permanent_inventory_items_generator_job.rb
1173
1234
  - app/jobs/spree_cm_commissioner/subscription_order_executor_job.rb
1174
1235
  - app/jobs/spree_cm_commissioner/telegram_debug_pin_code_sender_job.rb
1175
1236
  - app/jobs/spree_cm_commissioner/telegram_notification_sender_job.rb
@@ -1188,7 +1249,6 @@ files:
1188
1249
  - app/mailers/spree_cm_commissioner/pin_code_mailer.rb
1189
1250
  - app/mailers/spree_cm_commissioner/team_invite_mailer.rb
1190
1251
  - app/models/.gitkeep
1191
- - app/models/concerns/spree_cm_commissioner/event_check_in_flowable.rb
1192
1252
  - app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb
1193
1253
  - app/models/concerns/spree_cm_commissioner/json_preference_validator.rb
1194
1254
  - app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb
@@ -1198,6 +1258,7 @@ files:
1198
1258
  - app/models/concerns/spree_cm_commissioner/metafield.rb
1199
1259
  - app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb
1200
1260
  - app/models/concerns/spree_cm_commissioner/option_value_attr_type.rb
1261
+ - app/models/concerns/spree_cm_commissioner/order_seatable.rb
1201
1262
  - app/models/concerns/spree_cm_commissioner/order_state_machine.rb
1202
1263
  - app/models/concerns/spree_cm_commissioner/parameterize_name.rb
1203
1264
  - app/models/concerns/spree_cm_commissioner/participation_type_bitwise.rb
@@ -1225,7 +1286,7 @@ files:
1225
1286
  - app/models/spree_cm_commissioner/asset.rb
1226
1287
  - app/models/spree_cm_commissioner/back_image.rb
1227
1288
  - app/models/spree_cm_commissioner/base.rb
1228
- - app/models/spree_cm_commissioner/branch.rb
1289
+ - app/models/spree_cm_commissioner/block.rb
1229
1290
  - app/models/spree_cm_commissioner/check_in.rb
1230
1291
  - app/models/spree_cm_commissioner/check_in_ability.rb
1231
1292
  - app/models/spree_cm_commissioner/check_in_record.rb
@@ -1273,6 +1334,8 @@ files:
1273
1334
  - app/models/spree_cm_commissioner/image_methods_decorator.rb
1274
1335
  - app/models/spree_cm_commissioner/import.rb
1275
1336
  - app/models/spree_cm_commissioner/imports/import_order.rb
1337
+ - app/models/spree_cm_commissioner/inventory.rb
1338
+ - app/models/spree_cm_commissioner/inventory_item.rb
1276
1339
  - app/models/spree_cm_commissioner/invite.rb
1277
1340
  - app/models/spree_cm_commissioner/invite_guest.rb
1278
1341
  - app/models/spree_cm_commissioner/invite_team.rb
@@ -1280,7 +1343,6 @@ files:
1280
1343
  - app/models/spree_cm_commissioner/invite_user_taxon.rb
1281
1344
  - app/models/spree_cm_commissioner/invoice.rb
1282
1345
  - app/models/spree_cm_commissioner/line_item_decorator.rb
1283
- - app/models/spree_cm_commissioner/line_item_seat.rb
1284
1346
  - app/models/spree_cm_commissioner/notification.rb
1285
1347
  - app/models/spree_cm_commissioner/notification_taxon.rb
1286
1348
  - app/models/spree_cm_commissioner/oauth_access_token_decorator.rb
@@ -1288,7 +1350,6 @@ files:
1288
1350
  - app/models/spree_cm_commissioner/option_type_decorator.rb
1289
1351
  - app/models/spree_cm_commissioner/option_value_decorator.rb
1290
1352
  - app/models/spree_cm_commissioner/option_value_vehicle.rb
1291
- - app/models/spree_cm_commissioner/option_value_vehicle_type.rb
1292
1353
  - app/models/spree_cm_commissioner/option_value_vendor.rb
1293
1354
  - app/models/spree_cm_commissioner/order/address_book_decorator.rb
1294
1355
  - app/models/spree_cm_commissioner/order_decorator.rb
@@ -1304,9 +1365,9 @@ files:
1304
1365
  - app/models/spree_cm_commissioner/pin_code_mobile_confirm.rb
1305
1366
  - app/models/spree_cm_commissioner/pin_code_otp.rb
1306
1367
  - app/models/spree_cm_commissioner/pin_code_registration.rb
1307
- - app/models/spree_cm_commissioner/pin_code_telegram.rb
1308
1368
  - app/models/spree_cm_commissioner/pin_code_update_user_login.rb
1309
1369
  - app/models/spree_cm_commissioner/place.rb
1370
+ - app/models/spree_cm_commissioner/price_decorator.rb
1310
1371
  - app/models/spree_cm_commissioner/product_completion_step.rb
1311
1372
  - app/models/spree_cm_commissioner/product_completion_steps/chatrace_telegram.rb
1312
1373
  - app/models/spree_cm_commissioner/product_decorator.rb
@@ -1324,14 +1385,27 @@ files:
1324
1385
  - app/models/spree_cm_commissioner/promotion/rules/guest_occupations.rb
1325
1386
  - app/models/spree_cm_commissioner/promotion/rules/vendors.rb
1326
1387
  - app/models/spree_cm_commissioner/promotion/rules/weekend.rb
1327
- - app/models/spree_cm_commissioner/promotion_category_decorator.rb
1328
1388
  - app/models/spree_cm_commissioner/promotion_decorator.rb
1329
1389
  - app/models/spree_cm_commissioner/property_decorator.rb
1330
1390
  - app/models/spree_cm_commissioner/prototype_decorator.rb
1391
+ - app/models/spree_cm_commissioner/redis_stock/cached_inventory_items_builder.rb
1392
+ - app/models/spree_cm_commissioner/redis_stock/inventory_updater.rb
1393
+ - app/models/spree_cm_commissioner/redis_stock/line_items_cached_inventory_items_builder.rb
1394
+ - app/models/spree_cm_commissioner/redis_stock/variant_cached_inventory_items_builder.rb
1395
+ - app/models/spree_cm_commissioner/reserved_block.rb
1331
1396
  - app/models/spree_cm_commissioner/role_decorator.rb
1332
1397
  - app/models/spree_cm_commissioner/role_permission.rb
1333
1398
  - app/models/spree_cm_commissioner/s3_presigned_url.rb
1334
1399
  - app/models/spree_cm_commissioner/s3_presigned_url_builder.rb
1400
+ - app/models/spree_cm_commissioner/seat_layout.rb
1401
+ - app/models/spree_cm_commissioner/seat_section.rb
1402
+ - app/models/spree_cm_commissioner/seats/blocks_canceler.rb
1403
+ - app/models/spree_cm_commissioner/seats/blocks_holder.rb
1404
+ - app/models/spree_cm_commissioner/seats/blocks_reserver.rb
1405
+ - app/models/spree_cm_commissioner/seats/errors/blocks_are_on_hold_by_other_guest.rb
1406
+ - app/models/spree_cm_commissioner/seats/errors/blocks_are_reserved_by_other_guest.rb
1407
+ - app/models/spree_cm_commissioner/seats/errors/blocks_are_reserved_by_same_guest.rb
1408
+ - app/models/spree_cm_commissioner/seats/errors/unable_to_save_reserved_block_record.rb
1335
1409
  - app/models/spree_cm_commissioner/service_calendar.rb
1336
1410
  - app/models/spree_cm_commissioner/sms_log.rb
1337
1411
  - app/models/spree_cm_commissioner/state_change_decorator.rb
@@ -1340,9 +1414,9 @@ files:
1340
1414
  - app/models/spree_cm_commissioner/stock/availability_validator_decorator.rb
1341
1415
  - app/models/spree_cm_commissioner/stock/inventory_unit_builder_decorator.rb
1342
1416
  - app/models/spree_cm_commissioner/stock/line_item_availability_checker.rb
1417
+ - app/models/spree_cm_commissioner/stock/order_availability_checker.rb
1343
1418
  - app/models/spree_cm_commissioner/stock_item_decorator.rb
1344
1419
  - app/models/spree_cm_commissioner/stock_location_decorator.rb
1345
- - app/models/spree_cm_commissioner/stop.rb
1346
1420
  - app/models/spree_cm_commissioner/store_decorator.rb
1347
1421
  - app/models/spree_cm_commissioner/subscription.rb
1348
1422
  - app/models/spree_cm_commissioner/taxon_app_banner.rb
@@ -1359,7 +1433,6 @@ files:
1359
1433
  - app/models/spree_cm_commissioner/taxon_web_banner.rb
1360
1434
  - app/models/spree_cm_commissioner/taxonomy_decorator.rb
1361
1435
  - app/models/spree_cm_commissioner/telegram_bot.rb
1362
- - app/models/spree_cm_commissioner/telegram_chat.rb
1363
1436
  - app/models/spree_cm_commissioner/tenant.rb
1364
1437
  - app/models/spree_cm_commissioner/transactional_email.rb
1365
1438
  - app/models/spree_cm_commissioner/trip.rb
@@ -1373,6 +1446,7 @@ files:
1373
1446
  - app/models/spree_cm_commissioner/user_place.rb
1374
1447
  - app/models/spree_cm_commissioner/user_profile.rb
1375
1448
  - app/models/spree_cm_commissioner/user_taxon.rb
1449
+ - app/models/spree_cm_commissioner/variant_block.rb
1376
1450
  - app/models/spree_cm_commissioner/variant_decorator.rb
1377
1451
  - app/models/spree_cm_commissioner/variant_guest_card_class.rb
1378
1452
  - app/models/spree_cm_commissioner/variant_options.rb
@@ -1380,8 +1454,6 @@ files:
1380
1454
  - app/models/spree_cm_commissioner/vehicle.rb
1381
1455
  - app/models/spree_cm_commissioner/vehicle_option_type.rb
1382
1456
  - app/models/spree_cm_commissioner/vehicle_photo.rb
1383
- - app/models/spree_cm_commissioner/vehicle_seat.rb
1384
- - app/models/spree_cm_commissioner/vehicle_type.rb
1385
1457
  - app/models/spree_cm_commissioner/vendor_app_promotion_banner.rb
1386
1458
  - app/models/spree_cm_commissioner/vendor_decorator.rb
1387
1459
  - app/models/spree_cm_commissioner/vendor_logo.rb
@@ -1497,7 +1569,6 @@ files:
1497
1569
  - app/overrides/spree/admin/taxons/_form/assets_form.html.erb.deface
1498
1570
  - app/overrides/spree/admin/taxons/_form/available_on.html.erb.deface
1499
1571
  - app/overrides/spree/admin/taxons/_form/background_color_and_foreground_color.html.erb.deface
1500
- - app/overrides/spree/admin/taxons/_form/check_in_flows.html.erb.deface
1501
1572
  - app/overrides/spree/admin/taxons/_form/custom_redirect_url.html.erb.deface
1502
1573
  - app/overrides/spree/admin/taxons/_form/hide_video_banner.html.erb.deface
1503
1574
  - app/overrides/spree/admin/taxons/_form/kind_html.erb.deface
@@ -1552,17 +1623,15 @@ files:
1552
1623
  - app/queries/spree_cm_commissioner/subscription_revenue_overview_query.rb
1553
1624
  - app/queries/spree_cm_commissioner/tickets_searcher_query.rb
1554
1625
  - app/queries/spree_cm_commissioner/trip_query.rb
1555
- - app/queries/spree_cm_commissioner/trip_search_query.rb
1556
1626
  - app/queries/spree_cm_commissioner/trip_seat_layout_query.rb
1557
1627
  - app/queries/spree_cm_commissioner/users_by_event_fetcher_query.rb
1558
- - app/queries/spree_cm_commissioner/variant_availability/non_permanent_stock_query.rb
1559
- - app/queries/spree_cm_commissioner/variant_availability/permanent_stock_query.rb
1560
1628
  - app/queries/spree_cm_commissioner/vendor_stop_place_query.rb
1561
1629
  - app/request_schemas/spree_cm_commissioner/accommodation_request_schema.rb
1562
1630
  - app/request_schemas/spree_cm_commissioner/application_request_schema.rb
1563
1631
  - app/request_schemas/spree_cm_commissioner/profile_image_request_schema.rb
1564
1632
  - app/request_schemas/spree_cm_commissioner/user_account_linkage_request_schema.rb
1565
1633
  - app/request_schemas/spree_cm_commissioner/user_profile_request_schema.rb
1634
+ - app/request_schemas/spree_cm_commissioner/variant_request_schema.rb
1566
1635
  - app/serializables/spree_cm_commissioner/event_ticket_aggregator.rb
1567
1636
  - app/serializables/spree_cm_commissioner/pie_chart_event_aggregator.rb
1568
1637
  - app/serializables/spree_cm_commissioner/queue_item.rb
@@ -1746,7 +1815,6 @@ files:
1746
1815
  - app/services/spree_cm_commissioner/seeds/roles_decorator.rb
1747
1816
  - app/services/spree_cm_commissioner/user_authenticator.rb
1748
1817
  - app/services/spree_cm_commissioner/user_roles_assigner.rb
1749
- - app/services/spree_cm_commissioner/vehicle_option_value_creator.rb
1750
1818
  - app/services/spree_cm_commissioner/waiting_room_system_metadata_fetcher.rb
1751
1819
  - app/services/spree_cm_commissioner/waiting_room_system_metadata_setter.rb
1752
1820
  - app/services/spree_cm_commissioner/webhooks/subscribers/handle_request_decorator.rb
@@ -1838,6 +1906,7 @@ files:
1838
1906
  - app/views/spree/admin/import_new_orders/index.html.erb
1839
1907
  - app/views/spree/admin/import_new_orders/new.html.erb
1840
1908
  - app/views/spree/admin/import_new_orders/show.html.erb
1909
+ - app/views/spree/admin/inventory_items/show.html.erb
1841
1910
  - app/views/spree/admin/kyc/_form.html.erb
1842
1911
  - app/views/spree/admin/kyc/edit.html.erb
1843
1912
  - app/views/spree/admin/line_items/_form.html.erb
@@ -1899,6 +1968,7 @@ files:
1899
1968
  - app/views/spree/admin/shared/sub_menu/_calendar.html.erb
1900
1969
  - app/views/spree/admin/shared/sub_menu/_homepage.html.erb
1901
1970
  - app/views/spree/admin/stock_managements/_variant_stock_items.html.erb
1971
+ - app/views/spree/admin/stock_managements/calendar.html.erb
1902
1972
  - app/views/spree/admin/stock_managements/index.html.erb
1903
1973
  - app/views/spree/admin/system/show.html.erb
1904
1974
  - app/views/spree/admin/taxon_childrens/index.html.erb
@@ -2191,6 +2261,7 @@ files:
2191
2261
  - config/initializers/doorkeeper.rb
2192
2262
  - config/initializers/exception_notification.rb
2193
2263
  - config/initializers/google_map.rb
2264
+ - config/initializers/paper_trail.rb
2194
2265
  - config/initializers/phonelib.rb
2195
2266
  - config/initializers/premailer_rails.rb
2196
2267
  - config/initializers/recaptcha_enterprise.rb
@@ -2475,6 +2546,7 @@ files:
2475
2546
  - db/migrate/20250304101907_create_spree_cm_commissioner_invite.rb
2476
2547
  - db/migrate/20250304101946_create_spree_cm_commissioner_invite_user_taxon.rb
2477
2548
  - db/migrate/20250304155234_add_meta_data_to_spree_vendors.rb
2549
+ - db/migrate/20250304293518_create_cm_inventory_items.rb
2478
2550
  - db/migrate/20250307013422_add_parent_id_to_cm_place.rb
2479
2551
  - db/migrate/20250307073003_add_tenant_id_to_cm_customer_notifications.rb
2480
2552
  - db/migrate/20250307083809_remove_tenant_id_from_cm_notifications.rb
@@ -2495,8 +2567,12 @@ files:
2495
2567
  - db/migrate/20250425084929_add_description_to_spree_prototypes.rb
2496
2568
  - db/migrate/20250425085938_add_preferences_to_spree_prototypes.rb
2497
2569
  - db/migrate/20250428025645_add_slug_to_spree_prototypes.rb
2570
+ - db/migrate/20250429094228_add_lock_version_to_cm_inventory_items.rb
2498
2571
  - db/migrate/20250430091742_create_cm_taxon_option_types.rb
2499
2572
  - db/migrate/20250430092928_create_cm_taxon_option_values.rb
2573
+ - db/migrate/20250502025848_add_index_to_spree_products.rb
2574
+ - db/migrate/20250502030001_add_product_type_to_spree_variants.rb
2575
+ - db/migrate/20250502030002_add_product_type_to_spree_line_items.rb
2500
2576
  - db/migrate/20250506092929_add_trip_count_to_cm_vendor_stops.rb
2501
2577
  - db/migrate/20250509033437_create_spree_cm_commissioner_transactional_emails.rb
2502
2578
  - db/migrate/20250509075429_add_max_order_quantity_to_spree_product.rb
@@ -2513,6 +2589,7 @@ files:
2513
2589
  - db/migrate/20250531074036_create_spree_cm_commissioner_option_value_vehicle.rb
2514
2590
  - db/migrate/20250531074258_create_spree_cm_commissioner_vehicle_option_types.rb
2515
2591
  - db/migrate/20250602094751_add_host_to_cm_tenants.rb
2592
+ - db/migrate/20250603035256_add_inventory_item_to_spree_prices.rb
2516
2593
  - db/migrate/20250605024523_add_participation_type_to_spree_taxon.rb
2517
2594
  - db/migrate/20250606020914_create_cm_dynamic_fields.rb
2518
2595
  - db/migrate/20250606020958_create_cm_guest_dynamic_fields.rb
@@ -2522,12 +2599,21 @@ files:
2522
2599
  - db/migrate/20250610080108_add_contact_to_cm_guests.rb
2523
2600
  - db/migrate/20250611023548_add_country_code_to_guests.rb
2524
2601
  - db/migrate/20250612035937_add_intel_phone_number_to_guests.rb
2525
- - db/migrate/20250616084219_add_description_to_cm_vendor_place.rb
2526
- - db/migrate/20250630103536_create_cm_telegram_chats.rb
2527
- - db/migrate/20250701093203_add_configurations_to_cm_dynamic_field.rb
2528
- - db/migrate/20250702091305_add_dynamic_field_option_to_guest_dynamic_field.rb
2529
- - db/migrate/20250702091935_add_status_to_dynamic_field_option.rb
2530
- - db/migrate/20250707032008_add_vendor_id_to_spree_category.rb
2602
+ - db/migrate/20250619073724_drop_table_cm_line_item_seats.rb
2603
+ - db/migrate/20250619073812_drop_table_cm_vehicle_seats.rb
2604
+ - db/migrate/20250619073844_drop_table_cm_vehicle_types.rb
2605
+ - db/migrate/20250619073957_drop_table_cm_option_value_vehicle_types.rb
2606
+ - db/migrate/20250619082354_remove_unnecessary_fields_from_cm_places.rb
2607
+ - db/migrate/20250619082736_remove_route_type_from_spree_products.rb
2608
+ - db/migrate/20250619083055_remove_unnecessary_fields_from_spree_taxons.rb
2609
+ - db/migrate/20250620083055_remove_variant_id_from_cm_trips.rb
2610
+ - db/migrate/20250620090000_update_cm_trip_connections_to_use_cm_trips.rb
2611
+ - db/migrate/20250620090001_create_cm_seat_layouts.rb
2612
+ - db/migrate/20250620090002_create_cm_seat_sections.rb
2613
+ - db/migrate/20250620090003_create_cm_blocks.rb
2614
+ - db/migrate/20250624091005_create_cm_reserved_blocks.rb
2615
+ - db/migrate/20250626083642_create_cm_variant_blocks.rb
2616
+ - db/migrate/20250627023314_add_block_id_to_cm_guests.rb
2531
2617
  - docker-compose.yml
2532
2618
  - docs/option_types/attr_types.md
2533
2619
  - docs/private_key.pem
@@ -2542,11 +2628,12 @@ files:
2542
2628
  - docs/webhook/sqs/params_job_submitted.json
2543
2629
  - lib/cm_app_logger.rb
2544
2630
  - lib/generators/spree_cm_commissioner/install/install_generator.rb
2545
- - lib/generators/spree_cm_commissioner/install/templates/app/javascript/spree_cm_commissioner/utilities.js
2631
+ - lib/generators/spree_cm_commissioner/install/templates/app/javascript/spree_dashboard/spree_cm_commissioner/utilities.js
2546
2632
  - lib/generators/spree_cm_commissioner/install/templates/config/data/nationalities.yml
2547
2633
  - lib/generators/spree_cm_commissioner/install/templates/vendor/assets/javascript/spree_cm_commissioner/telegram/all.js
2548
2634
  - lib/generators/spree_cm_commissioner/install/templates/vendor/assets/stylesheets/spree_cm_commissioner/telegram/all.css
2549
2635
  - lib/spree_cm_commissioner.rb
2636
+ - lib/spree_cm_commissioner/cached_inventory_item.rb
2550
2637
  - lib/spree_cm_commissioner/calendar_event.rb
2551
2638
  - lib/spree_cm_commissioner/engine.rb
2552
2639
  - lib/spree_cm_commissioner/factories.rb
@@ -2559,16 +2646,14 @@ files:
2559
2646
  - lib/spree_cm_commissioner/test_helper/factories/address_factory.rb
2560
2647
  - lib/spree_cm_commissioner/test_helper/factories/asset_factory.rb
2561
2648
  - lib/spree_cm_commissioner/test_helper/factories/back_image_factory.rb
2562
- - lib/spree_cm_commissioner/test_helper/factories/branch_factory.rb
2649
+ - lib/spree_cm_commissioner/test_helper/factories/block_factory.rb
2563
2650
  - lib/spree_cm_commissioner/test_helper/factories/check_in_factory.rb
2564
2651
  - lib/spree_cm_commissioner/test_helper/factories/cms_page_factory.rb
2565
2652
  - lib/spree_cm_commissioner/test_helper/factories/country_factory.rb
2566
2653
  - lib/spree_cm_commissioner/test_helper/factories/customer_factory.rb
2567
2654
  - lib/spree_cm_commissioner/test_helper/factories/customer_notification_factory.rb
2568
2655
  - lib/spree_cm_commissioner/test_helper/factories/customers_taxons_factory.rb
2569
- - lib/spree_cm_commissioner/test_helper/factories/departure_time_option_type_factory.rb
2570
2656
  - lib/spree_cm_commissioner/test_helper/factories/device_token_factory.rb
2571
- - lib/spree_cm_commissioner/test_helper/factories/duration_option_type_factory.rb
2572
2657
  - lib/spree_cm_commissioner/test_helper/factories/export_guest_csv_factory.rb
2573
2658
  - lib/spree_cm_commissioner/test_helper/factories/front_image_factory.rb
2574
2659
  - lib/spree_cm_commissioner/test_helper/factories/guest_factory.rb
@@ -2582,11 +2667,11 @@ files:
2582
2667
  - lib/spree_cm_commissioner/test_helper/factories/homepage_section_relatable_factory.rb
2583
2668
  - lib/spree_cm_commissioner/test_helper/factories/id_card_factory.rb
2584
2669
  - lib/spree_cm_commissioner/test_helper/factories/image_factory.rb
2670
+ - lib/spree_cm_commissioner/test_helper/factories/inventory_item_factory.rb
2585
2671
  - lib/spree_cm_commissioner/test_helper/factories/invite_factory.rb
2586
2672
  - lib/spree_cm_commissioner/test_helper/factories/invite_guests_factory.rb
2587
2673
  - lib/spree_cm_commissioner/test_helper/factories/invite_user_event_factory.rb
2588
2674
  - lib/spree_cm_commissioner/test_helper/factories/line_item_factory.rb
2589
- - lib/spree_cm_commissioner/test_helper/factories/line_item_seat_factory.rb
2590
2675
  - lib/spree_cm_commissioner/test_helper/factories/notification_factory.rb
2591
2676
  - lib/spree_cm_commissioner/test_helper/factories/notification_taxons_factory.rb
2592
2677
  - lib/spree_cm_commissioner/test_helper/factories/oauth_access_token_factory.rb
@@ -2602,13 +2687,15 @@ files:
2602
2687
  - lib/spree_cm_commissioner/test_helper/factories/product_factory.rb
2603
2688
  - lib/spree_cm_commissioner/test_helper/factories/products_taxons_factory.rb
2604
2689
  - lib/spree_cm_commissioner/test_helper/factories/promotion_factory.rb
2690
+ - lib/spree_cm_commissioner/test_helper/factories/reserved_block_factory.rb
2605
2691
  - lib/spree_cm_commissioner/test_helper/factories/role.rb
2606
2692
  - lib/spree_cm_commissioner/test_helper/factories/role_permission_factory.rb
2693
+ - lib/spree_cm_commissioner/test_helper/factories/seat_layout_factory.rb
2694
+ - lib/spree_cm_commissioner/test_helper/factories/seat_section_factory.rb
2607
2695
  - lib/spree_cm_commissioner/test_helper/factories/service_calendar_factory.rb
2608
2696
  - lib/spree_cm_commissioner/test_helper/factories/sms_logs.rb
2609
2697
  - lib/spree_cm_commissioner/test_helper/factories/state_factory.rb
2610
2698
  - lib/spree_cm_commissioner/test_helper/factories/stock_location_factory.rb
2611
- - lib/spree_cm_commissioner/test_helper/factories/stop_factory.rb
2612
2699
  - lib/spree_cm_commissioner/test_helper/factories/subscription_factory.rb
2613
2700
  - lib/spree_cm_commissioner/test_helper/factories/taxon_brand_logo_factory.rb
2614
2701
  - lib/spree_cm_commissioner/test_helper/factories/taxon_category_icon.rb
@@ -2618,16 +2705,15 @@ files:
2618
2705
  - lib/spree_cm_commissioner/test_helper/factories/telegram_bot_factory.rb
2619
2706
  - lib/spree_cm_commissioner/test_helper/factories/tenant_factory.rb
2620
2707
  - lib/spree_cm_commissioner/test_helper/factories/transactional_email_factory.rb
2621
- - lib/spree_cm_commissioner/test_helper/factories/transit_place_factory.rb
2708
+ - lib/spree_cm_commissioner/test_helper/factories/trip_connection_factory.rb
2622
2709
  - lib/spree_cm_commissioner/test_helper/factories/trip_factory.rb
2623
2710
  - lib/spree_cm_commissioner/test_helper/factories/user_deletion_reasons_factory.rb
2624
2711
  - lib/spree_cm_commissioner/test_helper/factories/user_event_factory.rb
2625
2712
  - lib/spree_cm_commissioner/test_helper/factories/user_factory.rb
2626
2713
  - lib/spree_cm_commissioner/test_helper/factories/user_identity_provider_factory.rb
2714
+ - lib/spree_cm_commissioner/test_helper/factories/variant_block_factory.rb
2627
2715
  - lib/spree_cm_commissioner/test_helper/factories/variant_factory.rb
2628
2716
  - lib/spree_cm_commissioner/test_helper/factories/vehicle_factory.rb
2629
- - lib/spree_cm_commissioner/test_helper/factories/vehicle_option_type_factory.rb
2630
- - lib/spree_cm_commissioner/test_helper/factories/vehicle_type_factory.rb
2631
2717
  - lib/spree_cm_commissioner/test_helper/factories/vendor_factory.rb
2632
2718
  - lib/spree_cm_commissioner/test_helper/factories/vendor_logo_factory.rb
2633
2719
  - lib/spree_cm_commissioner/test_helper/factories/vendor_photo_factory.rb
@@ -2637,14 +2723,16 @@ files:
2637
2723
  - lib/spree_cm_commissioner/test_helper/factories/webhook_subscriber_rule_factory.rb
2638
2724
  - lib/spree_cm_commissioner/trip_query_result.rb
2639
2725
  - lib/spree_cm_commissioner/trip_result.rb
2640
- - lib/spree_cm_commissioner/trip_seat_layout_result.rb
2641
2726
  - lib/spree_cm_commissioner/user_session_jwt_token.rb
2642
2727
  - lib/spree_cm_commissioner/version.rb
2728
+ - lib/tasks/create_default_non_permanent_inventory_items.rake
2643
2729
  - lib/tasks/customer_notification_cron_scheduler.rake
2730
+ - lib/tasks/ensure_correct_product_type.rake
2644
2731
  - lib/tasks/ensure_event_for_guests.rake
2645
2732
  - lib/tasks/ensure_event_for_product_line_item_guests.rake
2646
2733
  - lib/tasks/ensure_number_for_line_items.rake
2647
2734
  - lib/tasks/fetch_email.rake
2735
+ - lib/tasks/generate_inventory_items.rake
2648
2736
  - lib/tasks/kh_location_option_values.rake
2649
2737
  - lib/tasks/kh_provinces.rake
2650
2738
  - lib/tasks/migrate_and_rebuild_place_hierarchy.rake
@@ -1,63 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg id="payment_proccessing" data-name="payment proccessing" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 334 200">
3
- <defs>
4
- <clipPath id="clippath">
5
- <path d="m332.72,16.62v166.75c0,8.27-6.28,15.08-14.33,15.92-.55.05-1.11.08-1.67.08H16c-.48,0-.96-.02-1.43-.06-8.17-.73-14.57-7.59-14.57-15.94V16.62C0,7.78,7.16.62,16,.62h300.72c8.84,0,16,7.16,16,16Z" style="fill: none;"/>
6
- </clipPath>
7
- </defs>
8
- <g style="clip-path: url(#clippath);">
9
- <path d="m332.72,16.62v166.75c0,8.27-6.28,15.08-14.33,15.92-.55.05-1.11.08-1.67.08H16c-.48,0-.96-.02-1.43-.06-8.17-.73-14.57-7.59-14.57-15.94V16.62C0,7.78,7.16.62,16,.62h300.72c8.84,0,16,7.16,16,16Z" style="fill: #130d07;"/>
10
- <path d="m160.11,89.69c1.41-5.81-3.61-9.74-10.21-9.27-6.6.47-26.31,10.68-28.51,12.26-2.2,1.57-29.54,6.6-34.25,3.77-4.71-2.83-12.46-7.49-12.46-7.49,0,0-23.81-23.81-40.47,2.86-16.67,26.66-13.99,61.42-13.99,61.42l-24.1,29.05s-10.95,10,3.81,19.05,22.11,18.14,31.15,21.3c9.04,3.16,14.46-7,14.46-7.68,0-.68,19.43-30.27,19.43-30.27,10.27-.69,20.53-1.41,30.79-2.17,10.81-.8,24.65.44,31.99-9.08,3.2-4.15,1.59-8.37-.02-12.85.06.18,3.68-1,4-1.13,1.81-.72,3.12-1.91,3.94-3.7,1.55-3.36,2.03-8.12.07-11.41-2.91-4.88-3.85-5.31-3.85-5.31.93.42,4.7-2.76,5.32-3.27,2.69-2.21,4.81-5.03,5.27-8.57,1.31-10.16-10.01-17.26-18.56-19.27,5.59,1.31,10.8,2.15,16.21-.39,3.01-1.41,5.69-3.43,8.35-5.44,4.02-3.03,10.38-7.18,11.65-12.41" style="fill: #e89875;"/>
11
- <path d="m138.73,45.68c-1.83-.91-5.84-1.99-7.86-2.27-3.17-.44-12.78-.68-12.78-.68l-1.24,3.76-31.45-1.3c-4.73-.2-8.98,2.88-10.27,7.44l-27.87,101.59c-1.74,6.14,2.5,12.35,8.85,12.97l49.44,1.78c4.98.49,9.59-2.69,10.89-7.53l27.25-101.35c.17-.64.26-1.28.31-1.92,0-.02.01-.05.02-.07,1.59-7.52-1.35-10.47-5.29-12.43Z" style="fill: #302b31;"/>
12
- <path d="m51.51,163.26l49.44,1.78c4.98.49,9.59-2.69,10.89-7.53l27.25-101.35c1.7-6.33-2.91-12.61-9.46-12.88l-48.82-2.02c-4.73-.2-8.98,2.88-10.27,7.44l-27.87,101.59c-1.74,6.14,2.5,12.35,8.85,12.97Z" style="fill: #212028;"/>
13
- <path d="m108.45,126.85c-1.64.07-3.43-.23-5.08-.3-4.13-.18-8.26-.36-12.39-.54l-22.43-.98-.81-.04c-2.87-.41-4.61-1.99-3.7-4.96l.84-3.54c.55-2.49,2.89-4.15,5.42-3.86,13.54.41,27.15.41,40.66,1.23,2,.12,4.17.45,4.34,2.96.15,2.13-1.09,4.94-1.91,6.87-1.02,2.41-2.87,3.07-4.95,3.16Z" style="fill: #f59b1d;"/>
14
- <path d="m117.78,96.1l-48.7-1.94c-2.03-.08-3.25-1.77-2.74-3.76l8.36-32.34c.52-2,2.58-3.55,4.61-3.47l48.7,1.94c2.03.08,3.25,1.77,2.74,3.76l-8.36,32.34c-.52,2-2.58,3.55-4.61,3.47Z" style="fill: #fffaf8;"/>
15
- <path d="m85.83,77.72l-8.87-.35c-.88-.04-1.41-.77-1.19-1.63l1.23-4.78c.22-.87,1.12-1.54,2-1.51l8.87.35c.88.04,1.41.77,1.19,1.63l-1.23,4.78c-.22.87-1.12,1.54-2,1.51Z" style="fill: #d6d6d6;"/>
16
- <path d="m124.55,64.16l-9.8-.39c-.62-.02-1-.54-.84-1.15l.45-1.74c.16-.61.79-1.09,1.41-1.06l9.8.39c.62.02,1,.54.84,1.15l-.45,1.74c-.16.61-.79,1.09-1.41,1.06Z" style="fill: #d6d6d6;"/>
17
- <path d="m84.05,81.98l-8.95-.36c-.47-.02-.75-.41-.63-.87l.22-.86c.12-.46.59-.82,1.06-.8l8.95.36c.47.02.75.41.63.87l-.22.86c-.12.46-.59.82-1.06.8Z" style="fill: #d6d6d6;"/>
18
- <path d="m99.83,91.71l-27.44-1.09c-.25-.01-.41-.22-.34-.47l.42-1.62c.06-.25.32-.44.57-.43l27.44,1.09c.25.01.41.22.34.47l-.42,1.62c-.06.25-.32.44-.57.43Z" style="fill: #d6d6d6;"/>
19
- <path d="m95.54,82.43l-8.95-.36c-.47-.02-.75-.41-.63-.87l.22-.86c.12-.46.59-.82,1.06-.8l8.95.36c.47.02.75.41.63.87l-.22.86c-.12.46-.59.82-1.06.8Z" style="fill: #d6d6d6;"/>
20
- <path d="m107.03,82.89l-8.95-.36c-.47-.02-.75-.41-.63-.87l.22-.86c.12-.46.59-.82,1.06-.8l8.95.36c.47.02.75.41.63.87l-.22.86c-.12.46-.59.82-1.06.8Z" style="fill: #d6d6d6;"/>
21
- <path d="m118.52,83.35l-8.95-.36c-.47-.02-.75-.41-.63-.87l.22-.86c.12-.46.59-.82,1.06-.8l8.95.36c.47.02.75.41.63.87l-.22.86c-.12.46-.59.82-1.06.8Z" style="fill: #d6d6d6;"/>
22
- <path d="m111.65,93.7c-.49.15-.94.45-1.44.61-2.03.64-4.12-.62-4.15-2.53-.02-1.28.45-2.44,1.6-3.42.84-.72,1.78-1.08,2.78-1.14.88-.05,1.65.12,2.24.65.12.11.29.16.44.24-.17.19.02.23.08.32.37.57.57,1.21.45,1.96-.2,1.22-.73,2.32-1.89,3.17-.05.03-.08.09-.11.14Z" style="fill: #d6d6d6;"/>
23
- <path d="m111.65,93.7s.07-.11.11-.14c1.16-.85,1.69-1.95,1.89-3.17.12-.75-.08-1.39-.45-1.96-.06-.09-.25-.14-.08-.32.59-.27,1.16-.59,1.79-.67,2.25-.26,3.6.86,3.66,2.68.06,1.96-1.32,3.73-3.42,4.37-1.29.39-2.36.14-3.23-.58-.09-.07-.18-.15-.26-.22Z" style="fill: #5e5e5e;"/>
24
- <path d="m53.69,110.12s1.51-5.75,5.56,2.51c4.05,8.27,15.38,11.23,20.41,6.86s-.79-23.41-15.54-36.21c-14.75-12.8-30.48,5.41-37.12,19.9-6.65,14.49-6.78,50.07-6.78,50.07l48.9,21.12s8.3-15.25.02-34.98c-4.68-11.15-9.08-16.86-12.8-21.88-3.73-5.02-2.64-7.37-2.64-7.37Z" style="fill: #e89875;"/>
25
- <g>
26
- <rect x="222.73" y="98.72" width="8.27" height="27.35" style="fill: #fbc01a;"/>
27
- <polygon points="231 100.13 222.73 100.13 221.53 95.4 232.39 95.4 231 100.13" style="fill: #fbc01a;"/>
28
- <line x1="223.67" y1="100.13" x2="231" y2="100.13" style="fill: none; stroke: #f9b500; stroke-miterlimit: 10; stroke-width: .5px;"/>
29
- <polygon points="222.73 126.08 231 126.08 232.2 130.8 221.33 130.8 222.73 126.08" style="fill: #fbc01a;"/>
30
- <line x1="231" y1="126.08" x2="222.73" y2="126.08" style="fill: none; stroke: #f9b500; stroke-miterlimit: 10; stroke-width: .5px;"/>
31
- </g>
32
- <g>
33
- <rect x="240.34" y="98.72" width="8.27" height="27.35" style="fill: #f4b200;"/>
34
- <polygon points="248.61 100.13 240.34 100.13 239.15 95.4 250.01 95.4 248.61 100.13" style="fill: #f4b200;"/>
35
- <polygon points="240.35 126.08 248.62 126.08 249.81 130.8 238.95 130.8 240.35 126.08" style="fill: #f4b200;"/>
36
- </g>
37
- <g>
38
- <rect x="257.95" y="98.72" width="8.27" height="27.35" style="fill: #fbc01a;"/>
39
- <polygon points="266.22 100.13 257.95 100.13 256.76 95.4 267.62 95.4 266.22 100.13" style="fill: #fbc01a;"/>
40
- <line x1="258.9" y1="100.13" x2="266.22" y2="100.13" style="fill: none; stroke: #f9b500; stroke-miterlimit: 10; stroke-width: .5px;"/>
41
- <polygon points="257.96 126.08 266.23 126.08 267.42 130.8 256.56 130.8 257.96 126.08" style="fill: #fbc01a;"/>
42
- <line x1="266.22" y1="126.08" x2="257.96" y2="126.08" style="fill: none; stroke: #f9b500; stroke-miterlimit: 10; stroke-width: .5px;"/>
43
- </g>
44
- <g>
45
- <rect x="275.56" y="98.72" width="8.27" height="27.35" style="fill: #fbc01a;"/>
46
- <polygon points="283.84 100.13 275.56 100.13 274.37 95.4 285.23 95.4 283.84 100.13" style="fill: #fbc01a;"/>
47
- <line x1="276.51" y1="100.13" x2="283.84" y2="100.13" style="fill: none; stroke: #f9b500; stroke-miterlimit: 10; stroke-width: .5px;"/>
48
- <polygon points="275.57 126.08 283.84 126.08 285.04 130.8 274.17 130.8 275.57 126.08" style="fill: #fbc01a;"/>
49
- <line x1="283.84" y1="126.08" x2="275.57" y2="126.08" style="fill: none; stroke: #f9b500; stroke-miterlimit: 10; stroke-width: .5px;"/>
50
- </g>
51
- <rect x="218.79" y="91.42" width="69.46" height="3.98" style="fill: #f9b500;"/>
52
- <rect x="218.79" y="130.8" width="69.46" height="3.98" style="fill: #fbc01a;"/>
53
- <rect x="209.25" y="134.79" width="88.53" height="4.09" style="fill: #f4b200;"/>
54
- <path d="m216.67,88.29l34.23-15.08c2.1-.93,4.5-.93,6.6,0l34.23,15.08c1.62.71,1.11,3.13-.66,3.13h-73.75c-1.77,0-2.28-2.42-.66-3.13Z" style="fill: #fbc01a;"/>
55
- <path d="m230.81,86.16l21.33-9.4c1.31-.58,2.8-.58,4.11,0l21.33,9.4c1.01.44.69,1.95-.41,1.95h-45.96c-1.1,0-1.42-1.51-.41-1.95Z" style="fill: #f4b200;"/>
56
- <path d="m256.72,83.21c0-1.39-1.13-2.51-2.51-2.51s-2.51,1.13-2.51,2.51,1.13,2.51,2.51,2.51,2.51-1.13,2.51-2.51Z" style="fill: none; stroke: #f9b500; stroke-miterlimit: 10; stroke-width: .5px;"/>
57
- <line x1="218.8" y1="131.54" x2="288.24" y2="131.54" style="fill: none; stroke: #f9b500; stroke-miterlimit: 10; stroke-width: .5px;"/>
58
- <path d="m143.42,43.43l2.99-1.92c34.81-22.3,81.11-12.16,103.41,22.65h0" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 4px;"/>
59
- <polyline points="242.93 64.16 250.34 64.16 250.34 56.12" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 3px;"/>
60
- <path d="m253.66,141.68l-3.52,4.34c-28.53,29.92-75.91,31.04-105.83,2.5h0" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 4px;"/>
61
- <polyline points="151 146.9 143.8 148.65 145.77 156.76" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 3px;"/>
62
- </g>
63
- </svg>