# GOFO Wallet Guide

GOFO is a U.S.-founded, technology-driven last-mile delivery carrier providing domestic delivery services for ecommerce platforms and brands.

EasyPost supports GOFO through two account options:

- **GOFO Wallet:** Use GOFO through an EasyPost Wallet without establishing a separate billing relationship with GOFO. Shipment charges are billed through EasyPost.
- **GOFO BYOCA:** Connect an existing GOFO account to EasyPost using credentials provided by GOFO. Billing is handled directly by GOFO.

This guide includes detailed information on utilizing GOFO Wallet shipping with the EasyPost API, focusing on account setup, rates, label creation, tracking, and more.

---

## Carrier Account Setup

### EasyPost Account Registration

Sign up for an EasyPost account to obtain a **Test** and **Production** API
key. See Authentication and Key Management for more information.

### GOFO Wallet Account Setup

1. Log in to EasyPost and navigate to **Account Settings**.
2. Select the **Carriers** tab.
3. Select the **EasyPost Wallet Carriers** tab.
4. Find GOFO in the list of carriers and select **Create Account**.
5. Select the entry port closest to the shipment origin address to complete the account creation process.

#### Supported Entry Ports

- `LAX` — Los Angeles, California
- `CNO` — Chino, California
- `SFO` — San Francisco, California
- `SEA` — Seattle, Washington
- `DEN` — Denver, Colorado
- `SLC` — Salt Lake City, Utah
- `DFW` — Dallas / Fort Worth, Texas
- `IAH` — Houston, Texas
- `ORD` — Chicago, Illinois
- `EWR` — Newark, New Jersey
- `JFK` — New York City, New York
- `PDK` — Atlanta, Georgia (DeKalb-Peachtree)
- `ATL` — Atlanta, Georgia (Hartsfield-Jackson)
- `MIA` — Miami, Florida
- `CLT` — Charlotte, North Carolina

#### GOFO Wallet Account via API

The API structure specified by EasyPost can also be used to add the GOFO Wallet carrier account.

```shell
curl -X POST https://api.easypost.com/v2/carrier_accounts/open \
  -u "$EASYPOST_API_KEY": \
  -H 'Content-Type: application/json' \
  -d '{
  "carrier_account": {
    "type": "GofoWalletAccount",
    "reference": "GOFO Wallet Account",
    "description": "GOFO Wallet Account",
    "origin_hub": "VALUE"
  }
}'
```

### Software Requirements

Download an EasyPost Client Library or utilize the REST API with cURL.

### Documentation Review

Examine the EasyPost Objects section to understand the API's structure, which is critical for constructing requests and interpreting responses.

Related:

- [Getting Started Guide](https://docs.easypost.com/guides/getting-started)
- [Manage Carrier Accounts](https://app.easypost.com/account/settings?tab=carriers)

---

## Rates

GOFO is a **Live Rating** integration, enabling real-time rate retrieval for shipments created via EasyPost.

Rates are specific to the GOFO Wallet account and are returned when rating an eligible shipment.

---

## Billing

Billing is handled through the EasyPost Wallet. Shipment charges are deducted directly from the customer’s EasyPost Wallet.

If GOFO determines that the shipment details differ from the information provided when the shipment was purchased, the shipment may be subject to a billing adjustment. Any resulting charge or credit is applied to the EasyPost Wallet.

---

## Service Levels

{/* TODO: GOFO is not yet registered in Carrier Metadata, so this service level is listed inline. Once registered, render it from getCarrierMetadata("gofo") via buildServiceLevelsTableContents, as other carrier guides do. */}

GOFO is a domestic-only carrier and supports the following service level:

- `GOFO_PARCEL_PICKUP` — GOFO parcel delivery service

### Coverage Area and Parcel Limits

GOFO provides shipping coverage within the United States. Customers must select the supported entry port closest to the shipment origin address when configuring the GOFO Wallet account.

GOFO supports parcels up to 25 lbs in actual weight and 30 inches in length.

GOFO’s standard delivery days are Monday through Sunday, including public and local holidays. Standard delivery times are 6 a.m. to 11 p.m.

![Map indicating GOFO coverage area within the United States](https://docs.easypost.com/images/guides/gofo/gofo-coverage-map.png)

Related:

- [Service Levels and Parcels](https://docs.easypost.com/docs/shipments/rates#service-levels)

---

## Predefined Packages

There are no predefined packages for GOFO.

---

## Generating Shipping Labels

With EasyPost, generating shipping labels for GOFO is the same process as generating them for any other carrier.

Review the Getting Started Guide for help generating a shipping label.

### One-Call Buys

One-call buys enable streamlined label purchasing through the EasyPost API by consolidating multiple operations into a single API request.
This feature is designed to simplify and accelerate the shipping process by combining the creation of a shipment, retrieval of rates,
and purchasing the shipping label into one efficient step.

See Reducing API Response Times for more information.

### Manifests

Manifesting is not supported or required for GOFO.

### Returns

GOFO does not support returns.

### Shipment Options

GOFO assigns a merchant code that can optionally be provided using the `merchant_id` shipment option.

### Voiding Labels

GOFO supports refunding and voiding labels through the EasyPost API.

### Label Formats

GOFO labels are available in PNG, ZPL, and PDF formats.

Related:

- [Shipment Documentation](https://docs.easypost.com/docs/shipments)

---

## Hazardous Materials (HAZMAT)

GOFO does not support hazardous materials through the EasyPost integration.

---

## Pickups

GOFO pickups cannot be scheduled via the EasyPost API. To request a pickup, Contact Support.

---

## Tracking

EasyPost simplifies package tracking by offering two methods:

- Tracking with an existing number and carrier.
- Using a Tracker included with an EasyPost-purchased shipping label.

The service integrates webhooks for timely shipment updates. For detailed information on
tracking methods, visit the Tracking Guide.

### Proof of Delivery

GOFO provides picture proof of delivery for all deliveries and makes up to three delivery attempts. Signature service is not currently available.

Related:

- [Trackers Documentation](https://docs.easypost.com/docs/trackers)
- [Trackers Guide](https://docs.easypost.com/guides/tracking-guide)

---

## Additional Resources

### Carrier Metadata

The Carrier Metadata endpoint can programmatically return information about service
levels, predefined packages, supported features, and shipment options.

Use this information to quickly integrate and make educated decisions about the mix of carriers for shipping needs. Additionally,
the Carrier Metadata endpoint is available to retrieve comprehensive information about
all carriers on the EasyPost platform, enhancing decision-making for carrier services.

### Support and Troubleshooting

In addition to the guidance provided in our Carrier Guides, EasyPost offers support to assist with FAQs, troubleshooting issues, and inquiries related to the EasyPost platform.

Please visit the Help Center for more information.

Related:

- [Carrier Metadata](https://docs.easypost.com/docs/carrier-metadata)
- [Help Center](https://support.easypost.com/hc/en-us)

---

## Talk to a Shipping Expert

For questions about getting started with the EasyPost API please talk to a Shipping Expert or Contact Support.

Related:

- [Talk to a Shipping Expert](https://www.easypost.com/talk-to-easypost)
- [Contact Support](https://support.easypost.com/hc/requests/new)