Quincus 6.6 Release Notes

We’re thrilled to share the latest updates to Quincus! This release is packed with improvements designed and bug fixes to make your experience smoother and more powerful. Here’s what’s new:


Admin

1. Enhanced Create/Edit Vendor Screen

The Create/Edit Vendor functionality has been updated to streamline workflows, align with current business needs, and introduce a more dynamic and user-friendly form design. These enhancements remove redundant fields and implement grouped Type-Category relationships for improved accuracy and usability.

Key Updates:

1. Removal of Service Offering and Serviceable Area

  • Fields Removed:
    • Service Offering
    • Serviceable Area
  • Purpose:
    • Simplifies the Create/Edit Vendor form by removing fields no longer aligned with updated business requirements.
    • Reduces clutter, focusing on essential vendor attributes.

2. Grouped Type and Category Field

  • Dynamic Grouping:

    • Type now acts as a parent field, dynamically filtering associated Category options.
    • Users must first select a Type, after which the corresponding Category options are displayed.
  • Example Grouped Options:

    • Type: Transportation
      • Categories:
        • Air Transportation
        • Ground Transportation

Benefits:

  1. Simplified Workflows: Removing unnecessary fields makes vendor creation and editing more straightforward.

  2. Improved Data Accuracy: Clear and dynamic Type-Category relationships prevent incorrect associations.

  3. Enhanced User Experience: A cleaner, more intuitive form design reduces errors and enhances usability.

 
2. New UI for Vendor Services Management 

A new Vendor Services Management UI has been introduced, streamlining the configuration and management of vendor services. The updated interface offers administrators the ability to add, edit, view, and delete vendor services with enhanced flexibility and precision.

Key Updates:

1. New Menu for Vendor Services

  • Location in Navigation Menu:
    • Admin > Settings > Vendor Services
  • Permissions:
    • Utilizes the same permissions as Vendors, ensuring secure access.

2. Vendor Services Listing Page

  • Table Columns:

    • Service Name: Displays the name of the vendor service.
    • Org/Vendor Defined: Indicates whether the service is defined by the organization or a specific vendor.
    • Vendors: Lists one or more linked vendors associated with the service.
    • Last Updated: Displays the timestamp of the last modification.
  • Filters:

    • Service Name: A text box to search for services by name.
    • Vendors: A dropdown to filter services by one or more linked vendors.

3. Add/Edit/View Page

  • Section: Service Info

    • Fields:
      • Service Name: Mandatory.
      • Service Code: Auto-generated for migrated services.
      • Description: Optional field for additional service details.
      • Type: Single-select dropdown (mandatory) with dynamically filtered categories.
      • Category: Multi-select dropdown (mandatory) grouped by the selected Type.
      • Vendor/Org Defined:
        • Radio Button (Mandatory):
          • Vendor: Displays a single-select dropdown for active vendor partners filtered by Type and Category.
          • Org: Displays a multi-select dropdown for active organization partners.
  • Section: Service Configuration (Optional)

    • Config Table:
      • Origins: Multi-select dropdown of available locations.
      • Destinations: Multi-select dropdown of available locations.

4. Migration of Existing Vendor Services

  • Automatic Migration Logic:

    • Existing services are migrated as “Vendor Defined” by default.
    • Service Code: Auto-assigned during migration.
    • Vendor Linking: Existing vendors are automatically associated with migrated services.
  • Mapping Logic:

    • Product Managers provide mapping logic to align the Type and Category fields for all existing vendor services before deployment.

Benefits:

  1. Simplified Management: A user-friendly interface simplifies vendor service configuration and management.

  2. Enhanced Filtering: Precise filtering options ensure faster access to relevant services.

  3. Dynamic Configurations: Grouped dropdowns improve clarity and accuracy in defining vendor services.

  4. Seamless Migration: Automatically migrates existing vendor services to the new model, maintaining data integrity and continuity.

3. Bulk Upload Feature for Vendor Services 

The Bulk Upload Feature for Vendor Services simplifies and accelerates the management of vendor-related data. This functionality enables users to create, edit, and export vendor services in bulk, reducing manual effort and improving data accuracy. The feature is particularly valuable for organizations handling large volumes of vendor service records.

Key Updates:

1. Bulk Creation of Vendor Services

  • Capabilities:
    • Upload a file (CSV or Excel) to create multiple vendor services simultaneously.
    • Eliminates repetitive manual data entry.
  • Supported File Formats:
    • CSV
    • Excel

2. Bulk Editing of Vendor Services

  • Capabilities:
    • Modify existing vendor service records in bulk by uploading a file with updated data.
    • Validates all changes to ensure data consistency and accuracy.

3. Bulk Export of Vendor Services

  • Capabilities:
    • Export all vendor services or apply filters to download specific records.
    • Exported files enable users to analyze and modify data offline before re-uploading.

Benefits:

  1. Time Efficiency: Perform large-scale data operations (creation, editing, exporting) in one action.

  2. Scalability: Manage vendor services more effectively as your organization grows.

  3. Enhanced Data Quality: Built-in validation ensures data integrity during bulk operations.

  4. Flexibility: Easily analyze and modify data outside the platform using exported files.




QPORTAL

1. Enforcing Unique Location Codes in Qportal 

We’ve introduced a new validation mechanism in Qportal to ensure that all location codes are unique. This enhancement prevents duplicate entries, improving data consistency and accuracy across the system.

What’s changed?

  • Location codes must now be unique when creating or updating records.
  • Users will receive an error message if a duplicate location code is detected, prompting them to provide a distinct code.

Benefits:

  1. Improved Data Consistency: Eliminates discrepancies and conflicting location codes across the system.

  2. Enhanced Accuracy: Ensures reliable and unique identifiers for locations, reducing errors in operations like routing and reporting.

  3. Streamlined User Experience: Real-time validation and clear error feedback simplify data entry and updates.

  4. Operational Reliability: Enables seamless integration with downstream workflows by ensuring accurate location data.

  5. Future Scalability: Prepares the system for growth by enforcing strict data integrity from the outset.


2. Propagating x-request-id Header to Downstream API Calls 

To enhance traceability and improve debugging capabilities, Qportal now propagates the x-request-id header to all downstream API calls. This ensures that a consistent request identifier is maintained across services, providing end-to-end visibility for API transactions.

What’s changed?

  • The x-request-id header is automatically forwarded with every downstream API call.
  • This update simplifies log correlation and aids in monitoring and troubleshooting distributed requests.

Vendor Management

1. Enhanced Financial Status Settings for Vendor Services – QP-620

We’ve introduced an update that allows managing financial status settings at both vendor service and vendor account levels, tailored for vendor-specific requirements.

Key Features:

  1. Vendor Account and Vendor Service Management:
    • Users can create financial status settings for a Vendor Account (mandatory), applying to all services of that vendor.
    • Users can also create settings for a Vendor Account and a Vendor Service together for more granular control.
  2. Validation Rules:
    • Settings cannot be created for a Vendor Service alone; a Vendor Account is required.
  3. Priority Order for Settings:
    • When multiple settings exist, the system applies the following priority:
      • Vendor Account + Vendor Service
      • Vendor Account only
      • Default settings
  4. Enhanced Cost Calculations:
    • Cost calculations now consider financial status settings in the specified priority, ensuring accurate results.

Benefits:

  1. Greater Control: Tailored financial settings at the vendor service level enable granular management.

  2. Optimized Cost Calculations: The priority-based approach ensures accurate cost computations aligned with vendor-specific workflows.

  3. Consistency: Mandatory vendor account associations eliminate errors and enforce logical settings hierarchy.

  4. Improved Workflow Support: Addresses complex financial scenarios with clarity and precision.

 

