Smart home & operações · A chegar

Fechaduras, climatização, dispositivos —
ligados à reserva.

A IoT API do Repull vai deixar o teu código reagir a eventos físicos da mesma forma que reage a uma alteração de reserva. Roda um código de porta no check-out. Pré-aclimata uma unidade antes da chegada. Recebe um webhook quando um termostato está a 30 graus há seis horas.

O que vais construir

Três fluxos que desaparecem em poucas chamadas API.

Códigos de porta auto-rotativos

Na criação da reserva, gera um código. Na hora do check-out, expira-o e emite o do próximo hóspede. Acabou o "o pessoal da limpeza mudou o código?" — a fechadura e a reserva são o mesmo objeto.

Climatização pré-chegada

A T-2 horas, põe a unidade a uma temperatura confortável. Depois do check-out, baixa-a para um modo de manutenção. Multiplica num portfólio e a poupança de energia paga a conta da IoT sozinha.

Webhooks de anomalia

Porta deixada aberta durante uma hora na rotação. Termostato a 30°C sem ocupantes. Sensor de fuga de água acionado. O webhook dispara, a fila de operações recebe a tarefa, o telemóvel de alguém vibra.

Como vai ser a API

Dispositivos como objetos de primeira classe no listing.

A IoT API trata cada dispositivo ligado — fechadura, termostato, sensor — como filho do listing. Reservas e dispositivos partilham a mesma auth, os mesmos webhooks e o mesmo workspace, por isso constróis fluxos cross-cutting num só sítio.

  1. 1

    Faz pairing ao dispositivo uma vez

    A maior parte dos vendors usa OAuth ou pairing ao nível da conta. O Repull Connect picker trata disso da mesma forma que trata das ligações PMS — um fluxo consistente.

  2. 2

    Subscreve eventos de dispositivos

    Mesma superfície de webhooks que tudo o resto. door.opened, lock.code.created, climate.target_changed, sensor.alert. Assinatura verificada, retries em 5xx, um único log de eventos para fazeres grep.

  3. 3

    Liga ao ciclo de vida da reserva

    Trigger em reservation.confirmed para gerar um código. Trigger em reservation.checkout para o expirar. As mesmas primitivas que já usas para mensagens e pricing.

rotate-door-code.ts · ts
// Repull IoT API — em breve. A shape para a qual estamos a convergir:

import { Repull } from '@repull/sdk'

const repull = new Repull({ apiKey: ..., workspaceId: ... })

// No reservation.confirmed
repull.webhooks.on('reservation.confirmed', async (e) => {
  const lock = await repull.devices.get(e.listingId, { kind: 'lock' })

  await repull.devices.lock.codes.create(lock.id, {
    label: e.guestName,
    code: '4271', // ou omite para auto-gerar
    activeFrom: e.checkIn,
    activeUntil: e.checkOut,
  })
})

// No reservation.checkout, o código auto-expira.
// Num alerta de sensor, encaminha para a tua queue de ops:
repull.webhooks.on('sensor.alert', async (e) => {
  if (e.kind === 'water_leak') await ops.create({
    listingId: e.listingId,
    severity: 'critical',
    title: `Fuga de água detetada · ${e.location}`,
  })
})

As shapes acima são como estamos a pensar nisto — os nomes finais dos métodos saem com o release público. Vendors de fechaduras alvo para v1: Yale, Schlage, August. Climatização: Nest, ecobee, Honeywell.

A chegar

Estamos a construir isto com quem o vai usar.

Se geres um portfólio com fechaduras e climatização já instaladas, ou estás a construir um produto que precisa de falar com dispositivos físicos, manda mensagem. Os primeiros design partners moldam a API.

Fechaduras

Yale Linus / Assure, Schlage Encode, August, igloohome.

Climatização

Nest, ecobee, Honeywell Lyric, Sensibo.

Sensores

Ruído (Minut, NoiseAware), fuga de água, ocupação.

Sem data fixa de lançamento. Lançamos quando as primeiras três integrações funcionarem ponta-a-ponta em dados reais.

Entrar na lista de design IoT

Diz-nos que dispositivos é que tens instalados e o que construirias com isto. A equipa lê todos os emails.

Vai direto para a equipa. Sem mailing list, sem drip.

Enviar

Constrói o resto hoje.

A IoT está a chegar. Reservas, canais, pricing e agentes AI não — estão live agora.