# -*- coding: utf-8 -*- from django.urls import path from . import views app_name = 'pos' urlpatterns = [ # POS терминал: главная страница (рендер HTML) [GET] path('', views.pos_terminal, name='terminal'), # Установить текущий склад для POS (сохранение в сессии) [POST] path('api/set-warehouse//', views.set_warehouse, name='set-warehouse'), # Установить текущего клиента для POS (сохранение в Redis с TTL 2 часа) [POST] path('api/set-customer//', views.set_customer, name='set-customer'), # Сохранить корзину POS (сохранение в Redis с TTL 2 часа) [POST] path('api/save-cart/', views.save_cart, name='save-cart'), # Получить товары и комплекты (пагинация, поиск, сортировка) [GET] path('api/items/', views.get_items_api, name='items-api'), # Получить список активных витрин [GET] path('api/get-showcases/', views.get_showcases_api, name='get-showcases-api'), # Получить актуальные витринные временные комплекты [GET] path('api/showcase-kits/', views.get_showcase_kits_api, name='showcase-kits-api'), # Добавить витринный комплект в корзину с блокировкой [POST] path('api/showcase-kits//add-to-cart/', views.add_showcase_kit_to_cart, name='add-showcase-kit-to-cart'), # Сохранить черновик заказа для передачи в orders/create/ [POST] path('api/create-draft/', views.create_order_draft, name='create-order-draft'), # Снять блокировку витринного комплекта при удалении из корзины [POST] path('api/showcase-kits//remove-from-cart/', views.remove_showcase_kit_from_cart, name='remove-showcase-kit-from-cart'), # Сбросить ВСЕ свои блокировки витринных букетов [POST] path('api/showcase-kits/release-all-my-locks/', views.release_all_my_showcase_locks, name='release-all-my-showcase-locks'), # Получить детали комплекта для редактирования [GET] path('api/product-kits//', views.get_product_kit_details, name='get-product-kit-details'), # Обновить временный комплект (состав, фото, цены) [POST] path('api/product-kits//update/', views.update_product_kit, name='update-product-kit'), # Разобрать витринный комплект (освободить резервы, установить статус discontinued) [POST] path('api/product-kits//disassemble/', views.disassemble_product_kit, name='disassemble-product-kit'), # Создать временный комплект и зарезервировать на витрину [POST] path('api/create-temp-kit/', views.create_temp_kit_to_showcase, name='create-temp-kit-api'), # Создать заказ и провести оплату в POS [POST] path('api/checkout/', views.pos_checkout, name='pos-checkout'), # ============================================ # DISCOUNT API # ============================================ # Валидировать промокод [POST] path('api/discounts/validate-promo/', views.validate_promo_code, name='validate-promo'), # Рассчитать скидки для корзины [POST] path('api/discounts/calculate/', views.calculate_cart_discounts, name='calculate-discounts'), # Получить список доступных скидок [GET] path('api/discounts/available/', views.get_available_discounts, name='available-discounts'), ]