# Address Validation — What Your Customers See

***

### What Gets Validated

When a customer proceeds toward checkout, CrushSuite checks their shipping address against several criteria:

* **State eligibility** — Is the destination state enabled in your shipping rules?
* **Address completeness** — Is the address a valid, deliverable address?
* **Restricted areas** — Is the address in a dry county or other restricted zone?
* **Address type** — Some states or carriers restrict delivery to certain address types (e.g., P.O. boxes may not be eligible for wine shipments)

***

### What Customers Experience

#### Valid address

If the address passes validation, checkout proceeds normally. The customer sees no interruption — the validation happens in the background.

#### Invalid address

If validation fails, the customer sees a clear message explaining the issue. Common messages include:

* **"We can't verify this address for wine delivery"** — the address couldn't be validated as a deliverable location
* **"Shipping unavailable to your state"** — the customer's state is not in your enabled shipping states
* **"Please update your shipping address"** — the address is incomplete or contains errors

The customer can correct their address and try again. They're never blocked without an explanation.

<figure><img src="/files/b0t4eSicctKyB4bgQV9j" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/TUTo6Lg0WaYPgOVdRVKY" alt=""><figcaption></figcaption></figure>

***

### When Validation Happens

Address validation runs at multiple points to catch issues early:

1. **State selection** — When the customer selects their shipping state in the entry modal or shipping button, product availability is immediately filtered
2. **Pre-checkout** — Before the customer enters Shopify's payment flow, CrushSuite validates the full shipping address
3. **Order processing** — For Vinoshipper users, the address is validated again when the order syncs to Vinoshipper for fulfillment

This layered approach means most issues are caught before the customer ever reaches the payment step.

***

### Common Validation Failures

| Issue                       | What Happens            | Customer Action                                         |
| --------------------------- | ----------------------- | ------------------------------------------------------- |
| Incomplete address          | Validation fails        | Customer completes the missing fields                   |
| P.O. Box in restricted area | Validation fails        | Customer provides a physical address                    |
| Dry county                  | Validation fails        | Customer uses an alternative address                    |
| Misspelled street/city      | Validation may fail     | Customer corrects the address                           |
| State not enabled           | Products already hidden | Customer sees restricted products marked as unavailable |

***

### For Merchants: Handling Address Failures

If a customer contacts you because their address was rejected, here's what to check:

1. **Is their state enabled?** — Review your state shipping rules
2. **Is it a dry county?** — Some areas within enabled states still restrict alcohol delivery
3. **Is the address valid?** — Ask the customer to double-check their address for errors
4. **Is it a restricted address type?** — P.O. boxes and certain commercial addresses may not be eligible

If you believe a valid address was incorrectly rejected, [contact CrushSuite support](https://crushsuite.com/contact) with the address details so we can investigate.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://crushsuite.gitbook.io/docs/compliance/storefront-and-checkout/address-validation-what-your-customers-see.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
