A submission's submissions map holds every value a visitor entered, keyed by each field's target. Read it to see what someone submitted, or construct it yourself when creating a submission on a visitor's behalf.
The generated reference shows submissions only as map<string, google.protobuf.Value>, since a map can't declare its own keys or value types. This article covers both: which keys submissions accepts, and the value each field type submits.
Each key must be the target of a field in the form's schema: the field's stable storage key, not its id or label, so it doesn't change when a Wix user relabels or reorders a field. Read the schema's fields with Get Form to find the targets a given form accepts.
Sending a key that isn't a field's target fails the whole submission, not just that value.
Each value's shape follows the originating field's inputType, not the component that renders it:
STRING: A string. Date and time fields are strings too, formatted according to the field's validation.format.NUMBER: A number.BOOLEAN: A boolean.ARRAY: An array of the selected option values.ADDRESS: An address object.PAYMENT: An array of product objects, 1 per item bought.SCHEDULING: An appointment object.This is why a single-line address field and a multi-line address field aren't interchangeable, even though both map to a contact's address: the first submits a string, the second an object.
For how a field declares its target and inputType, see About Form Fields.
An ADDRESS field submits an object. Every property is optional, so send only the subfields the form shows:
country: Country code, in ISO 3166-1 alpha-2 format.subdivision: State, region, prefecture, or province code, in ISO 3166-2 format.city: City name.postalCode: Zip or postal code.addressLine: Main address line, usually street and number as free text.addressLine2: Further detail, such as apartment, suite, or floor.streetName: Street name, when the address is captured as separate street parts.streetNumber: Street number, when the address is captured as separate street parts.country and subdivision are validated against the values allowed for the selected country, so a free-text subdivision is rejected.
A PAYMENT field submits an array with 1 object per item bought:
productId: ID of a product declared in the field's paymentOptions.validation.products.price: Amount for a single unit, as a decimal string.quantity: Number of units bought.name: Product name. Read-only: Wix returns it, but doesn't accept it as input.A SCHEDULING field submits the booked slot:
startDate: Start of the appointment, as a local date and time.endDate: End of the appointment, as a local date and time.timeZone: Time zone the appointment was booked in.Last updated: 12 August 2026