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

# HOA Naming Schema

Web forms are a flat name space. To accommodate this, Subscribe flattens its standard SOAP calls by concatenating them using underscores. HOA uses the following naming rules:

* Every name begins with `vin_`
* Followed by the object type you want to create: `vin_Transaction_`
* Followed by the name of the data member you want to set: `vin_Transaction_amount`
* Followed by the value for the data member: `vin_Transaction_amount => 100`

**Note:** HOA naming rules are case-sensitive.

Follow the same pattern to set the value for an object:

`vin_PaymentMethod_billingAddress_addr1 => "1639 Harrison Ave."`

In creating forms, use the format:

`<input type="text" name="vin_Transaction_transactionItems_0_sku"/>'`

For example:

`vin_PaymentMethod_billingAddress_addr1 => "1639 Harrison Ave."`

In the form, becomes:

`<input type="text" name=" vin_PaymentMethod_billingAddress_addr1"/>'`

**Note:** Calling `WebSession.finalize` instructs HOA to take ALL form information gathered through the HOA http POST, and create and populate the appropriate Subscribe objects.

## Naming schema for parameter values

Setting parameter values follows the same structure. For example, to set `minChargebackProbability` to 100:

`vin_Transaction_auth_minChargebackProbability => 100`

## Naming scheme for an object with an array

Comma delimited values are used for private form values, therefore you cannot use them elsewhere, and you cannot use them to define an array.

To set an array of values, use the pattern described above, but add the index value for the item after the name of the attribute, then the item itself.

`"Transaction_taxExemptions_0_ taxExemption"``"Transaction_taxExemptions _1_ taxExemption2"`

## Naming scheme for name-value arrays

To set a name-value array, simply use the flattened object name, method name, and parameter name, concatenated with an underscore:

```

Transaction_nameValues_name => value
$mpnv1->setName('AutoBill_Update_minChargebackProbability');
$mpnv1->setValue('95');
```

**Parent topic:**[Working with HOA with Hosted Fields](../topics/Working_with_HOA_with_Ho)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.