Innprices
Resumo do payload e regras de precificacao.
Endpoint
POST /omnibees/:id
Base URL: https://prices.innsights.com.br
Token obrigatorio via query string: ?token={{secreto}}
Body esperado
{
"checkin": "2025-12-15T03:15:00.000Z",
"checkout": "2025-12-18T03:00:00.000Z",
"adults": 1,
"childrens": 0,
"ages": "",
"template": [
"*PARA:* {{adults}} adulto(s)",
"Periodo: {{checkin|date}} a {{checkout|date}}"
],
"rules": {
"discount": { "value": 10 },
"bookingWindow": {
"window": 21,
"less": { "midweek": 20, "weekend": 25 },
"more": 25
}
}
}
Campos
- id (path): valor usado no parametro
qda URL Omnibees. - checkin / checkout: datas ISO; sao convertidas para formato
ddmmyyyy. - adults: precisa ser maior ou igual a 1.
- childrens: numero de criancas.
- ages: string com idades separadas por virgula (ex.:
"1,3"); quantidade deve bater comchildrens. - rules: objeto com regras opcionais.
Rules (Strategy)
As regras sao aplicadas no retorno do crawler via Strategy. Cada regra transforma o item (nome e preco) e retorna o mesmo item ajustado.
Regras de desconto nao se somam: cada nova regra sobrescreve o
finalPrice gerado pela anterior.
discount
rules.discount.value e um percentual (ex.: 10 = 10%).
O desconto e aplicado diretamente no finalPrice de cada item.
bookingWindow
Aplica desconto com base na antecedencia entre hoje e o check-in.
Usa window para decidir entre less e more.
less aplica quando dias_antecedencia <= window.
more aplica quando dias_antecedencia > window.
Os valores podem ser numero (percentual fixo) ou objeto
{ midweek, weekend }.
Weekend: sex, sab, dom. Midweek: seg, ter, qua, qui.
Erros
adults_required: adults precisa ser maior ou igual a 1.ages_required: ages e obrigatorio quando childrens > 0.ages_count_mismatch: quantidade de idades nao bate com childrens.invalid_date: checkin ou checkout invalido.unavailable: hotel sem disponibilidade.too_many_people: ha quartos, mas a ocupacao solicitada e alta.unknown_error: erro inesperado.
Template (Message)
O campo template permite montar um texto usando as variaveis do resultado.
Use {{'{{'}}campo{{'}}'}} para interpolar valores.
*PARA:* {{adults}} adulto(s){{childrens|if: e {{childrens}} crianca(s) com idades {{ages}}:}}
*PERIODO:* {{checkin|date}} a {{checkout|date}}
*Check-in:* A partir das 16h
*Check-out:* Ate as 14h
*Acomodacao:* _{{name}}_ - {{finalPrice|currency}}
*Forma de pagamento:*
Sinal de {{entryValue|currency}} via Pix no ato da reserva;
Saldo restante em ate {{times}}x de {{installment|currency}} sem juros no check-in.
*Tarifa valida somente ate as 23h59 de hoje!*
Filtros disponiveis:
currency: formata numero como moeda BRL.date: formata data ISO paradd/mm/aaaa.if:THEN:ELSE: renderiza o texto se o valor for verdadeiro (numero > 0).
Campos disponiveis no template:
| Campo | Descricao | Quando aparece |
|---|---|---|
name |
Nome da acomodacao. | Sempre, quando ha resultado. |
price |
Preco original (sem desconto). | Sempre, quando ha resultado. |
finalPrice |
Preco final apos regras. | Sempre, quando ha resultado. |
checkin |
Data de check-in (ISO). | Sempre (input). |
checkout |
Data de check-out (ISO). | Sempre (input). |
adults |
Numero de adultos. | Sempre (input). |
childrens |
Numero de criancas. | Sempre (input). |
ages |
Idades das criancas (texto). | Sempre (input). |
rules |
Objeto com regras recebidas. | Sempre (input). |
template |
Texto original do template. | Sempre (input). |
comments |
Lista de aplicacoes de regras. | Quando alguma regra rodar. |
entryValue |
Valor da entrada. | Somente com regra installment e withEntry. |
remaining |
Valor restante apos a entrada. | Somente com regra installment. |
installment |
Valor de cada parcela. | Somente com regra installment. |
times |
Quantidade de parcelas. | Somente com regra installment. |
Exemplo completo
Request
{
"q": "6605",
"checkin": "2026-01-17T03:15:00.000Z",
"checkout": "2026-01-18T03:00:00.000Z",
"adults": 2,
"childrens": 0,
"ages": "",
"rules": {
"discount": { "value": 50 },
"installment": { "times": 4, "withEntry": true, "entryPercent": 30 }
},
"template": [
"*🏨 PARA:* {{adults}} adulto(s){{childrens|if: e {{childrens}} criança(s) com idades {{ages}}:}}\n📅 *PERÍODO:* {{checkin|date}} a {{checkout|date}}\n\n*Check-in:* A partir das 16h\n*Check-out:* Até as 14h\n\n*Acomodação:* _{{name}}_ - {{finalPrice|currency}}\n\n*💳 Forma de pagamento:*\nSinal de {{entryValue|currency}} via Pix no ato da reserva;\nSaldo restante em até {{times}}x de {{installment|currency}} sem juros no check-in.\n\n*⏳ Tarifa válida somente até as 23h59 de hoje!*",
"Estamos concedendo *{{discount}}% de desconto* e sua reserva sai de {{price|currency}} por apenas *{{finalPrice|currency}}*.\n\nSinal de 30% no valor de {{entryValue|currency}} e o restante parcelado em 4x de {{installment|currency}} pagos no check-in.\n\n*Oferta exclusiva para fechamento hoje!*"
]
}
Response
{
"name": "Superior Casal",
"price": 687,
"finalPrice": 343.5,
"comments": [
"discount: 50%",
"installment: entry 30% + 4x 60.11"
],
"entryValue": 103.05,
"remaining": 240.45,
"installment": 60.11,
"times": 4,
"discount": 50,
"checkin": "2026-01-17T03:15:00.000Z",
"checkout": "2026-01-18T03:00:00.000Z",
"adults": 2,
"childrens": 0,
"ages": "",
"rules": {
"discount": { "value": 50 },
"installment": { "times": 4, "withEntry": true, "entryPercent": 30 }
},
"template": [
"*🏨 PARA:* {{adults}} adulto(s){{childrens|if: e {{childrens}} criança(s) com idades {{ages}}:}}\n📅 *PERÍODO:* {{checkin|date}} a {{checkout|date}}\n\n*Check-in:* A partir das 16h\n*Check-out:* Até as 14h\n\n*Acomodação:* _{{name}}_ - {{finalPrice|currency}}\n\n*💳 Forma de pagamento:*\nSinal de {{entryValue|currency}} via Pix no ato da reserva;\nSaldo restante em até {{times}}x de {{installment|currency}} sem juros no check-in.\n\n*⏳ Tarifa válida somente até as 23h59 de hoje!*",
"Estamos concedendo *{{discount}}% de desconto* e sua reserva sai de {{price|currency}} por apenas *{{finalPrice|currency}}*.\n\nSinal de 30% no valor de {{entryValue|currency}} e o restante parcelado em 4x de {{installment|currency}} pagos no check-in.\n\n*Oferta exclusiva para fechamento hoje!*"
],
"message_1": "*🏨 PARA:* 2 adulto(s)\n📅 *PERÍODO:* 17/01/2026 a 18/01/2026\n\n*Check-in:* A partir das 16h\n*Check-out:* Até as 14h\n\n*Acomodação:* _Superior Casal_ - R$ 343,50\n\n*💳 Forma de pagamento:*\nSinal de R$ 103,05 via Pix no ato da reserva;\nSaldo restante em até 4x de R$ 60,11 sem juros no check-in.\n\n*⏳ Tarifa válida somente até as 23h59 de hoje!*",
"message_2": "Estamos concedendo *50% de desconto* e sua reserva sai de R$ 687,00 por apenas *R$ 343,50*.\n\nSinal de 30% no valor de R$ 103,05 e o restante parcelado em 4x de R$ 60,11 pagos no check-in.\n\n*Oferta exclusiva para fechamento hoje!*"
}