Store search and discovery with 3-layer architecture: API Gateway -> Storefront Service -> Core Microservices
View Postman DocumentationSearch and filter stores based on location, fulfillment type, and business requirements
Search and filter stores with multiple result scopes (1 step)
POST /stores/search
POST /stores/search
Orchestrates 1 service call
POST /api/stores/search
Search Stores
{
"user_context": {
"latitude": 19.0760,
"longitude": 72.8777,
"address_components": {
"city": "Mumbai",
"zip_code": "400001",
"country": "India"
}
},
"filters": {
"fulfillment_type": ["DELIVERY", "PICKUP"],
"business_category_id": ["CAT001", "CAT002"],
"max_distance_km": 10
},
"options": {
"include_default_store": true
},
"result": {
"type": "MULTIPLE",
"scope": "serviceable-stores"
},
"pagination": {
"page": 1,
"per_page": 50
},
"sorting": {
"sort_by": "distance",
"sort_order": "asc"
}
}
Returns all stores regardless of serviceability
Returns stores that can service the user's location
Returns the optimal store for order fulfillment
Returns stores where pickup is available
Returns the tenant's default store
Different payload configurations for various use cases
Display all available stores regardless of location or serviceability
{
"user_context": {
"latitude": 19.0760,
"longitude": 72.8777,
"address_components": {
"city": "Mumbai",
"zip_code": "400001",
"country": "India"
}
},
"filters": {
"fulfillment_type": ["DELIVERY", "PICKUP"]
},
"result": {
"type": "MULTIPLE",
"scope": "all-store"
},
"pagination": {
"page": 1,
"per_page": 50
},
"sorting": {
"sort_by": "distance",
"sort_order": "asc"
}
}
Find the optimal store to fulfill an order based on inventory, distance, and business rules
{
"user_context": {
"latitude": 19.0760,
"longitude": 72.8777,
"address_components": {
"city": "Mumbai",
"zip_code": "400001",
"country": "India"
}
},
"filters": {
"fulfillment_type": ["DELIVERY"],
"max_distance_km": 15
},
"result": {
"type": "SINGLE",
"scope": "fulfillment-store"
}
}
Show all stores where customers can pick up their orders
{
"user_context": {
"latitude": 19.0760,
"longitude": 72.8777,
"address_components": {
"city": "Mumbai",
"zip_code": "400001",
"country": "India"
}
},
"filters": {
"fulfillment_type": ["PICKUP"],
"max_distance_km": 20
},
"result": {
"type": "MULTIPLE",
"scope": "pickup-available-stores"
},
"pagination": {
"page": 1,
"per_page": 10
},
"sorting": {
"sort_by": "distance",
"sort_order": "asc"
}
}
Retrieve the tenant's default/primary store for fallback scenarios
{
"user_context": {
"latitude": 19.0760,
"longitude": 72.8777
},
"result": {
"type": "SINGLE",
"scope": "default-store"
}
}
Find all stores that can service the customer's location for delivery
{
"user_context": {
"latitude": 19.0760,
"longitude": 72.8777,
"address_components": {
"city": "Mumbai",
"zip_code": "400001",
"country": "India"
}
},
"filters": {
"fulfillment_type": ["DELIVERY"],
"max_distance_km": 10
},
"result": {
"type": "MULTIPLE",
"scope": "serviceable-stores"
},
"pagination": {
"page": 1,
"per_page": 20
},
"sorting": {
"sort_by": "distance",
"sort_order": "asc"
}
}
Orchestration layer for store search operations
Store data, search, and location-based queries
Stores Module - Orchestra Internal API Mapping | 1 API | 5 Scenarios | 1 Total Step