2. Enhancements for "Vendor Service Type" in Cost Rates and Cost Repository

    This feature introduces enhancements to support Vendor Service Type in the Cost Rates Builder and Cost Repository. It enables users to configure, manage, and analyze cost rates based on vendor-specific services, ensuring greater precision and clarity in cost data management.

    Key Enhancements:

    1. Vendor Service in Cost Rates Builder

    • New Trigger Option:
      • "Vendor Service" is now available as a trigger in the Rate Builder.
      • Applicable to all cost types, allowing users to define cost rates based on specific vendor services.
      • Provides granular control over cost configurations for vendor-specific scenarios.

    2. Rate Import/Export Enhancements

    • Import Template:
      • Added support for "Vendor Service" as a rule_trigger_type.
      • Ensures accurate representation of service-specific cost data during import.
    • Export Template:
      • "Vendor Service" data is now included in the export for seamless cross-system data management.

    3. Cost Repository Updates

    • Filters and Listings:

      • New Filter:
        • Users can now filter Cost Repository records by Vendor Service.
        • Simplifies access to service-specific cost data for analysis and reporting.
    • Updated Details Page:

      • Added a "Service" field displaying the Vendor Service Name for each cost record.
      • Under the Vendor field in the left panel, a new label "Vendor Service" has been added, displaying the corresponding service value.

    4. Cost Repository Export Enhancements

    • Removed Column:

      • "service_type" column has been deprecated and removed from export records.
    • Added Columns:

      • "vendor_service": Displays the name of the selected Vendor Service.
      • "vendor_service_code": Displays the code of the selected Vendor Service.

    Benefits:

    1. Granular Cost Configuration: This enables users to set cost rates specific to vendor services, improving precision in cost management.

    2. Enhanced Data Management: Seamless import/export of service-specific cost data ensures consistency across systems.

    3. Improved Reporting: New filters and updates to the Cost Repository make it easier to analyze service-specific cost data.

    4. Streamlined User Experience: Intuitive updates to the Cost Repository UI provide clear visibility into vendor services.

    3. Add Vendor Service for Specific Weight Settings 

    This feature introduces the ability to manage weight settings at both the vendor account and vendor service levels in the Costing Module. The functionality is modeled after customer pricing modules but is tailored for vendor-specific needs. With a clear priority structure, this enhancement ensures accurate cost calculations and flexible management of weight settings.

    Key Updates:

    1. Weight Settings Management

    • New UI and API Support:

      • Users can now define and manage weight settings for both:
        • Vendor Account: Mandatory for all weight settings.
        • Vendor Service: Optional for more granular configurations.
    • Rules for Weight Settings:

      • Allowed Configurations:
        • Create weight settings for a Vendor Account only (applies to all services under the vendor).
        • Create weight settings for both a Vendor Account and Vendor Service (applies to a specific service).
      • Restricted Configuration:
        • Weight settings cannot be created for a vendor service without associating it with a vendor account.

    2. Priority Order for Weight Settings

    When multiple weight settings exist, the system applies them in the following order of precedence:

    1. Vendor Account + Vendor Service (Highest priority)
    2. Vendor Account Only
    3. Default Settings (Lowest priority)

    3. Enhanced Cost Calculations

    • Cost calculations now incorporate weight settings using the priority structure for consistency and accuracy.
    • Vendor-specific configurations ensure that weight-based costs are calculated precisely according to the applicable settings.

    4. Data Sync from QPortal to Costing Module

    • New Attributes Synced:
      • Vendor Service Types and Vendor Data are automatically synchronized from QPortal to the Costing Module.
      • Ensures consistency across modules and eliminates discrepancies in vendor data.

    Benefits:

    1. Improved Flexibility: Allows detailed weight-based configurations at both the vendor account and service levels.

    2. Enhanced Cost Accuracy: Applies a priority-based approach to weight settings, reducing errors and ensuring correct cost calculations.

    3. Consistency Across Modules: Seamless synchronization between QPortal and the Costing Module ensures up-to-date and accurate vendor data.

    4. Streamlined Management: The unified UI and API streamline the process of creating and managing weight settings.

    5. Future-Ready: Supports both broad vendor-level and granular service-specific configurations, enabling scalability for complex vendor operations.


    4. Enhanced Bulk Add/Edit/Update for Vendors

    We’ve updated the Bulk Add/Edit/Update functionality for vendors to simplify management, introduce new vendor attributes, and remove outdated fields.

    Key Updates:

    1. Removal of Service Offering and Serviceable Areas:
    • The bulk add/edit/update functionality for vendors no longer supports the following fields:
      • Service Offering
      • Serviceable Areas
    • These fields have been deprecated to streamline the vendor management process.
    2. Support for New Vendor Type and Category:
    • Introduced support for specifying Vendor Type and Vendor Category during bulk operations.
    • Vendor Categories:
      • Transportation > Air Transportation
      • Transportation > Ground Transportation
    • These enhancements allow better classification and organization of vendors.
    3. Improved Bulk Management Workflow:
    • The updated UI and API now handle the addition and editing of vendors with the new attributes.
    • Legacy fields no longer appear in templates or interfaces, reducing clutter and confusion.

    Benefits

    1. Improved Flexibility: Allows detailed weight-based configurations at both the vendor account and service levels.

    2. Enhanced Cost Accuracy: Applies a priority-based approach to weight settings, reducing errors and ensuring correct cost calculations.

    3. Consistency Across Modules: Seamless synchronization between QPortal and the Costing Module ensures up-to-date and accurate vendor data.

    4. Streamlined Management: The unified UI and API streamline the process of creating and managing weight settings.

    5. Future-Ready: Supports both broad vendor-level and granular service-specific configurations, enabling scalability for complex vendor operations.

     


    Shipment


    1. Introducing Lockout and Recovery Duration for Flight Connections

    We’ve enhanced the allocation matrix for flight connections by introducing new optional fields to better manage shipment allocation and recovery timing.

    Key Updates:

    1. New Fields in Bulk Lanes Import CSV (Version 3):
      • Lockout Duration (Optional): Specifies the time window before a flight's departure during which no shipments can be allocated to that flight.
      • Recovery Duration (Optional): Specifies the time window after a flight's arrival during which shipments can be recovered.
      • Both fields will derive their units from the existing "Duration Unit" column.
    2. Lane Edit UI Enhancements:
      • Added two new fields for Lockout Duration and Recovery Duration under the air transport category for easier configuration.

    3. Placement in CSV Template:

    • The new columns, Lockout Duration and Recovery Duration, are added after the existing flight connection fields in the CSV.

    Benefits:

    1. Improved Operational Precision: Prevents last-minute allocations and ensures timely shipment recovery.

    2. Enhanced Resource Planning: Enables more accurate scheduling and resource allocation for air transport lanes.

    3. User-Friendly Configuration: Intuitive UI fields simplify the process of defining lockout and recovery durations.

    4. Seamless Data Management: The updated CSV template integrates seamlessly with existing workflows.


    2. Improved Label Printing UX with Error Handling 

    We’ve enhanced the user experience for printing labels to better handle errors and timeouts during label generation, especially for bulk orders.

    What’s New?

    1. Error Feedback for Background Jobs:
      • When printing labels for 5 or more orders, if the background label generation job fails due to errors or timeouts, users will now see clear error messages in the UI.
      • This ensures users are informed about the status of label generation without waiting indefinitely.
    2. Improved Job Handling:
      • Retry mechanisms for background jobs have been optimized to prevent unnecessary retries that increase the load on label APIs.
      • Failed jobs are now retried more efficiently, ensuring minimal system strain while maintaining performance.

    This update ensures a more reliable and transparent label printing experience.


    3. Navigation to Consolidation Details View from Shipment Details Page

    We’ve introduced an enhancement to improve visibility and navigation between shipments and their associated consolidated shipments.

    Key Updates:

    1. Display of Consolidated Shipment Tracking ID:
      • If a shipment is part of a consolidated shipment, the consolidated shipment tracking ID will now be displayed in the left panel of the shipment details view.
    2. Permissions-Based Navigation:
      • For users with view permissions on consolidated shipments:
        • The tracking ID will appear as a clickable hyperlink.
        • Clicking the tracking ID opens the consolidated shipment details page in a new tab for seamless navigation.
      • For users without view permissions on consolidated shipments:
        • The tracking ID will be displayed as plain text (non-clickable) for reference only.

    Benefits:

    1. Enhanced Visibility: Directly displays the relationship between individual and consolidated shipments on the shipment details page.

    2. Streamlined Navigation: Users with appropriate permissions can easily access the consolidated shipment’s details, reducing the time spent searching for related information.

    3. Controlled Access: Ensures data security by restricting navigation to authorized users, and displaying plain text for users without permissions.

    4. Improved Workflow Efficiency: Simplifies tracking and managing consolidated shipments.

    4. Navigation to Consolidation Details View 

    We have enhanced the Hub Operations section by adding navigation capabilities to the Consolidation Details View. This improvement includes making the Consolidated Shipment ID a clickable hyperlink in both the Individual and Consolidated tabs, and streamlining access to detailed information about consolidated shipments for authorized users.

    New Functionalities:

    1. Hyperlinked Consolidated Shipment ID:
      • The Consolidated Shipment ID displayed in the Individual and Consolidated tabs is now a hyperlink.
      • The hyperlink is only visible if the logged-in user has the necessary view permissions for the Consolidated Shipments feature.
    2. Direct Navigation to Consolidation Details View:
      • Clicking on the hyperlink will redirect the user to the Consolidated Shipment Details View, providing detailed insights into the consolidated shipment.
      • The details view includes shipment breakdown, associated commodity types, customer IDs, and more.

    Permission Management:

    • Only users with the View Permission for the Consolidated Shipments feature can see and interact with the hyperlink.
    • Permissions can be managed through the platform’s User Roles and Permissions settings.

    Benefits:

    1. Enhanced Accessibility: Provides direct access to detailed consolidated shipment information with a single click.

    2. Streamlined Workflows: Eliminates the need to search for shipment details manually, saving time and effort.

    3. Secure Navigation: Ensures sensitive shipment data is accessible only to authorized users.

    4. Improved Data Insights: Offers comprehensive shipment details, including customer IDs and commodity breakdowns.

     

    5. Consolidated Shipment Details View 

    The Consolidated Shipment Details View has been enhanced to provide a comprehensive view of consolidated shipments, with controlled access based on user permissions. The details page is URL-specific, utilizing the UUID of the consolidated shipment to ensure accurate and secure navigation.

    If a user does not have View Permission for consolidated shipments, a 403 Forbidden Error page will be displayed, maintaining data security.

    Key Functionalities:

    1. URL Based on UUID:
      • Each Consolidated Shipment Details page is accessible via a unique URL tied to the shipment's UUID.
      • Example: /consolidated-shipments/{UUID}
    2. 403 Forbidden Error Page:
      • Users without the appropriate view permissions will see a 403 Forbidden Error page.
      • Permissions are controlled via the User Roles and Permissions settings.
    3. Information Display:
      The details view is divided into three sections:
    1. Basic Info:
      • Status: Displays the current status (Planned, Sealed, or Deconsolidated).
      • Consolidated At: Location where consolidation occurred.
      • Next Facility: Next facility in the shipment workflow.
      • Consolidated By User: The user who performed the consolidation.
      • Creation Time: Timestamp of consolidation creation.
      • Gross Weight: Total weight of all shipments in the consolidation.
      • Total Number of Shipments: Number of individual shipments in the consolidation.
      • Tags: Any associated tags for easy categorization.
      • Notes: Custom notes related to the consolidation.
      • Attachments: Files or documents associated with the shipment.
      • Custom Fields: Displayed based on the logged-in user’s role as per ADM settings (reference: QP-422: SHPv2 - Manage access to custom fields).
    1. Milestones List:
      • Displays all milestones starting from the very first consolidation milestone.
      • For each milestone:
        • Milestone Name
        • Code
        • Reason
        • Time
        • Milestone Location
        • User Who Triggered the Milestone
        • Note
        • Attachments
    1. Child Shipments List:
      • Displays a detailed list of child shipments, similar to the shipment list visible during the Edit Consolidation operation.

     

    Benefits:

    1. Enhanced Data Visibility: Provides a centralized view of consolidated shipment information, including milestones and child shipments.

    2. Secure Access: Permission-based controls and 403 error handling ensure data security and prevent unauthorized access.

    3. Improved Workflow Efficiency: Detailed insights into shipment status and milestones streamline operations and decision-making.

    4. User-Centric Design: Organized sections and role-based custom field visibility ensure a user-friendly experience.

    6. Display Vendor Service Info in Shipment View 

    The Shipment View has been enhanced to display Vendor Service Information. Now, the Vendor Name and Vendor Service Name (if specified for the segment) will appear together in the Segment Card, providing more comprehensive visibility of vendor-related details.

    Key Functionalities:

    1. Display Vendor and Vendor Service Information:
      • If a Vendor Service Name is specified for the segment, it will be displayed alongside the Vendor Name in the segment card.
      • Both names will share the same row, ensuring compact and user-friendly visibility.
    2. High-Level UX Design:
      • The Vendor Name and Vendor Service Name will occupy 50% of the row each.
      • A delimiter (e.g., a vertical bar |) will separate the two names for clarity.

    3. Fallback Behavior:
      • If no Vendor Service Name is specified for a segment, only the Vendor Name will be displayed, occupying the full row.

    Benefits:

    1. Enhanced Visibility: Displays both Vendor Name and Vendor Service Name in a single view for better operational clarity.

    2. Streamlined Information: Compact row layout ensures that segment cards remain visually clean and easy to read.

    3. User-Friendly Design: Delimiter provides clear separation between the two pieces of information, improving usability.

    4. Fallback Logic: Ensures that the display remains intuitive and functional, even when service information is unavailable.


     7.
    Vendor Service Selection in Lane Edit

    The Lane Edit Form has been enhanced to allow users to select Vendor Services relevant to the selected vendor and connection. A new Vendor Service Dropdown Field (optional) is introduced, which dynamically displays options based on the Vendor, Start Node, and End Node of the connection. This ensures only valid vendor services can be selected, streamlining lane configuration and preventing mismatches.


    Key Functionalities:

    1. Dynamic Vendor Service Dropdown:
      • A Vendor Service Dropdown Field appears alongside the Vendor Dropdown in the Lane Edit Form.
      • Dropdown values are dynamically populated based on:
        • Selected Vendor
        • Start Node of the connection
        • End Node of the connection
    2. No Values for Missing Information:
      • If any of the three fields (Vendor, Start Node, or End Node) is missing, the Vendor Service Dropdown will not display any values.
    3. Resetting Vendor Service on Changes:
      • Whenever the Vendor, Start Node, or End Node is modified:
        • The currently selected Vendor Service value is cleared.
        • The dropdown is repopulated based on the updated selections.
    4. Mandatory Vendor Service Selection:
      • If vendor services are associated with the selected vendor, the Vendor Service field becomes mandatory.
      • Users cannot save the connection without specifying a vendor service in such cases.
    5. Backend Validation:
      • Backend (BE) validation ensures that the selected Vendor Service matches the Origin-Destination (O-D) pairs configured for it.
      • If there is a mismatch, the system will display an error message preventing submission.

    Benefits:

    1. Streamlined Lane Configuration: Dynamic dropdowns ensure users only select valid vendor services, simplifying workflows.

    2. Enhanced Accuracy: Backend validation and import template updates reduce errors in vendor service configuration.

    3. Improved User Experience: Real-time updates in the dropdown and mandatory field logic improve ease of use.

    4. Seamless Integration with Shipments: Vendor service details are accurately assigned to shipment segments during journey creation.

    5. Efficient Bulk Management: The updated import template allows for accurate, large-scale updates to lanes, ensuring consistency.

      8. Vendor Services in Bulk Lanes Import 

      This enhancement introduces support for Vendor Services in the Bulk Lanes Import Template (Version 3). A new column for Vendor Service Code is added, ensuring vendor service details can be imported and validated alongside vendor information. This update streamlines the process of configuring lanes with vendor services and integrates vendor service assignment into the shipment journey.


      Key Functionalities:

      1. New Vendor Service Code Column:
        • The Bulk Lanes Import Template (Version 3) now includes a new column for Vendor Service Code, placed directly after the Vendor Code column.
      2. Mandatory Vendor Service Specification:
        • If vendor services are defined for a vendor, the Vendor Service Code must be specified for that vendor in the import file.
        • Rows without required vendor service codes will fail validation.
      3. Backend Validation for Vendor Services:
        • The imported Vendor Service Code is validated against the ADM configuration:
          • Vendor Association: The vendor service must be associated with the specified vendor.
          • O-D Pair Validation: The start and end nodes of the lane must match the Origin-Destination (O-D) configuration for the vendor service.
          • Invalid entries are flagged, and the import process will not proceed for those rows.
      4. Vendor Service Assignment in Shipment Journey Creation:
        • During shipment journey creation, the specified Vendor Service is automatically assigned to the shipment segment along with the vendor.

       

      Benefits:

      1. Streamlined Lane Configuration: Automatically validates and imports vendor service information alongside vendor data, reducing manual configuration.

      2. Improved Data Accuracy: Backend validation ensures that only valid vendor service details are processed, preventing errors during shipment journey creation.

      3. Efficient Bulk Operations: The Bulk Lanes Import Template (Version 3) allows for large-scale updates, making it easier to manage vendor service assignments.

      4. Seamless Vendor Service Assignment: Automatically assigns the correct vendor service during shipment journey creation, improving data consistency across the platform.


      9. Role-Based Access Control for Custom Fields in SHPv2
      This feature enhances access control for custom fields in SHPv2 by associating roles with each field, ensuring that users can only view or edit fields relevant to their role. These changes apply to both the SHPv2 Web App and SHP Mobile App, with robust backend logic to handle GET and write operations securely.

      Benefits:

      • Enhanced Security: Prevents unauthorized access and edits to custom fields.
      • Role-Based Flexibility: Tailors field visibility and accessibility to user roles.
      • Seamless Integration: Ensures consistent behavior across the web app, mobile app, and backend.
      • Scalability: Prepares the system for future expansions of role-based access control.

      10. Fetch Flight Schedule to Compute Segment Timings 

      This feature enables the lookup of flight schedules during journey creation for precise computation of segment timings. The integration with FlightStats Schedules API allows the system to fetch real-time flight schedules, ensuring accurate departure and arrival timings. The logic will also handle iterative lookups and fallback to current behavior in case of errors or missing schedules.

      Key Functionalities:

      1. Prerequisites for Flight Segment Timings:
      • Previous Segment:
        • A preceding segment must exist to determine the effective start time for the flight segment.
      • Lane Configuration:
        • Lockout duration and recovery duration must be specified in the lane.
        • Airline code and flight number must also be configured in the lane.
      2. Flight Schedule Lookup Logic:
      • Effective Start Time:
        • Compute the effective start time of the flight segment as the end time of the previous segment.
      • Earliest Possible Departure Time:
        • Add the lockout duration to the effective start time to determine the earliest departure time for the flight.
      • FlightStats API Query:
        • Query the FlightStats Schedules API with the flight number, airline code, and the earliest possible departure date.
        • If a flight with a departure time post the earliest departure time is found, use this flight’s schedule.
      • Iterative Lookup:
        • If no suitable flight is found on the specified date, query subsequent days iteratively until a flight is found.
        • Limit the number of iterations with a configurable maximum (default = 7).
      • Caching:
        • Implement caching to minimize redundant queries to the FlightStats API for frequently accessed schedules.
      3. Schedule Application Logic:
      • Populate Segment Timings:
        • Use the fetched schedule to populate the departure and arrival times for the flight segment.
        • Add the recovery duration to the arrival time to compute the recovery time.
      • Set Effective Start Time for Next Segment:
        • The recovery time becomes the effective start time for the next segment in the journey.
      4. Fallback Behavior:
      • If no flight is found or an error occurs during the FlightStats lookup:
        • Fall back to the current behavior by using the segment duration to compute approximate timings.

      Benefits:

      • Precision: Accurate journey timelines with real-time flight schedules.
      • Flexibility: Configurable maximum lookup iterations for tailored performance.
      • Efficiency: Reduced API calls with caching mechanisms.
      • Resilience: Fallback behavior ensures the journey timeline is still computed in case of errors.

       



      Order Management


      1. Improved Label Printing UX with Error Handling

      We’ve enhanced the user experience for printing labels to better handle errors and timeouts during label generation, especially for bulk orders.

      What’s New?

      1. Error Feedback for Background Jobs:
        • When printing labels for 5 or more orders, if the background label generation job fails due to errors or timeouts, users will now see clear error messages in the UI.
        • This ensures users are informed about the status of label generation without waiting indefinitely.
      2. Improved Job Handling:
        • Retry mechanisms for background jobs have been optimized to prevent unnecessary retries that increase the load on label APIs.
        • Failed jobs are now retried more efficiently, ensuring minimal system strain while maintaining performance.

      Benefits:

      • Clear Feedback: Prompt error messages keep users informed about label generation issues.
      • Reduced Downtime: Immediate notifications prevent indefinite waiting during failures.
      • Optimized Performance: Efficient retries reduce API strain and maintain system stability.
      • Enhanced User Experience: Streamlined processes ensure smoother label printing for bulk orders.
      • Operational Efficiency: Faster issue resolution minimizes disruptions and maintains order flow.

      2. Apply Authorization for OM APIs 

      We’ve implemented permission-based authorization for OM (Order Management) APIs to enhance security and ensure users access only the data and actions they are authorized for.

      Key Updates:

      1. Permission Codes for OM APIs:
        • Each OM API now has a defined permission code base aligned with specific actions.
        • These action codes determine whether a user has the required permissions to perform the associated API operations.
      2. Action Codes for OM APIs:
        • A comprehensive document (QP-434) has been created to list and detail the permission codes for each OM API.
        • Examples of action codes include:
          • VIEW_ORDER: Permission to view orders.
          • EDIT_ORDER: Permission to modify orders.
          • CANCEL_ORDER: Permission to cancel orders.
          • CREATE_ORDER: Permission to create new orders.
        • Each API checks the user’s assigned permissions before proceeding.
      3. Authorization Enforcement:
        • OM APIs now validate the user’s permissions against the assigned action codes.
        • Unauthorized access attempts result in clear error messages, improving transparency and debugging.
      4. Documentation Update:
        • The detailed document (QP-434) outlines the action codes, their associated permissions, and their applicable APIs to support easy integration and role-based access management.

      Benefits: 

      • Enhanced Security: Ensures only authorized users can access or modify order data, protecting sensitive information.
      • Role-Based Control: Permission codes aligned with specific actions provide granular access management for OM APIs.

      • Improved Transparency: Clear error messages inform users of unauthorized actions, simplifying debugging and compliance.

      • Streamlined Management: Comprehensive documentation simplifies API integration and role-based access configuration.

      • Operational Efficiency: Reduces risk of unauthorized changes, ensuring data integrity and smooth workflows.



      Pricing & Costing

      1. Propagation of Vendor Service Information to Costing Module 

      This enhancement ensures that Vendor Service Information, when specified in a shipment segment, is propagated to the Costing Module. Financial users will now be able to see cost repository records for shipment segments that include both the vendor and corresponding vendor service (if assigned), enhancing transparency and accuracy in cost management.

      1. Data Propagation:
        • Automatically propagate Vendor Name and Vendor Service Info to the Costing Module during shipment segment creation.
      2. Enhanced Cost Repository Record:
        • Cost repository records will now include:
          • Vendor Name
          • Vendor Service Name (if specified).
      3. Seamless Handling:
        • Existing segments without vendor service info will remain unaffected.
        • Only segments with specified vendor service info will utilize the updated functionality.

      Benefits:

      • Improved Transparency: Enables financial users to see both vendor and vendor service details in cost records, providing a clearer cost breakdown.

      • Accurate Cost Management: Ensures cost repository records reflect all relevant data, improving accuracy in financial analysis and reporting.

      • Seamless Integration: Automatically propagates vendor service info for new segments without impacting existing ones, ensuring smooth adoption.

      • Enhanced Decision-Making: Provides detailed insights into costs associated with specific vendor services, supporting better cost management strategies.


      2. Propagate Vendor Service Info in Vendor Booking Webhook 

      The Vendor Booking Webhook in the Quincus Open API has been enhanced to include the Vendor Service Code (if specified) under the segment object. This update ensures downstream systems receive comprehensive vendor service data as part of the booking process, improving integration and automation.

      1. Optional Inclusion of Vendor Service Code:
        • If a Vendor Service Code is specified for a shipment segment, it will now be included in the payload sent via the Vendor Booking Webhook.
        • If no vendor service code is specified, the webhook behavior remains unchanged.
      2. Updated Webhook Payload Structure:
        • The segment object in the webhook payload will now optionally include the vendorServiceCode field.
      1. Backward Compatibility:
        • Systems relying on the webhook will continue to function without changes if they do not utilize the vendorServiceCode field.

      Benefits:

      • Enhanced Integration: Provides comprehensive vendor service data, improving downstream system alignment.
      • Increased Automation: Facilitates seamless data flow for better operational efficiency.
      • Flexibility: Optional inclusion of Vendor Service Code ensures only relevant data is shared.
      • Backward Compatibility: Maintains functionality for systems not utilizing the vendorServiceCode field.
      • Improved Data Accuracy: Ensures detailed vendor information is available in booking processes.

      3. Support Rates Calculation Based on Commodity Type 

      This enhancement introduces the ability to calculate Rates, Taxes, and Import Duties based on Commodity Types. It integrates commodity-specific pricing and costing into the system, ensuring accuracy for scenarios where rates vary by commodity. Additionally, the system supports flexible handling of commodity types during order creation and management.

      Key Functionalities for Commodity-Based Rates Calculation

      1. Commodity Type Master Data Management:
        • Admin Module Integration:
          • Define and manage commodity types as master data.
          • Perform bulk operations (create, edit, delete) for efficient management.
        • UI Interface for Management:
          • View, create, edit, and delete commodity types through an intuitive interface.
      2. Commodity Type Integration in Orders:
        • Dropdown Selection in Orders:
          • Display a searchable list of commodity types in the Shipment Section during order creation/editing.
        • Manual Entry for Unlisted Types:
          • Allow users to select “Other” and manually specify unlisted commodity types.
        • Bulk Import Mapping:
          • Map user-specified commodity types with master data during bulk imports.
          • Automatically assign “Other” for unmatched types and store the user-specified value.
        • Open API Support:
          • Map user-provided commodity types during order creation/editing via API.
          • Handle unmatched types by assigning them as “Other” and storing the details.
      3. Rates and Taxes Based on Commodity Types:
        • Tax Rate Configuration:
          • Configure customer pricing or vendor costing with rates of type “Tax”.
          • Include conditions based on Commodity Type using the Rate Builder.
        • Dynamic Rate Calculation:
          • Automatically calculate and apply tax rates based on the commodity type during:
            • Order creation.
            • Shipment assignment to a vendor.
      4. Handling Multiple Commodity Types in Shipments:
        • Support for Multiple Types:
          • Assign multiple commodity types to a single shipment.
          • Calculate costs and taxes for each type individually based on its associated Value of Goods.
        • Optional Value of Goods:
          • If Value of Goods is not provided, the system skips tax calculation while still calculating other costs.
      5. Validation and Accuracy:
        • ADM Validation:
          • Validate commodity types against the master data for all inputs (UI, bulk import, API).
        • Rate Calculation:
          • Ensure accurate tax and duty application based on configured rates for the specified commodity types.
      6. User-Friendly Bulk Operations:
        • Support for managing commodity types through bulk create/edit/delete actions.
        • Simplified mapping and error handling during bulk imports of orders.
      7. Integration into Pricing and Costing:
        • Automatically associate the appropriate Commodity Type in customer pricing and vendor costing workflows, ensuring consistency across the platform.

      Benefits:

      • Accurate Tax and Duty Calculation: Ensures precise rates based on specific commodity types.
      • Flexible Management: Supports defining, editing, and mapping commodity types, including unlisted items.
      • Dynamic Rate Application: Automatically applies taxes and costs during order creation and vendor assignments.
      • Efficient Bulk Operations: Simplifies handling large data sets with bulk import/export and validation.
      • Seamless Integration: Aligns commodity-specific pricing and costing across the platform for consistency.


      4. Support for "Per Additional Volume Block" in Shipping/Cost Rates 

      This feature introduces the ability to configure surcharges based on additional volume blocks in shipping and cost rates. The system allows users to specify rules where charges are applied for volumes exceeding a threshold, calculated based on defined block sizes and volume units.

      Key Functionalities:

      1. New Trigger Option: "Volume"
      • Trigger in Rate Builder:
        • Add a new “Volume” trigger option in the IF dropdown of the Rate Builder.
        • Applicable operators:
          • All operators supported for Chargeable Weight (e.g., More Than, Between, Equal To, etc.).
      • Volume Unit Selection:
        • Dropdown for volume units includes:
          • Cubic Foot (cu ft)
          • Cubic Inch (cu in)
          • Cubic Millimeter (cu mm)
          • Cubic Centimeter (cc)
          • Cubic Meter (cu m)
      1. New "Then" Option: "Per Additional Volume Block"
      • Available only when the “Volume” trigger uses “More Than” operators.
      • Allows users to define:
        • Block Size: Float numbers are supported (e.g., 0.5, 1.5, 3.75).
        • Rate per Block: Surcharge amount for each additional block of volume.

      Calculation Example:

      Assume the following configuration:

      • IF: Volume > 9 cc
      • THEN: Per additional volume block of 0.5 cc, rate = 30 TWD
      • Shipment Volume: 15.2 cc

      Calculation:

      1. Total additional volume = 15.2 - 9 = 6.2 cc
      2. Total additional volume in blocks = ceiling(6.2 / 0.5) = ceiling(12.4) = 13 blocks
      3. Total price/cost = 30 * 13 = 390 TWD

      Benefits:

      • Flexible Surcharge Configuration: Enables users to apply charges for exceeding volume thresholds using customizable block sizes and rates.
      • Precision in Costing: Supports precise volume-based calculations with float values for block sizes (e.g., 0.5, 1.5, 3.75).
      • Comprehensive Unit Options: Allows selection from multiple volume units (e.g., cu ft, cu in, cc) to suit different business needs.
      • Enhanced Pricing Logic: Introduces dynamic triggers and conditions for accurate and scalable rate management.
      • Improved Cost Management: Simplifies handling surcharges for oversized shipments, ensuring consistent and fair pricing.


      5. Add option “Per chargeable weight block“ to then part of shipping/cost rate

      This enhancement introduces a new “Per Additional Weight Block” option in the Then section of the shipping and cost rate configuration. This allows users to configure rates based on additional weight blocks when certain conditions on Chargeable Weight or Gross Weight are met.

      Key Functionalities:

      1. New Option: "Per Additional Weight Block"
      • Description:
        • Allows users to define a rate applied for every additional block of weight beyond a specified threshold.
        • Users can configure:
          • Block Size: The size of each weight block (supports float values).
          • Rate Per Block: The surcharge amount for each block.
      1. Applicability:
      • "IF" Section:
        • This option is only applicable when Chargeable Weight or Gross Weight is selected in the IF dropdown.
      • Operators:
        • Supported only with “More Than” based operators (e.g., “More Than,” “More Than or Equal To”).
      1. Integration with Import Template:
      • Template Support:
        • Add support for “Per Additional Weight Block” in both pricing and costing rate import templates.
        • The rule_trigger_value column accepts two inputs:
          1. Block Size: The size of the weight block.
          2. Rate: The surcharge amount for each block.
        • This means that for every 0.5 weight block, apply a rate of 30 units.

      Scenario:

      A shipping company wants to charge a surcharge for shipments exceeding a weight threshold, based on every additional block of weight. They configure the following rule:

      • IF: Chargeable Weight > 10 kg

      • THEN: Per additional weight block of 0.5 kg, apply a rate of $20.


      Shipment Weight: 12.3 kg

      1. Threshold Exceeded:

        • Shipment exceeds the threshold of 10 kg by 2.3 kg.

      2. Calculate Additional Blocks:

        • Additional weight = 12.3 kg - 10 kg = 2.3 kg.

        • Block size = 0.5 kg.

        • Total additional blocks = Ceiling(2.3 / 0.5) = 5 blocks.

      3. Apply Rate Per Block:

        • Rate per block = $20.

        • Total surcharge = 5 blocks × $20 = $100.


      Shipment Weight: 9.8 kg

      1. Threshold Not Exceeded:

        • Since the shipment weight (9.8 kg) is below the threshold (10 kg), no surcharge applies.

      Benefits:

      • Precision in Pricing: Charges are applied accurately based on additional weight, improving fairness and transparency.

      • Customizability: Businesses can adjust block sizes and rates to align with their operational needs.

      • Scalability: Supports integration with templates for bulk rate updates, saving time and effort.

       
      6. Rename “Linear dimensions“ to “Sum of linear dimensions“ 

      This update standardizes terminology across the platform by renaming "Linear Dimensions" to "Sum of Linear Dimensions" in both the Customer Pricing and Vendor Costing Modules. The change is applied across the UI, import/export features, and existing rate configurations, ensuring consistency.

      Key Functionalities:

      1. UI Updates:
      • Customer Pricing Module:
        • Rename "Linear Dimensions" to "Sum of Linear Dimensions" in the IF Block of the Rate Builder.
      • Vendor Costing Module:
        • Rename "Linear Dimensions" to "Sum of Linear Dimensions" in the IF Block of the Rate Builder.
      1. Import/Export Updates:
      • Rate Import:
        • Update the Pricing and Costing Rate Import Templates to replace "Linear Dimensions" with "Sum of Linear Dimensions."
        • Ensure new imports using the updated terminology are validated and processed correctly.
      • Rate Export:
        • Update the Pricing and Costing Rate Export Features to display "Sum of Linear Dimensions" in exported files.
      1. Backward Compatibility:
      • Automatic Renaming:
        • Existing rates that use the old wording "Linear Dimensions" are automatically updated to "Sum of Linear Dimensions" in the database and UI upon deployment of the new code.

      Benefits:

      • Improved Clarity: The updated terminology better reflects the calculation, reducing confusion.
      • Consistency: Standardizes terminology across the platform, including UI and import/export templates.
      • Seamless Transition: Automatic updates ensure no disruption to existing configurations or workflows.


      7. Add option "Percentage of Shipping Subtotal" for tax calculation 

      This enhancement introduces a new option, “Percentage of Shipping Subtotal,” in the “Then” dropdown for creating or editing tax rates in both Customer Pricing and Vendor Costing modules. It allows calculating tax as a percentage of the shipping subtotal, which is derived by summing up price or cost items of type Shipping Rate or Surcharge.

      Key Functionalities:

      1. Customer Pricing:
      • Create/Edit Shipping Rates Form:
        • When the Type is set to Tax, the “Then” dropdown now includes the option “Percentage of Shipping Subtotal.”
      1. Vendor Costing:
      • Create/Edit Cost Rates Form:
        • When the Type is set to Tax, the “Then” dropdown now includes the option “Percentage of Shipping Subtotal.”
      1. Tax Calculation Logic:
      • Shipping Subtotal Calculation:
        • Sum of all price/cost items where the Type is:
          • Shipping Rate
          • Surcharge
        • Excludes any other types (e.g., Insurance or other future types).
      • Tax Calculation:
        • Apply the specified percentage to the calculated Shipping Subtotal.

      Allows tax to be calculated based on the shipping subtotal. Ensures only relevant items are included in the subtotal.Future-proofed to exclude unrelated types (e.g., Insurance).

      8. Feature Specification: Optional Origin and Destination with "NA" Radio Button 

      This enhancement makes the "Origin" and "Destination" fields optional in the Pricing and Costing Rate Builder. A new radio button labeled "NA" (Not Applicable) is introduced, allowing users to explicitly specify when these fields are not relevant. This update ensures flexibility in rate configuration while maintaining clarity in data representation.

      Key Functionalities:

      1. UI Updates:
      • Pricing/Costing Rate Builder:
        • For Origin and Destination fields, add a third radio button labeled "NA" alongside the existing options.
        • Users can choose between:
          • Specified value (selectable from dropdown).
          • Leave the field empty (defaults to "NA").
          • Explicitly select "NA" using the radio button.
      1. Rate Import Behavior:
      • Default Handling for Missing Values:
        • If Origin or Destination is missing in the import template:
          • Assume the missing value as "NA" by default.
        • Supported combinations:
          • Only Origin Specified: Destination defaults to "NA."
          • Only Destination Specified: Origin defaults to "NA."
          • Both Missing: Both default to "NA."
      1. Rate Export Behavior:
      • Export rates to include "NA" explicitly for missing Origin or Destination values.
      1. Rate Listing Page:
      • Display "-" in the Origin and Destination columns for rows where the value is "NA."

      Benefits:

      • Enhanced Flexibility: Makes "Origin" and "Destination" fields optional, accommodating scenarios where these fields are not relevant.
      • Improved Data Representation: Explicit "NA" handling ensures clarity and consistency in rate configurations, imports, and exports.
      • Streamlined Workflow: Simplifies data entry by allowing users to default missing values to "NA," reducing errors.
      • Better User Experience: Intuitive UI and clear display (e.g., "-" for "NA") improve usability and readability across the platform.

      9. Extend Group Name Length to 100 Characters 

      This update increases the maximum allowed length for group names in the Pricing and Costing Modules to 100 characters. The update also ensures error messages reflect the new character limit and that group names are displayed correctly across all relevant sections of the platform.


      10. Add "Maximum Rate" for Shipping Rates – QP308

      This feature introduces a "Maximum Rate" field in the Create/Edit Shipping Rate page to allow users to cap the calculated price based on the rate builder. The "Maximum Rate" works in conjunction with the existing "Minimum Rate" and ensures the calculated price adheres to defined boundaries. The updated logic also applies to rate import/export templates for seamless integration.

      Key Functionalities:

      1. Maximum Rate Field:
      • New Section:
        • Add a "Maximum Rate" field below the "Minimum Rate" section in the Create/Edit Shipping Rate page.
        • Include helper text:
          • "Determine the maximum rate for this shipping rate."
        • The field is optional.
      • Unified Currency Selection:
        • Replace the "Currency" selection dropdown in the "Minimum Rate" section with a shared dropdown for both "Minimum Rate" and "Maximum Rate."
        • Users select the currency once, which applies to both rates.
      2. Updated Price Calculation Logic:
      • Scenario 1:
        • If Price based on rate builder > Maximum Rate, then:
          • Calculated Price = Maximum Rate.
      • Scenario 2:
        • If Price based on rate builder < Maximum Rate, then:
          • Calculated Price = Price based on rate builder.
      • Scenario 3:
        • If Price based on rate builder < Minimum Rate, then:
          • Calculated Price = Minimum Rate.
          • (This retains the existing logic for the minimum rate.)
      3. Import/Export Template Updates:
      • Rate Import Template:
        • Add a field for Maximum Rate similar to Minimum Rate.
        • Validate that the maximum rate is optional, and ensure no errors occur for blank entries.
      • Rate Export Template:
        • Include Maximum Rate in the export format, ensuring consistency with the updated fields.

      Benefits:

      • Pricing Control: Enables users to cap shipping rates, ensuring calculated prices remain within defined boundaries.
      • Enhanced Flexibility: Combines "Minimum Rate" and "Maximum Rate" with a shared currency selector for simplified configuration.
      • Accurate Price Calculation: Adjusts prices dynamically based on rate builder logic while adhering to minimum and maximum limits.
      • Seamless Integration: Updates to import/export templates ensure consistency and ease of bulk operations.


      11. Feature Specification: Support for "Linehaul" Service Add-On in Shipping Rates 

      This update introduces support for the
      "Linehaul" service add-on in Customer Pricing, while simplifying the Vendor Costing workflow by removing service add-ons entirely. These changes streamline rate configuration and ensure consistency across pricing and costing modules.

      1. Add "Linehaul" to Service Add-On Dropdown in Rate Builder:
      • Customer Pricing → Rate Builder:
        • Include "Linehaul" (case-insensitive) as an option in the Service Add-On dropdown.
        • Users can select "Linehaul" when configuring rates.
      1. Update Customer Pricing Rate Card Templates:
      • Import Template:
        • Accept "Linehaul" as a valid value for the Service Add-On field.
        • Validate input to ensure case-insensitive support for "Linehaul."
      • Export Template:
        • Include "Linehaul" in the Service Add-On field for rates using this add-on.
      1. Remove Service Add-On from Vendor Costing:
      • Rate Builder:
        • Remove the Service Add-On dropdown from the Costing UI.
      • Import Template:
        • The Service Add-On field will no longer be supported in the Vendor Costing Rate Card Template.
      • Export Template:
        • The Service Add-On field will no longer appear in exported costing rate cards.

       

      Benefits:

      • Enhanced Customer Pricing Options: Adds "Linehaul" as a configurable service add-on, improving flexibility for customer-specific rate management.
      • Streamlined Vendor Costing: Simplifies vendor workflows by removing service add-ons entirely, reducing complexity in rate configuration.

      • Template Consistency: Updates import/export templates to support "Linehaul" in Customer Pricing while ensuring clean removal from Vendor Costing templates.

      • Improved Usability: Case-insensitive validation and template updates ensure seamless adoption and integration into existing workflows.

      12. Enhancements to Rate Name and Item Representation in Pricing 


      This enhancement introduces a new field,
      Rate Name, for pricing and cost rates to improve clarity and usability across the platform. The Rate Name replaces the use of Rate ID for item representation, ensuring user-friendly labels while maintaining system integrity with auto-generated Rate IDs.

      1. Rate Name Field
      • Introduce Rate Name as a new field:
        • Freely input: Users can define any descriptive name for rates.
        • Non-unique: The same name can be used for multiple rates.
        • Mandatory: Rate Name is required in both the Create/Edit Rate UI and Import Template.
      2. Auto-Generated Rate ID
      • Replace manual input of Rate ID:
        • Auto-generation: System creates alphanumeric Rate IDs (e.g., R1234, AB789).
        • Display as non-editable in the Edit Rate UI.
      3. Import/Export Updates
      • Import Template:
        • Retain Rate ID as a column but ignore its value during import.
        • Base edits solely on the ID column.
        • New column order: ID, Rate ID, Rate Name, followed by other fields.
      • Export Template:
        • Include both Rate ID and Rate Name in the export.
        • New column order: ID, Rate ID, Rate Name, followed by other fields.
      4. Rate List Page Enhancements
      • Display Rate Name as a new column alongside Rate ID in the Price/Cost Rates list.
      5. Line Item Grouping on Details Page
      • Price/Cost Details Page:
        • Group line items by Rate Name and type.
        • Allow users to expand grouped items to see individual child line items.
      6. Order Summary Updates
      • OM and QShip Price Details:
        • Replace Rate ID with Rate Name in the item breakdown column.
      7. Repository Export Updates
      • Use Rate Name for the item_name column in the price/cost repository export.
      • Add both Rate ID and Rate Name to the export file.
      8. Data Migration
      • Migrate existing data:
        • Populate the Rate Name field with the corresponding Rate ID for all existing rates across all organizations.
      9. Backward Compatibility
      • Existing data and workflows remain unaffected.
      • Import logic gracefully ignores unused Rate ID fields, ensuring smooth adoption.
      10. Enhanced User Experience
      • Consistent, user-friendly labels improve clarity in rate representation.
      • Grouping functionality ensures a cleaner and more organized display of line items.


      These functionalities ensure better organization, usability, and consistency across pricing and cost rate management workflows.

      13. Performance Tuning for Rate Imports

      This feature focuses on optimizing the performance of the rate import functionality to handle large files efficiently and support concurrent users. The redesign uses asynchronous job processing and parallel execution techniques to achieve high throughput and scalability.

      1. Asynchronous Processing:
      • Job Queues:
        • Each import request is processed asynchronously using a job queue (e.g., RabbitMQ, AWS SQS, or similar).
      • Decoupled Execution:
        • Split the upload and processing phases to avoid blocking the UI:
          • Upload: Users upload the file, and it is queued for processing.
          • Processing: A background job processes the file and updates the status in real-time.

      2. Parallel Processing:

      • Batch Execution:
        • Break the file into smaller batches (e.g., 1,000 or 10,000 records per batch) and process them in parallel.
      • Worker Pools:
        • Use a pool of worker threads or instances to process batches concurrently.
        • Assign a dynamic number of workers based on system load and available resources.

      3. Database Optimization:

      • Bulk Inserts/Updates:
        • Use bulk operations for database writes instead of individual record processing.
      • Indexing:
        • Ensure appropriate indexing on key fields (e.g., organization ID, rate type) to speed up queries.
      • Transaction Management:
        • Commit changes in batches to reduce lock contention and improve write performance.

      4. Scalability Improvements:

      • Horizontal Scaling:
        • Use horizontal scaling (e.g., Kubernetes pods, serverless functions) to handle spikes in concurrent imports.
      • Rate Limiting:
        • Implement rate limits per user/org to prevent resource contention during peak usage.

      Handles large files and concurrent users with ease. Reduces processing time significantly with parallel and asynchronous processing.Provides a seamless and responsive user experience during imports.


      QShip 

      1. Role-Based Access to Custom Fields in ShipmentApp 

      This feature introduces role-based access control (RBAC) for custom fields in the ShipmentApp, managed through the ADM settings. Roles will be associated with each custom field, defining user access rights (read/write) to those fields. While most of the development occurs on the SHPV2 backend, the ShipmentApp requires updates for integration and testing to ensure seamless functionality.


      Key Functionalities:

      1. Role-Based Custom Field Management in ADM:
      • ADM Settings:
        • Roles are associated with each custom field during its creation or editing.
        • Roles define access levels:
          • Read-Only Access: Users can view the field but cannot edit it.
          • Read and Write Access: Users can view and modify the field.
          • No Access: The field is hidden from users without the required role.
      1. ShipmentApp Integration:
      • Custom Field Visibility and Accessibility:
        • Display custom fields in the ShipmentApp based on the user’s role and associated access rights defined in ADM.
        • Read-Only Fields: Shown in a non-editable format.
        • Hidden Fields: Completely excluded from the UI for users without access.
      • Data Integrity:
        • Enforce backend validation to prevent unauthorized access or edits, even in cases of API manipulation.

      Ensures sensitive data is accessible only to authorized users.


      Dispatch

      1. Manifest Enhancements 

      This feature enhances the Driver Manifest functionality in dispatch by allowing individual driver-specific manifests to be exported. The exported files are well-structured, adhering to updated formatting and naming conventions, and include all necessary details for drivers to complete their routes effectively.

      1. Rename Dropdown Menu:
      • Update the existing Download Manifest option to Export Driver Manifests in the kebab dropdown menu.
      2. ZIP File and Individual File Naming:
      • ZIP File Name:
        • Format: [dispatch name]-driver-manifests-export.zip
        • Example: Central-Dispatch-driver-manifests-export.zip
      • Individual File Names:
        • Format: [driver name]-driver-manifest-export.pdf
        • Example: John-Doe-driver-manifest-export.pdf
      3. PDF Content and Layout:
      • Driver Details:
        • Include driver name, contact number (with country code), and any other relevant identification details.
      • Route Details:
        • Include the route summary, route start and end points, and estimated completion time.
        • Ensure shipment details begin on a new page after route details.
      • Shipment Details:
        • Include the following:
          • Shipment IDs
          • Delivery or pickup addresses
          • Contact details of recipients
          • Any special instructions
      4. Content Updates:
      • Mobile Number Format:
        • Display numbers with the country code: e.g., +65 12456879
      • Date and Time Format:
        • Update to ISO 8601 format: e.g., 2024-01-30T14:30:00+08:00
      • Units in Columns:
        • Append units to the following columns:
          • Job Distance: e.g., 15 km
          • Gross Weight: e.g., 20 kg

      Benefits

      • Driver-Specific Manifests: Allows export of individual manifests tailored to each driver, ensuring clarity and usability.

      • Improved File Organization: Updated naming conventions for ZIP files and individual PDFs streamline document management.

      • Comprehensive Details: Includes driver information, route summaries, shipment details, and special instructions for seamless route execution.

      • Standardized Formatting: Updates to mobile numbers, date-time format (ISO 8601), and unit labels improve consistency and professionalism.

      • Enhanced Usability: Clear layout and logical structuring of shipment details make manifests easier for drivers and authorities to understand.

       


      Driver App 


      Support for Vendor Booking Additional Fields (Custom Fields)

      This feature introduces custom fields at the order and shipment levels in the DriverApp. These custom fields are metadata that flows through the system downstream for reporting or propagation to vendors but are not actively processed by the SHP module. Custom fields will adhere to permissions and validation rules and be displayed dynamically in the DriverApp UI.

      1. Custom Fields for Shipment Entity:
      • Introduced as key-value pairs within the shipment entity.
      • Serve as metadata for downstream use (e.g., vendor propagation or reporting) without being actively processed by SHP.
      2. Role-Based Permission Enforcement:
      • Backend Permission Checks:
        • Ensure only authorized custom fields are returned and rendered in the UI.
        • Unauthorized custom fields are filtered out at the backend.
      • Dynamic UI Display:
        • Fields are displayed conditionally based on user permissions.
      3. Validation at Upstream Modules (OM/APIG):
      • Validation Responsibility:
        • OM/APIG ensures custom fields conform to ADM-defined allowed keys when first received.
      • ADM Configuration:
        • Allowed custom field keys are managed and mapped to the Shipment entity in ADM.
      4. Enhanced DriverApp UI:
      • Dynamic Rendering:
        • Use CUI components to render custom fields based on their type:
          • Text fields, dropdowns, checkboxes, etc.
      • Additional Fields Section:
        • Display custom fields under Order Info and Shipment Info sections.
        • Section is hidden if no custom fields are available.
      5. Flexible Display Logic:
      • Custom fields are displayed in the Order Info and Shipment Info sections of the shipment details page.
      • Conditional Behavior:
        • Fields not available for a user are excluded from the display.
        • Users can edit shipments without affecting fields they don’t have access to.
      6. System Integration:
      • Custom Fields in APIs:
        • Defined at a collection level for seamless propagation.
        • Write operations return a 403 error if a user attempts to modify fields they lack permissions for.
      • System-to-System Exemptions:
        • Calls like Arcstone to SHP BE bypass permission checks for full access to custom fields.
      7. Metadata Propagation:
      • Custom fields flow downstream (e.g., to vendors) as part of the shipment entity.
      • Ensures information is consistent across all stages of the shipment lifecycle.
      8. Unified Experience Across Apps:
      • Display and behavior are consistent between:
        • SHP Web UI.
        • DriverApp shipment details page.
      9. Simplified Data Management:
      • Custom fields act as flexible placeholders for postal-specific or vendor-specific information.
      • Provide operational users with a way to capture and propagate critical shipment data without hardcoding new fields.

      These features ensure secure, dynamic, and extensible handling of custom fields in the DriverApp while integrating seamlessly with the SHP ecosystem.

       


      API

      1. Update Segments via APIG Customer Endpoint

      This feature allows customers to update segment information via the APIG Customer Endpoint, using the same fields as the order creation process. The implementation ensures controlled updates, allowing segment modifications without compromising the integrity of the order lifecycle.


      Analytics

      1. Embed the Tableau to Quincus platform

      This feature allows seamless embedding of Tableau dashboards into the Quincus platform. It provides users with rich data visualizations and analytics directly within the Quincus UI, enhancing decision-making and operational insights.