> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sibipro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OrderingAddress

There are two nearly-identical address types in the Ordering API:

* **`OrderingAddressInput`** (input type) - Used when **sending** address data to queries and mutations
* **`OrderingAddress`** (type) - Used when **receiving** address data in responses

Both types have the same structure and fields. The distinction is a GraphQL convention where input types are used for arguments and output types are used for return values.

## `OrderingAddressInput`

```graphql theme={null}
input OrderingAddressInput {
  line1: String!
  line2: String
  city: String!
  stateOrProvince: String!
  postalCode: String!
  country: String
}
```

### `line1`

`string` - The first line of the street address (e.g., "123 Main St").

***

### `line2`

`string | null` - The second line of the street address (e.g., "Apt 4B"). Optional.

***

### `city`

`string` - The city name.

***

### `stateOrProvince`

`string` - The state or province (e.g., "CA", "Ontario").

***

### `postalCode`

`string` - The postal or ZIP code.

***

### `country`

`string | null` - The country. Optional.

***

### Usage Notes

* `reviewOrder()` will only return valid addresses for properties registered with SIBI
* If an invalid address is passed to `reviewOrder()`, the query will fail with an error
* When an address is valid but a property doesn't exist for it yet, a property will be created and assigned to the organization the calling credentials belong to

## `OrderingAddress`

```graphql theme={null}
type OrderingAddress {
  line1: String!
  line2: String
  city: String!
  stateOrProvince: String!
  postalCode: String!
  country: String
}
```

This type has identical fields to `OrderingAddressInput` and is returned in query responses (e.g., `OrderingOrder.propertyAddress`).
