{"section":"tutorials","requestedLocale":"en","requestedSlug":"vtex-pick-and-pack-last-mile","locale":"en","slug":"vtex-pick-and-pack-last-mile","path":"docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile.md","branch":"main","content":"> ℹ️ If you're interested in adopting this feature for your business, complete our [form](https://www.vtex.com/en-us/get-started/) and enter the desired product name in the `Comments` field.\n\n**Last Mile** is the VTEX Admin page that tracks the final fulfillment stage of orders processed by [VTEX Pick and Pack](/docs/tutorials/vtex-pick-and-pack): shipping to the customer by integrated carriers and in-store pickup.\n\nEach movement is represented by a **service**, the record that brings together the origin, destination, packages, and status history of one or more orders. The page is organized into two tabs, one for each service type:\n\n- [Deliveries](#deliveries)\n- [In-store pickup](#in-store-pickup)\n\nIn these tabs, you can do the following:\n\n- [Create service](#create-service)\n- [View service details](#view-service-details)\n- [Confirm in-store pickup](#confirm-in-store-pickup)\n\nThe module also has the following configuration sections:\n\n- [Integrations](#integrations)\n- [Settings](#settings)\n\n## Deliveries\n\nThe **Deliveries** tab lists services assigned to carriers, along with the status updates they return until the order is delivered to the customer.\n\n![vtex-pick-and-pack-last-mile_1](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_1.png)\n\nThe table displays the following information:\n\n| Table field        | Description                                                                                                                                           |\n| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Carrier            | [Carrier](/en/docs/tutorials/carriers-on-vtex) handling shipping, with the respective logo and the service identifier in the carrier. |\n| Service ID         | Service identification number in Last Mile.                                                                                           |\n| Tags               | Tags associated with the service.                                                                                                     |\n| Origin/Destination | Shipment origin and destination locations.                                                                                            |\n| Delivery date      | Expected delivery date for the order.                                                                                                 |\n| Status             | Current stage of the service.                                                                                                         |\n\nTo find a specific service, use the search bar at the top of the page. You can also refine the view with the following filters:\n\n- **Delivery date:** Range of expected delivery dates.\n- **Carrier:** Carrier handling the delivery.\n- **Status:** Current stage of the service. You can select more than one status.\n- **Fulfillment locations:** Store or distribution center where the service originates.\n- **Payment methods:** [Payment method](/docs/tutorials/difference-between-payment-methods-and-payment-conditions) used for the order.\n\nTo deselect a filter, open it and click `Clear`.\n\n### Service status\n\nThe available statuses depend on the carrier integration configuration. The following table shows the statuses that can be applied to services in both tabs. The filters display only the statuses sent by the carrier. For example, a carrier may only submit the **Created** and **Delivered** statuses.\n\n| Status     | Description                                                                                                                                                                  |\n| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Created    | Internal data validation status, assigned when the service is created.                                                                                       |\n| Pending    | The system sent the information to the carrier, and the service was created on their end.                                                                    |\n| Assigned   | The carrier assigned a courier to the service.                                                                                                               |\n| Picked     | The carrier collected the packages at the origin.                                                                                                            |\n| On the way | Packages are in transit to the destination.                                                                                                                  |\n| Delivered  | The order was delivered to the customer at the provided address, at a [pickup point](/en/docs/tutorials/pickup-points), or at the store for in-store pickup. |\n| Incident   | The carrier reported an issue during transit.                                                                                                                |\n| On hold    | The carrier temporarily suspended the service, for example, due to a vehicle breakdown.                                                                      |\n| Returned   | The order was returned to its origin. For example, the customer wasn't found or refused the order.                                           |\n| Transfer   | The service corresponds to a transfer of items between fulfillment locations.                                                                                |\n| Canceled   | The service was canceled.                                                                                                                                    |\n\n> ℹ️ In shipping services, statuses are updated by the carrier via the [Pick and Pack Last Mile Protocol API](https://developers.vtex.com/docs/api-reference/pick-and-pack-protocol-api). For pickup services, the status is updated by the store operator in the VTEX Admin.\n\n## In-store pickup\n\nThe In-store pickup tab lists orders that customers will pick up in-store, and pickup is confirmed there.\n\n![vtex-pick-and-pack-last-mile_2](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_2.png)\n\nThe table displays the following information:\n\n| Table field | Description                                                                                               |\n| ----------- | --------------------------------------------------------------------------------------------------------- |\n| Order ID    | Order identification number.                                                              |\n| Customer    | Name of the customer who placed the order.                                                |\n| Pickup date | Expected date and time for the customer to pick up the order.                             |\n| Store       | Store where the order will be picked up.                                                  |\n| Status      | Current status of the service, as defined in the [service status](#service-status) table. |\n\nTo find a specific order, use the search bar at the top of the page. You can also refine the view with the **Pickup date**, **Status**, and **Fulfillment location** filters.\n\n## Creating a service\n\nServices can be created automatically or manually:\n\n- **Automatically:** Configure a rule in the **Automation > Shipping services** tab of the Pick and Pack [Settings](/en/docs/tutorials/vtex-pick-and-pack-settings) to create the service when the defined conditions are met.\n- **Manually:** Create the service on the **Last Mile** page.\n\nTo create a service manually, follow the steps below:\n\n1. In the VTEX Admin, go to **Shipping > Last Mile > Shipping services**.\n\n2. Click `Create service`.\n\n3. In **Select a service type**, select the service type:\n   - **Delivery:** The order will be delivered by a carrier to the customer's address or at a [pickup point](/en/docs/tutorials/pickup-points).\n   - **Pickup:** The order will be picked up by the customer at a store.\n\n4. Click `Continue`.\n\n   ![vtex-pick-and-pack-last-mile_3](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_3.png)\n\n5. Select the orders that will be part of the service. The list displays only the orders that are eligible for the selected service type, and it includes the following information:\n\n   - **Order ID:** Identifier and created date of the order.\n   - **Items:** Number of items and units in the order.\n   - **Shipping:** Order shipping method, `Delivery to customer` or `In-store pickup`.\n   - **Status:** The step of the order in the VTEX Pick and Pack flow.\n   - **Fulfillment location:** Store or distribution center responsible for the order.\n\n   The selected orders appear under **Selected orders**, and the **Summary** block consolidates the number of orders, items, and fulfillment locations. To find an order, use the search bar or the **Status**, **Fulfillment locations**, and date filters — which correspond to **Delivery date** for shipping services and **Pickup date** for pickup services.\n\n   ![vtex-pick-and-pack-last-mile_4](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_4.png)\n\n6. Click `Continue`.\n\n7. Check the packages for every order, with the items, quantity, and dimensions of each.\n\n   ![vtex-pick-and-pack-last-mile_5](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_5.png)\n\n8. Click `Continue`.\n\n9. Define the origin and destination information for the service. This step varies depending on the type of service selected, as described in [Pickup services](#pickup-services) and [Shipping services](#shipping-services).\n\n10. Click `Create service`.\n\nAt any step, you can click `Back` to review the information you've already completed. Throughout the process, the side summary accumulates the selected information, such as orders, packages, addresses, and carriers.\n\n### Pickup services\n\nFor pickup services:\n\n1. In the **Create pickup service** window, select the **Fulfillment location** where the order will be available and enter the **Estimated pickup date**. The corresponding address appears in the side summary, under **Pickup**.\n2. Click `Continue`.\n3. Click `Create service`.\n\n![vtex-pick-and-pack-last-mile_6](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_6.png)\n\n> ⚠️ In-store pickup doesn't use external carriers or transportation management systems (TMS), since the customer picks up the order directly at the store. These services use the `Manual` integration, which records the movement without sending a request to a carrier. If the `Manual` integration isn't active, you can't complete the creation of a pickup service.\n\n### Shipping services\n\nIn shipping services:\n\n1. In **Pickup information**, select the **Fulfillment location** and enter the **Expected pickup date**. The `Create from order` option sets the origin using the order's information.\n\n   ![vtex-pick-and-pack-last-mile_7](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_7.png)\n\n2. Click `Continue`.\n\n3. In **Shipping information**, check the destination and enter the **Expected delivery date**. The destination address appears in the side summary, under **Ship to**.\n\n   ![vtex-pick-and-pack-last-mile_8](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_8.png)\n\n4. Click `Continue`.\n\n5. Select the **Carrier** that will handle shipping from the active integrations. The selected carrier appears in the side summary.\n\n6. Click `Create service`.\n\n## Viewing service details\n\nTo view more information about a service, click the corresponding row in the table. Details are displayed in a panel, organized in the **Details**, **Tracking**, **Attachments**, and **Notes** tabs.\n\n![vtex-pick-and-pack-last-mile_9](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_9.png)\n\nAt the top of the panel, the order identifier and the current service status are displayed. The vertical ellipsis menu on the right allows you to download the tracking label generated by Last Mile. The label template is standard and can't be customized.\n\nThe panel's content varies depending on the type of service and the information provided by the integration. The panel is organized into the **Details**, **Tracking**, **Attachments**, and **Notes** tabs.\n\nThe **Details** tab includes the following information:\n\n- **Order ID:** Order identification number.\n- **Buyer information:** Customer name, phone number, and email address.\n- **Pickup details:** Expected date and time range for pickup services.\n- **Store:** Pickup store, with the full address, in pickup services.\n- **Pickup and shipping information:** Addresses and dates for each stage in shipping services.\n- **Package(s):** Service packages, with the packaging type and item quantity. Click the package to view the items it contains.\n- **Timeline:** Service history, with the date, time, and author of each event, from creation to the last status update.\n\nThe **Tracking** tab, when available, contains additional tracking information sent by the integration.\n\nThe **Attachments** tab allows you to view labels and proof-of-delivery photos sent by the integration, when available.\n\nThe **Notes** tab collects route alerts and messages sent in real time by the integration, when available.\n\n## Confirming in-store pickup\n\nFor orders with in-store pickup, Last Mile generates a six-digit code that authenticates the hand-off to the customer. The flow works as follows:\n\n1. The order is picked and packed, and the pickup service is created.\n2. VTEX Pick and Pack sends the customer an email with the pickup code.\n3. The customer goes to the store and provides the code.\n4. The store operator validates the code in the service and completes the pickup.\n5. The service moves to the `Delivered` status, with the confirmation date recorded. From this event, the order invoice can be triggered automatically, depending on the configured integration.\n\nThe email is sent by [Message Center](/en/docs/tutorials/understanding-the-message-center), the VTEX transactional email framework, using a dedicated template for the pickup code. In addition to the code, the message includes the order ID, the pickup store, and the expected pickup date.\n\n> ℹ️ The email template and sender are configured per account. In operations with multiple accounts, such as white label sellers, you need to configure the template in each one of them. To learn how to customize the message's content and layout, see [Transactional email templates](/en/docs/tutorials/order-transactional-email-templates).\n\n### Sending a new code by email\n\nIf the customer didn't receive the email or no longer has access to it, you can send a new code from the service.\n\nTo send a new code, follow the steps below:\n\n1. In the VTEX Admin, go to **Shipping > Last Mile > Shipping services**.\n2. Click the **In-store pickup** tab.\n3. Click the desired order.\n4. At the bottom of the details panel, click `Send new code via email`.\n\nThe `New code sent to customer email` message confirms that the new code was sent to the customer's email.\n\n![vtex-pick-and-pack-last-mile_10](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_10.png)\n\nThere's a minimum interval between codes. The option is unavailable until the end of the interval, and the footer displays a count in seconds until the next send is allowed, formatted as `Retry in {second}s`. This restriction can't be bypassed and it's meant to prevent sending excessive messages to the customer.\n\n![vtex-pick-and-pack-last-mile_11](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_11.png)\n\n### Validating the code and completing the pickup\n\nTo confirm order pickup, follow the steps below:\n\n1. In the VTEX Admin, go to **Shipping > Last Mile > Shipping services**.\n\n2. Click the **In-store pickup** tab.\n\n3. Click the desired order.\n\n4. At the bottom of the details panel, click `Start handoff`.\n\n5. On the **Enter pickup code** screen, enter the six-digit code provided by the customer.\n\n   ![vtex-pick-and-pack-last-mile_12](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_12.png)\n\n6. Click `Complete handoff`.\n\nTo return to the details panel without confirming the pickup, click `Back to details`.\n\nIf the code is incorrect, the screen displays an error and allows another attempt. After confirmation, the panel shows the message `Pickup completed`, the service's status changes to `Delivered`, and the confirmation date is recorded in the **Timeline**.\n\n![vtex-pick-and-pack-last-mile_13](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/pt/tutorials/envio/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_13.png)\n\n> ❗ The pickup code is sensitive data: it's the proof that the order was delivered to the right person. Share the code only with the customer who placed the order.\n\n## Integrations\n\nIn **Shipping > Last Mile > Integrations**, you add and activate the companies that can receive Last Mile services. Integrations are organized into two groups:\n\n- **Carriers:** Companies that handle direct delivery. This group includes the `Manual` integration used for in-store pickup services.\n- **Brokers:** Brokers that aggregate multiple carriers, giving you access to all of them through a single integration.\n\nEach card displays the company name, the countries served, and the integration status, which can be `Active` or `Inactive`. Only active integrations can be selected when creating a service.\n\n![vtex-pick-and-pack-last-mile_14](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_14.png)\n\nTo add an integration, follow these steps:\n\n1. In the VTEX Admin, go to **Shipping > Last Mile > Integrations**.\n\n2. Click `Add integration`.\n\n3. In the **Add Integration** window, select the desired company. Companies with an existing integration in the account show as unavailable for selection.\n\n   ![vtex-pick-and-pack-last-mile_15](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_15.png)\n\n4. Click `Continue`.\n\n5. Enable the **Active** option and complete the configuration fields.\n\n   > ℹ️ Each company has its own configuration fields, and some information must be obtained directly from the company. If needed, contact the carrier's support.\n\n   > ℹ️ Some integrations require sending credentials to VTEX. In such cases, contact [VTEX Support](https://help.vtex.com/docs/tutorials/opening-tickets-to-vtex-support) to receive guidance on how to submit the required information.\n\n   ![vtex-pick-and-pack-last-mile_16](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_16.png)\n\n6. Click `Create`.\n\nTo edit an existing integration, click the corresponding card, make the desired changes, and click `Update`.\n\n> ℹ️ To integrate a carrier that isn't on the list, see the [Pick and Pack Last Mile Protocol API](https://developers.vtex.com/docs/api-reference/pick-and-pack-protocol-api) and the [VTEX Pick and Pack Carriers Integration Protocol](https://developers.vtex.com/docs/guides/vtex-pick-and-pack-carriers-integration-protocol) guide.\n\n## Last Mile settings\n\nIn **Shipping > Last Mile > Settings**, under the **Information > General** section, you define the store location and contact information used in shipping services.\n\n![vtex-pick-and-pack-last-mile_17](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/en/tutorials/shipping/vtex-pick-and-pack/vtex-pick-and-pack-last-mile_en_17.png)\n\nIn **Store location**, enter the country, state, city, postal code, street, and time zone of the store. You can also use the **Find an address** field to locate the address and complete the fields automatically, including the latitude and longitude. In **Contact information**, enter the name and phone number of the assigned contact. Click `Save` to save the changes.\n\n> ⚠️ The Last Mile mobile app, intended for the store's own fleet couriers, was discontinued in 2024. The settings related to own-fleet delivery are no longer in use, and delivery tracking depends on integrated carriers.\n\n## Learn more\n\n- [VTEX Pick and Pack](/en/docs/tutorials/vtex-pick-and-pack)\n- [VTEX Pick and Pack: Orders](https://help.vtex.com/docs/tutorials/vtex-pick-and-pack-orders)\n- [VTEX Pick and Pack: Service orders](/en/docs/tutorials/vtex-pick-and-pack-worksheets)\n- [VTEX Pick and Pack: Settings](/en/docs/tutorials/vtex-pick-and-pack-settings)\n- [VTEX Pick and Pack: Insights](/en/docs/tutorials/vtex-pick-and-pack-insights)\n- [Order flow and status](/en/docs/tutorials/order-flow-and-status)"}