Qoliber StorePickup Module Roadmap
Recently Completed (This Session)
-
✅ Code Quality Improvements
- Replaced all json_encode/decode with SerializerInterface
- Fixed ObjectManager usage with proper dependency injection
- Added comprehensive PHPDoc documentation
- Fixed PHP 8.1+ visibility declarations for constants
-
✅ Frontend Enhancements
- Fixed CSP compliance issues in Alpine.js components
- Created LESS/CSS variables system for maintainability
- Fixed validation logic for optional date/time fields
- Resolved tiles view selection issues in Hyva Checkout
-
✅ Email System
- Implemented email notification service
- Created templates for ready, reminder, and picked up notifications
- Fixed template variable declarations
-
✅ Customer Experience
- Beautiful Hyva-themed order view page with Tailwind CSS
- Proper status display with color coding
- Opening hours display on order view
-
✅ Bug Fixes
- Fixed time slot persistence when deselected
- Fixed locations not loading on checkout initial load
- Fixed validation when date/time selection is disabled
- Fixed backend validation to match frontend logic
Version 1.0 (Current - Essential Features)
- Store location management (Admin CRUD)
- Checkout integration with store selector
- Configurable display styles (dropdown vs tiles)
- Opening hours management
- Pickup date/time selection
- Admin order view integration
- Pickup status workflow (pending → ready → picked_up)
- Admin audit trail (who marked ready/picked up and when)
- Configuration for pickup availability modes
- Multi-language support (en_US, pl_PL, de_DE)
- Email notifications for status changes (ready, reminder, picked up)
- Customer account - view pickup orders (Luma & Hyva themes)
- Time slots with capacity management
- Store-specific lead times
- Hyva Checkout compatibility (separate module)
- CSP compliance for all JavaScript components
- SerializerInterface implementation for JSON operations
- Proper dependency injection throughout
- ViewModels for template data access
- Comprehensive PHPDoc documentation
Version 1.1 (WebAPI & Integrations)
REST API Endpoints
-
GET /V1/orders/{orderId}/pickup
- Get pickup order details and status -
PUT /V1/orders/{orderId}/pickup/ready
- Mark order as ready for pickup -
PUT /V1/orders/{orderId}/pickup/complete
- Mark order as picked up -
GET /V1/pickup/locations
- List available pickup locations -
GET /V1/pickup/locations/{locationId}/slots
- Get available time slots
GraphQL Support
- Query pickup order status and details
- Mutations for updating pickup status
- Location and time slot queries
Additional Integration Features
- Webhook events for status changes
- Batch operations for multiple orders
- ACL resources for granular permissions
- API rate limiting and security
- Integration logging and debugging
Version 1.2 (Advanced Features & MSI Integration)
MSI (Multi Source Inventory) Integration
- Connect pickup locations with MSI sources
- Show real-time product availability per location
- Display "Available at this location" indicator
- Smart store recommendation based on full cart availability
- Show notification when all items are available in one location
- Filter locations by product availability
- Reserve inventory on pickup selection
- Stock level display for each location
Customer Experience Features
- Change Pickup Location - Allow customers to modify pickup location for existing orders (requires admin confirmation)
- Customer can request location change from account dashboard
- Admin receives notification and must approve/deny change
- Email notifications to customer on approval/denial
- Audit trail for location change requests
- Optional: Check inventory availability at new location
- Configure which statuses allow location changes (e.g., pending only)
Additional Advanced Features
- Google Maps integration for store locator
- Distance-based store sorting
- Holiday/special hours management
- SMS notifications
- QR code for contactless pickup
- Customer pickup history
- Store capacity dashboard
- Pickup performance analytics
Version 1.3 (Enterprise Features)
- Multi-warehouse pickup support
- Advanced routing (nearest store with inventory)
- Curbside pickup option
- Pickup appointment scheduling
- Staff mobile app
- Customer ETA notifications
- Integration with ERP systems
- Advanced reporting and KPIs