FoyerDevelopers

Generated · Live registry

contacts tools

12 tools in this domain, generated from the running registry.

All tool domains

contacts.delete

writes

Delete a contact by id. Phones cascade via FK. Returns { ok: true } or throws if not found.

Input parameters

FieldTypeRequiredNotes
idstringyes

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

contacts.get

read-only

Fetch a single contact by id for this tenant. Returns { contact } with phones embedded, or throws if not found. DRY: delegates to the shared getContact() query (same as the tRPC router).

Input parameters

FieldTypeRequiredNotes
idstringyes

Output fields

FieldTypeRequiredNotes
contactobjectyes
contact.idstringyes
contact.displayNamestringyes
contact.categorystringyes
contact.companystring · nullableyes
contact.emailstring · nullableyes
contact.notesstring · nullableyes
contact.phonesarray of objectyes
contact.updatedAtstringyes

contacts.guest

read-only

Get a single guest profile by id (name, email, phone, locale). DRY: delegates to getGuestById() (same as tRPC contacts.guests.byId).

Input parameters

FieldTypeRequiredNotes
guestIdstringyes

Output fields

FieldTypeRequiredNotes
idstringyes
namestring · nullableyes
emailstring · nullableyes
phonestring · nullableyes
localestring · nullableyes
createdAtstringyes

contacts.guestBilling.delete

writesconfirm

Delete a guest's billing/invoice address.

Input parameters

FieldTypeRequiredNotes
idstringyes

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

contacts.guestBilling.list

read-only

Contacts: guest billing list. Read-only query. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
guestIdstringyes

Output fields

FieldTypeRequiredNotes
addressesarray of objectyes
addresses.idstringyes
addresses.tenantIdstringyes
addresses.guestIdstringyes
addresses.companystring · nullableyes
addresses.namestringyes
addresses.line1string · nullableyes
addresses.line2string · nullableyes
addresses.postalCodestring · nullableyes
addresses.citystring · nullableyes
addresses.countrystringyes
addresses.taxIdstring · nullableyes
addresses.reservationRefstring · nullableyes
addresses.isBusinessbooleanyes
addresses.isDefaultbooleanyes
addresses.createdAtstringyes
addresses.updatedAtstringyes

contacts.guestBilling.upsert

writes

Contacts: guest billing upsert. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
idstringno
guestIdstringyes
companystringno
namestringno
line1stringno
line2stringno
postalCodestringno
citystringno
countrystringno
taxIdstringno
reservationRefstringno
isBusinessbooleanno
isDefaultbooleanno

Output fields

FieldTypeRequiredNotes
addressobjectyes
address.idstringyes
address.tenantIdstringyes
address.guestIdstringyes
address.companystring · nullableyes
address.namestringyes
address.line1string · nullableyes
address.line2string · nullableyes
address.postalCodestring · nullableyes
address.citystring · nullableyes
address.countrystringyes
address.taxIdstring · nullableyes
address.reservationRefstring · nullableyes
address.isBusinessbooleanyes
address.isDefaultbooleanyes
address.createdAtstringyes
address.updatedAtstringyes

contacts.guests.byId

read-only

Contacts: guests by id. Read-only query. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
guestIdstringyes

Output fields

FieldTypeRequiredNotes
idstringyes
namestring · nullableyes
emailstring · nullableyes
phonestring · nullableyes
localestring · nullableyes
createdAtstringyes

contacts.guests.setEmail

writes

Contacts: guests set email. Mutation — changes data. See the input schema for argument details.

Input parameters

FieldTypeRequiredNotes
guestIdstringyes
emailstringyes

Output fields

FieldTypeRequiredNotes
okliteralyesOne of: true

contacts.invoice-guests

read-only

List guests that have at least one billing address (the 'Rechnungsgäste'). Each guest carries its billing addresses including the reservation number (reservationRef). Optional search filters over guest name/email and billing company. Default limit 25, max 100. DRY: delegates to the shared invoiceGuests() query (same as the tRPC router).

Input parameters

FieldTypeRequiredNotes
searchstringno
pageintegernoDefault: 1
limitintegernoDefault: 25

Output fields

FieldTypeRequiredNotes
itemsarray of objectyes
items.idstringyes
items.namestringyes
items.emailstring · nullableyes
items.phonestring · nullableyes
items.localestring · nullableyes
items.billingAddressesarray of objectyes
paginationobjectyes
pagination.pagenumberyes
pagination.limitnumberyes
pagination.totalnumberyes
pagination.totalPagesnumberyes

contacts.list

read-only

List paginated contacts for this tenant. Supports category filter (reinigung/rezeption/hausmeister/dienstleister/sonstig) and free-text search across display name, company, email, and phone number. Ordered by display name ASC. DRY: delegates to the shared listContacts() query (same as the tRPC router).

Input parameters

FieldTypeRequiredNotes
categoryenumnoOne of: reinigung, rezeption, hausmeister, dienstleister, sonstig
searchstringno
pageintegernoDefault: 1
limitintegernoDefault: 25

Output fields

FieldTypeRequiredNotes
itemsarray of objectyes
items.idstringyes
items.displayNamestringyes
items.categorystringyes
items.companystring · nullableyes
items.emailstring · nullableyes
items.notesstring · nullableyes
items.phonesarray of objectyes
items.updatedAtstringyes
paginationobjectyes
pagination.pagenumberyes
pagination.limitnumberyes
pagination.totalnumberyes
pagination.totalPagesnumberyes

contacts.search-guests

read-only

Search guests for linking to a contact. Searches over guest name, canonical email, and canonical phone number. Default limit: 25. Max: 100. DRY: delegates to the shared searchGuests() query (same as the tRPC router).

Input parameters

FieldTypeRequiredNotes
searchstringyes
limitintegerno

Output fields

FieldTypeRequiredNotes
itemsarray of objectyes
items.idstringyes
items.namestringyes
items.emailstring · nullableyes
items.phonestring · nullableyes

contacts.upsert

writes

Create or update a contact with its full phones set. If id is provided, updates the existing contact; otherwise creates a new one. Transactional: diffs the phones set (delete removed, insert/update remaining). Enforces UNIQUE(tenant_id, phone_number) across contacts — throws CONFLICT if a phone number is already assigned to another contact. Returns { contact } with phones embedded.

Input parameters

FieldTypeRequiredNotes
idstringno
displayNamestringyes
categoryenumyesOne of: reinigung, rezeption, hausmeister, dienstleister, sonstig
companystringno
emailstringno
notesstringno
phonesarray of objectnoDefault: []
phones.idstringno
phones.phoneNumberstringyes
phones.labelstringno
phones.isPrimarybooleannoDefault: false

Output fields

FieldTypeRequiredNotes
contactobjectyes
contact.idstringyes
contact.displayNamestringyes
contact.categorystringyes
contact.companystring · nullableyes
contact.emailstring · nullableyes
contact.notesstring · nullableyes
contact.phonesarray of objectyes
contact.updatedAtstringyes