UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

166 lines 9.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPickTicketsResource = createPickTicketsResource; exports.createPickTicketsDataResource = createPickTicketsDataResource; const schemas_1 = require("../schemas"); /** * Creates the pickTickets resource methods * OpenAPI Path: /pick-tickets → pickTickets.* * @description Pick ticket management for warehouse fulfillment and order picking workflows */ function createPickTicketsResource(executeRequest, createListMethod) { return { /** * List pick tickets with filtering and pagination - OpenAPI Path: /pick-tickets * @description Returns paginated pick tickets with comprehensive filtering by company, location, order status, and other criteria. Essential for warehouse management and order fulfillment workflows. * * @fullPath api.orders.pickTickets.list * @service orders * @domain warehouse-fulfillment * @dataMethod pickTicketsData.list - returns only the pick tickets array without metadata * @discoverable true * @searchTerms ["pick tickets", "warehouse fulfillment", "order picking", "pick ticket list", "fulfillment tracking"] * @relatedEndpoints ["api.orders.pickTickets.get", "api.orders.oeHdr.lookup.list", "api.orders.oeHdr.doc.get"] * @commonPatterns ["List pending pick tickets", "Filter by location", "Track picking status", "Warehouse dashboard"] * @workflow ["warehouse-fulfillment", "order-picking", "fulfillment-tracking"] * @prerequisites ["Valid authentication", "Warehouse access permissions"] * @nextSteps ["api.orders.pickTickets.get for details", "Update picking status", "Process fulfillment"] * @businessRules ["Filters by location and company", "Supports order and status filtering", "Pagination required for large datasets"] * @functionalArea "warehouse-and-fulfillment" * @performance "Use filtering to reduce result sets. Consider pagination for better performance." */ list: createListMethod('/pick-tickets', schemas_1.PickTicketsListParamsSchema, schemas_1.PickTicketsListResponseSchema), /** * Get detailed pick ticket information - OpenAPI Path: /pick-tickets/{pickTicketNo} * @description Returns comprehensive pick ticket details including order information, shipping details, tracking, and fulfillment status. Critical for warehouse operations and order tracking. * * @fullPath api.orders.pickTickets.get * @service orders * @domain warehouse-fulfillment * @dataMethod pickTicketsData.get - returns only the pick ticket detail without metadata * @discoverable true * @searchTerms ["pick ticket details", "pick ticket info", "fulfillment details", "warehouse pick ticket"] * @relatedEndpoints ["api.orders.pickTickets.list", "api.orders.oeHdr.doc.get", "api.orders.invoiceHdr.reprint.get"] * @commonPatterns ["Get pick ticket details", "View pick ticket", "Track fulfillment", "Shipping information"] * @workflow ["pick-ticket-review", "fulfillment-processing", "shipping-preparation"] * @prerequisites ["Valid pick ticket number", "Warehouse access permissions"] * @nextSteps ["Update fulfillment status", "Process shipping", "Generate tracking"] * @businessRules ["Pick ticket number must be valid", "Access controlled by location permissions", "Includes shipping and tracking details"] * @functionalArea "warehouse-and-fulfillment" * @performance "Single pick ticket retrieval - efficient for detail information" */ get: async (pickTicketNo) => { return executeRequest({ method: 'GET', path: `/pick-tickets/${pickTicketNo}`, responseSchema: schemas_1.PickTicketResponseSchema, }, {}); }, /** * Pick ticket lines operations - OpenAPI Path: /pick-tickets/{pickTicketNo}/lines */ lines: { /** * List pick ticket lines for a specific pick ticket * @description Returns paginated pick ticket lines with detailed line item information including quantities, item details, and fulfillment status. Essential for warehouse picking operations and line-level tracking. * * @fullPath api.orders.pickTickets.lines.list * @service orders * @domain warehouse-fulfillment * @dataMethod pickTicketsData.lines.list - returns only the pick ticket lines array without metadata * @discoverable true * @searchTerms ["pick ticket lines", "pick ticket items", "line items", "picking details", "warehouse lines"] * @relatedEndpoints ["api.orders.pickTickets.get", "api.orders.pickTickets.list", "api.items.products.get"] * @commonPatterns ["List pick ticket lines", "View line items", "Track picking by line", "Line-level fulfillment"] * @workflow ["pick-ticket-fulfillment", "line-item-picking", "inventory-tracking"] * @prerequisites ["Valid pick ticket number", "Warehouse access permissions"] * @nextSteps ["Update line quantities", "Mark lines as picked", "Process line-level fulfillment"] * @businessRules ["Lines are ordered by line number", "Supports pagination", "Includes quantity and item details"] * @functionalArea "warehouse-and-fulfillment" * @performance "Use pagination for pick tickets with many lines. Default ordering by line_number|ASC." */ list: async (pickTicketNo, params) => { return executeRequest({ method: 'GET', path: `/pick-tickets/${pickTicketNo}/lines`, paramsSchema: schemas_1.PickTicketsLinesParamsSchema, responseSchema: schemas_1.PickTicketsLinesResponseSchema, }, params); }, /** * Get specific pick ticket line detail * @description Returns detailed information for a specific line within a pick ticket including quantities, item details, and fulfillment status. Used for individual line tracking and updates. * * @fullPath api.orders.pickTickets.lines.get * @service orders * @domain warehouse-fulfillment * @dataMethod pickTicketsData.lines.get - returns only the pick ticket line data without metadata * @discoverable true * @searchTerms ["pick ticket line detail", "single line item", "line detail", "individual picking line"] * @relatedEndpoints ["api.orders.pickTickets.lines.list", "api.orders.pickTickets.get", "api.items.products.get"] * @commonPatterns ["Get line detail", "View single line item", "Update line status", "Line-specific operations"] * @workflow ["line-item-fulfillment", "individual-line-tracking", "line-status-updates"] * @prerequisites ["Valid pick ticket number", "Valid line number", "Warehouse access permissions"] * @nextSteps ["Update line quantities", "Mark line as picked", "Process line fulfillment"] * @businessRules ["Line must exist in pick ticket", "Returns complete line details", "Includes item and quantity information"] * @functionalArea "warehouse-and-fulfillment" * @performance "Single line retrieval - efficient for detail operations" */ get: async (pickTicketNo, lineNumber) => { return executeRequest({ method: 'GET', path: `/pick-tickets/${pickTicketNo}/lines/${lineNumber}`, responseSchema: schemas_1.PickTicketLineResponseSchema, }, {}); }, }, }; } /** * Creates the pickTicketsData resource methods (data-only versions) */ function createPickTicketsDataResource(pickTickets) { return { /** * Get only pick tickets data without response metadata * @param params Same parameters as list() method * @returns Promise<PickTicketData[]> Direct array of pick tickets */ list: async (params) => { const response = await pickTickets.list(params); return response.data; }, /** * Get only pick ticket detail data without response metadata * @param pickTicketNo Pick ticket number to retrieve * @returns Promise<PickTicketData> Direct pick ticket detail object */ get: async (pickTicketNo) => { const response = await pickTickets.get(pickTicketNo); return response.data; }, lines: { /** * Get only pick ticket lines data without response metadata * @param pickTicketNo Pick ticket number to retrieve lines for * @param params Same parameters as list() method * @returns Promise<PickTicketLineData[]> Direct array of pick ticket lines */ list: async (pickTicketNo, params) => { const response = await pickTickets.lines.list(pickTicketNo, params); return response.data; }, /** * Get only pick ticket line detail data without response metadata * @param pickTicketNo Pick ticket number * @param lineNumber Line number to retrieve * @returns Promise<PickTicketLineData> Direct pick ticket line data object */ get: async (pickTicketNo, lineNumber) => { const response = await pickTickets.lines.get(pickTicketNo, lineNumber); return response.data; }, }, }; } //# sourceMappingURL=pick-tickets.js.map