GYG - Third-party delivery partners integration

The integration system efficiently connects Guzman y Gomez’s internal infrastructure with third-party delivery partners to streamline order management and maintain real-time data synchronization with the restaurant’s POS system. The architecture is built to handle multiple external delivery platforms, such as UberEats, DoorDash, and Menulog, ensuring that orders are ingested, validated, and processed accurately.

Description

  • The integration system efficiently connects Guzman y Gomez’s internal infrastructure with third-party delivery partners to streamline order management and maintain real-time data synchronization with the restaurant’s POS system.

    The architecture is built to handle multiple external delivery platforms, such as UberEats, DoorDash, and Menulog, ensuring that orders are ingested, validated, and processed accurately.

Order Ingestion via Node.js API

  • The system begins by fetching orders from various delivery partners using a Node.js API.

  • Node.js handles communication with third-party APIs, parsing incoming data, and normalizing order details to match a consistent schema.

  • The Node API is designed to be highly resilient, employing retries, rate-limiting, and error handling to ensure orders are reliably ingested even under adverse network conditions.

Order Processing and Validation with .NET Service:

  • Once the orders are received and standardized, the data is handed off to a .NET Service, which performs in-depth order processing and validation.

  • This service includes business logic for menu item mapping, price validation, discount handling, and other rules that need to be enforced before the orders are committed to the POS system.

  • The .NET service also ensures that each order adheres to internal requirements, such as menu availability and order timing constraints, providing a robust mechanism to flag and handle any discrepancies.

Database and Data Management:

  • Validated order data is then stored using MySQL, leveraging ORM types for strong typing and simplified data access patterns.

  • The MySQL database acts as a centralized store for managing incoming orders, tracking order history, and maintaining logs for auditing and troubleshooting.

Internal System Integration:

  • After processing and validation, the orders are inserted into the TASK POS system using the appropriate API endpoints.

  • This ensures that all validated orders are synchronized in real-time with the POS system, enabling restaurant staff to view, manage, and fulfill orders efficiently.

Monitoring and Logging:

  • The system includes comprehensive monitoring using CloudWatch and custom logging mechanisms to track order states, API calls, and processing errors.

  • Alerts are configured to notify the support team of any anomalies, ensuring swift resolution of any issues that may arise.

Technologies

JavaScript, Material UI, TypeScript, React JS, C# services, MySQL, Sequelize ORM, Node JS, Express JS, Jest test cases.

Website

Food Order Website

Client Name: Guzman Y Gomez

Location: Canada

Role: Senior Software Engineer

Website: order.guzmanygomez.com.au

Lorem ipsum dolor sit amet, conse cai mio tetur adipiscing eli tusi eniuni sanipa orin odipan sur mau dolor tempor inci didu nt utla bore eta dolore magna. Quis ipsum suspendise ultrices conse caimo tetur adipiscing eli tusi eniusani.

Lorem ipsum dolor sit amet, conse cai mio tetur adipiscing eli tusi eniuni sanipa orin odipan sur mau dolor tempor inci didu nt utla bore eta dolore magna. Quis ipsum suspendise ultrices conse caimo tetur adipiscing eli tusi eniusani.