| budget | No | Customer budget, only with an explicit budgetCurrency. | |
| locale | No | | |
| timing | No | Customer timing request, not confirmed availability. | |
| answers | No | Object keyed by returned canonical question keys, never a list. | |
| location | No | Customer-approved service location; not inferred from IP. | |
| contactName | Yes | Customer-approved contact name. | |
| description | No | Customer-approved request detail. | |
| serviceUuid | No | Returned taxonomy service ID, not a ProviderCustomService ID. | |
| categoryUuid | No | Returned canonical category ID. | |
| contactEmail | No | Optional customer-approved email; never proof of ownership. | |
| providerScope | No | preferred permits supervised comparison; exclusive requires the chosen validated business. | |
| budgetCurrency | No | | |
| idempotencyKey | Yes | Stable nonempty key for this exact approved payload; preserve both on recovery. | |
| subcategoryUuid | No | Returned canonical subcategory ID. | |
| requestedService | No | Customer service need, including an uncatalogued request without inventing availability. | |
| contactPhoneNumber | Yes | Customer-approved contact phone; never proof of identity. | |
| preferredProviderUuid | No | Returned validated business explicitly chosen by the customer. | |
| contactPhoneCountryCode | Yes | Customer-approved dialing code, for example +506. | |