Order Processing
Administrative order processing, lifecycle management, and bulk operations within the DashClicks platform.
Core Operations
Order Retrieval
Get All Orders
- Service Method:
orderService.getOrders() - Controller:
orderController.getOrders - Route:
GET /v1/admin/orders - Parameters:
start_date,end_date- Date range filteringonboarding_status- Onboarding status filterorder_inactivity- Order inactivity filterproduct- Product type filtersetup_status- Setup status filterq- Search querysort_by,order- Sorting optionspage,limit- Pagination
- Returns: Paginated orders with setup stages and onboarding links
Order Creation
Create Order
- Service Method:
orderService.addOrder({ orderInfo, req }) - Controller:
orderController.saveOrder - Route:
POST /v1/admin/orders - Parameters: Order information with manual source designation
- Returns: Created order object
Order Updates
Update Setup Status
- Service Method:
orderService.updateStatus({ order_id, setup, dashclicks }) - Controller:
orderController.updateSetupStatus - Route:
PUT /v1/admin/orders/:id/status - Purpose: Update product-specific setup stages
- Parameters: Order ID, setup stage information, staff authorization
- Returns: Updated setup status
Update Order
- Service Method:
orderService.updateOrder({ orderId, dashclicks, userId }) - Controller:
orderController.updateOrder - Route:
PUT /v1/admin/orders/:id - Purpose: General order updates (marked as deprecated in favor of projects app)
- Returns: Updated order data
Update Onboarding Status
- Service Method:
orderService.updateOnboardingStatus({ order_id, payload, dashclicks, account_id, user_id }) - Controller:
orderController.updateOnboardingStatus - Route:
PUT /v1/admin/orders/:id/onboarding - Purpose: Update order onboarding status and workflow
- Returns: Updated onboarding status
Order Management
Clear Order
- Service Method:
orderService.clearOrder({ orderId }) - Controller:
orderController.clearOrder - Route:
DELETE /v1/admin/orders/:id - Purpose: Remove order record from database
- Returns: Deletion count confirmation
- Parameters: Order ID, new status, status change reason
- Returns: Updated order with status history
Bulk Status Update
- Endpoint:
POST /v1/admin/orders/bulk-update - Purpose: Mass order status updates for operational efficiency
- Access: Order Admin, Setup Manager
- Parameters: Order IDs array, status updates, bulk processing options
- Returns: Bulk update results with processing summary
Order Management
Cancel Order
- Endpoint:
PUT /v1/admin/orders/:id/cancel - Purpose: Administrative order cancellation with reason tracking
- Access: Order Admin only
- Parameters: Order ID, cancellation reason, refund processing
- Returns: Cancelled order with cancellation details
Clear Order
- Endpoint:
DELETE /v1/admin/orders/:id - Purpose: Administrative order cleanup and data removal
- Access: Order Admin only
- Parameters: Order ID, cleanup reason, data retention options
- Returns: Cleanup confirmation with removal details
Order Processing Workflows
Standard Order Processing Flow
- Order Receipt: Initial order processing and validation
- Account Assignment: Account relationship establishment
- Product Configuration: Service-specific setup initialization
- Team Assignment: Resource allocation and team assignment
- Status Tracking: Progress monitoring and update management
- Completion Processing: Final delivery and closure
Administrative Override Flow
- Override Request: Administrative intervention request
- Authorization Validation: Staff permission verification
- Override Processing: Manual processing execution
- Audit Logging: Override action documentation
- Status Update: Post-override status management
- Notification Processing: Stakeholder notification delivery
Bulk Processing Flow
- Batch Validation: Bulk operation data validation
- Processing Queue: Batch operation queuing
- Sequential Processing: Individual order processing
- Error Handling: Failure detection and recovery
- Results Compilation: Processing results aggregation
- Completion Notification: Bulk operation completion alert
Service Methods
Core Processing Services
getOrders(filters, options)
- Purpose: Administrative order query system with advanced filtering
- Parameters:
filters- Date range, status, product, search criteriaoptions- Pagination, sorting, analytics preferences
- Returns: Filtered order dataset with administrative metadata
- Collections:
_store.orders,_accounts,_products
addOrder(orderData, adminUser)
- Purpose: Administrative order creation with manual source tracking
- Parameters:
orderData- Complete order information and configurationadminUser- Administrator creating the order
- Returns: Created order object with processing status
- Collections:
_store.orders,_activity
updateOrder(orderId, updateData, adminUser)
- Purpose: Comprehensive order updates with administrative oversight
- Parameters:
orderId- Order identifier for updateupdateData- Fields and values to updateadminUser- Administrator performing update
- Returns: Updated order with change tracking
- Collections:
_store.orders,_activity
clearOrder(orderId, reason, adminUser)
- Purpose: Administrative order cleanup with audit trail
- Parameters:
orderId- Order identifier for cleanupreason- Cleanup justificationadminUser- Administrator performing cleanup
- Returns: Cleanup confirmation with details
- Collections:
_store.orders,_activity
Bulk Operation Services
bulkUpdateStatus(orderIds, statusUpdate, adminUser)
- Purpose: Mass order status updates with batch processing
- Parameters:
orderIds- Array of order identifiersstatusUpdate- Status change informationadminUser- Administrator performing bulk update
- Returns: Bulk update results with success/failure breakdown
- Collections:
_store.orders,_activity
bulkOrderProcessing(orders, processingOptions, adminUser)
- Purpose: Batch order processing for operational efficiency
- Parameters:
orders- Array of orders for processingprocessingOptions- Batch processing configurationadminUser- Administrator initiating bulk processing
- Returns: Processing results with detailed outcomes
- Collections:
_store.orders,_activity
Data Management
Order Data Structure
- Order Information: Complete order details and configuration
- Account Association: Account relationship and hierarchy
- Product Configuration: Service-specific setup and parameters
- Status History: Complete order lifecycle tracking
- Administrative Metadata: Processing information and audit data
Validation Framework
- Order Data Validation: Comprehensive order information validation
- Account Validation: Account relationship and permission validation
- Product Validation: Service configuration and availability validation
- Administrative Validation: Staff authorization and permission checks
- Business Rule Validation: Platform policy and rule compliance
Performance Optimization
- Query Optimization: Efficient database queries for order retrieval
- Bulk Processing: Optimized batch operations for mass updates
- Caching Strategy: Strategic caching for frequently accessed data
- Index Management: Database indexing for performance enhancement
Error Handling
Processing Errors
- Order Not Found: Invalid or inaccessible order identifier
- Validation Error: Invalid order data or configuration
- Authorization Error: Insufficient permissions for operation
- Processing Error: Order processing pipeline failure
- System Error: Platform or infrastructure failure
Recovery Mechanisms
- Automatic Retry: Retry logic for transient failures
- Manual Intervention: Administrative override for complex issues
- Rollback Support: Transaction rollback for failed operations
- Error Logging: Comprehensive error tracking and analysis
- Alert System: Automated alerts for critical failures
Authorization Framework
Role-Based Access
- Order Admin: Full administrative access to all order operations
- Setup Manager: Order processing and status management
- Account Manager: Account-specific order oversight
- Fulfillment Team: Order processing and completion operations
Permission Matrix
- Create: New order creation and initialization
- Read: Order information and status access
- Update: Order modification and status changes
- Delete: Order cleanup and removal operations
- Bulk: Mass order operations and batch processing
Integration Points
Account Management
- Order-account relationship management
- Account-based filtering and organization
- Cross-account order coordination
Product Management
- Product configuration and validation
- Service-specific order processing
- Product catalog integration
Communication System
- Order status notifications
- Administrative alerts and updates
- Client communication coordination
Analytics System
- Order processing metrics
- Performance tracking and reporting
- Administrative dashboard integration
Usage Examples
Retrieve Orders with Filtering
const orders = await orderService.getOrders(
{
startDate: '2024-01-01',
endDate: '2024-12-31',
status: 'in_progress',
product: 'seo_services',
},
{ page: 1, limit: 50, sort: { createdAt: -1 } },
);
Create New Order
const newOrder = await orderService.addOrder(
{
accountId: 'account123',
productId: 'seo_premium',
configuration: { keywords: 50, reporting: 'monthly' },
source: 'admin_manual',
},
adminUser,
);
Bulk Status Update
const bulkResult = await orderService.bulkUpdateStatus(
['order1', 'order2', 'order3'],
{ status: 'completed', completionDate: new Date() },
adminUser,
);
Update Order Details
const updatedOrder = await orderService.updateOrder(
'order123',
{ priority: 'high', assignedTeam: 'premium_team' },
adminUser,
);