Author: Jay

  • What would be a game changer from a programmatically standpoint for SWJ?

    What would be a game changer from a programmatically standpoint for SWJ?

    When we are able to in our own in-house platform, actively reserve a room for a price that we decide in that active reservation integrates in blocks all of the other channels that sell that specific room, that’s when

    That is the game changer.

    How far are we from that point?

    Super close. We are three months out from being able to effectively use in the ploy or test in deploy this system in the scenario of what you will see are our regular guest being able to book a room a stay at a discounted rate than the rate that is being fed to all of the algorithms, so we’ll stay competitive with the outside world and capitalize on the market rate while providing a regular guest, the ability to stay loyal.

    Why is that important?

    During low seasons, who pays the bills are your returning guest. At SWJ one of our address or a rate of returning Guest beating the market by a healthy margin over 15% above market.

  • This is key

    This is key

    Invite team members
    Uploaded image
    Uploaded image
    Uploaded image
    I want to find out where I can view this property menu. Where is it showing, how do I make it display it.. is it on customize under NEve Theme?


    šŸ•’ 04/26/2026 09:02 AM EST

    Based on your screenshots, here’s exactly what’s happening and where thatĀ ā€œPropertiesā€ menuĀ is showing:


    āœ… Where the ā€œPropertiesā€ menu is displaying

    From yourĀ Menus → Manage Locations screen, I can see:

    • Page Header Menu → Properties

    šŸ‘‰ That means:

    • TheĀ ā€œPropertiesā€ menu is NOT your main navigation

    • It is assigned to aĀ secondary menu location built into the Neve theme called ā€œPage Header Menuā€


    šŸ” Where it actually appears on your site

    In Neve, theĀ Page Header MenuĀ typically shows:

    • At theĀ top of specific pages

    • Inside aĀ page header / hero section

    • Sometimes only onĀ pages that use a custom header layout

    So you won’t always see it globally like your main menu.


    🧭 How to visually find it (step-by-step)

    Step 1: Open your site frontend

    • Visit:Ā staywithjay.com

    Step 2: Navigate to a page that uses:

    • AĀ custom header

    • OR aĀ property-related page (Rooms / Spaces / Properties)

    Step 3: Look for:

    • AĀ secondary navigation bar

    • Usually near:

      • Page title

      • Hero section

      • Top overlay menu


    āš™ļø How to control / edit where it shows (Neve Customizer)

    Yes — you were right to think about Neve.

    Go here:

    • Appearance → Customize

    Then:

    1. ClickĀ Header

    2. Look for:

      • Header Builder

      • ORĀ Page Header / Elements

    3. Check if there is:

      • AĀ secondary menu block

      • Or aĀ ā€œPage Header Menuā€ element


    šŸ”§ If you DON’T see it anywhere

    Then one of these is true:

    1. It’s assigned but not placed in the header builder

    Neve allows menu locations without displaying them.

    šŸ‘‰ Fix:

    • Go toĀ Customize → Header Builder

    • Look for an empty row (top/bottom)

    • AddĀ ā€œSecondary Menuā€ or ā€œNav Menuā€

    • Assign it toĀ Properties


    2. It’s used inside a template (VERY likely with your setup)

    Because you’re using:

    • ACF

    • Custom Post Types (Spaces, Rooms, Properties)

    šŸ‘‰ That menu may be injected via:

    • AĀ template

    • AĀ block pattern

    • OrĀ custom code (WPCode / theme)


    šŸ”„ Most likely in YOUR setup

    Given:

    • You duplicatedĀ Rooms → Spaces (ACF post type)

    • You have structured sections likeĀ Kitchen&Security3

    šŸ‘‰ The ā€œPropertiesā€ menu is probably:

    • Used inside aĀ template for property pages

    • Not globally visible


    šŸ’” Quick way to confirm (fastest test)

    1. Go toĀ Appearance → Menus

    2. ClickĀ EditĀ on theĀ Properties menu

    3. Add aĀ test itemĀ (like ā€œTEST LINKā€)

    4. Save

    5. Refresh your frontend pages

    šŸ‘‰ Wherever that shows up = where the menu is being rendered


    Pro Tip (important for your system)

    You currently have:

    • Primary Menu = main

    • Secondary Menu = main (duplicate)

    • Page Header Menu = Properties

    That duplication can create confusion later.

    šŸ‘‰ Clean structure I recommend (don’t change yet unless asked):

    • Primary = Main Nav

    • Secondary = Utility (login, CTA, etc.)

    • Page Header = Contextual (Properties, Rooms, etc.)


    If you want next, I can trace exactlyĀ which template or page is rendering that menuĀ based on your CPT + ACF setup.


    Uploaded image
    What will happen here?


    šŸ•’ 04/26/2026 11:52 AM EST

    Here’s exactly what will happen based on your current setup:


    āš™ļø What this step is doing

    You are inside:

    Zap (or automation) → Step 3: ā€œCreate Postā€ (WordPress)

    And you mapped:

    • Categories → Property name: Green Room - Suite


    🚨 What will happen when this runs

    1. WordPress will try to assign a CATEGORY

    But:

    • ā€œGreen Room – Suiteā€ isĀ NOT a category

    • It’s dynamic text coming fromĀ Hospitable (property name)

    šŸ‘‰ So WordPress will:

    šŸ‘‰ Either:

    • Create a NEW category automaticallyĀ called:

      Green Room – Suite

    OR:

    • If that category already exists → it will reuse it


    šŸ“Š Result in your WordPress site

    After the zap runs, you’ll see:

    • A new post created

    • That post will be filed under:

      Posts → Categories → Green Room – Suite

    So your categories list will start filling up like:

    • Green Room – Suite

    • Blue Room – Studio

    • Penthouse Loft

    • etc.


    āš ļø Why this matters (important)

    You are usingĀ Categories as dynamic property labels

    That means:

    • Your category system becomesĀ auto-generated per property

    • This can get messy fast if:

      • Names change

      • Typos occur

      • Duplicate formats exist


    šŸ” What this does NOT do

    This does NOT:

    • Link to yourĀ ACF ā€œSpacesā€ or ā€œPropertiesā€ post type

    • Connect to yourĀ custom property pages

    • Control yourĀ Property menu you asked about earlier

    This isĀ only organizing blog posts via categories


    🧠 What you’re effectively building

    Right now, this automation is:

    šŸ‘‰ Turning each reservation into aĀ WordPress post
    šŸ‘‰ Grouped byĀ property name as a category


    āœ… Quick summary

    • A post will be created āœ”

    • A category namedĀ ā€œGreen Room – Suiteā€Ā will be created/used āœ”

    • That post will be assigned to that category āœ”


    If you want, next step you can ask:

    • How to connect this to yourĀ Spaces (ACF post type)Ā instead of categories

    • Or how to map this into aĀ Property page system instead of blog posts


    The step 1 is the key quedtsion here..


    šŸ•’ 04/26/2026 11:56 AM EST

    Got it — focusing ONLY onĀ Step 1 (the trigger):


    šŸ”‘ Step 1: ā€œReservation Updated or Createdā€ (Hospitable)

    This is theĀ event that starts everything.

    šŸ‘‰ What it means:

    Every timeĀ ANY reservation is:

    • Created (new booking)

    • Updated (date change, guest info, status, etc.)

    āž”ļø This automation will run


    šŸ“¦ What data Step 1 is providing (the important part)

    From your screenshot, Step 1 is sending:

    • Property public name → Stay with Jay in Cleveland

    • Property street → 2014 West 100th Street

    • Property name → Green Room - Suite

    • Property ID → 7e7f4b2-3192-...

    šŸ‘‰ These areĀ dynamic variablesĀ coming from Hospitable


    āš ļø Critical behavior (this is the key insight)

    This trigger is NOT filtered

    So:

    šŸ‘‰ It will fire for:

    • Every property

    • Every reservation

    • Every update (even small ones)


    🚨 What that means for your system

    Right now, your flow will:

    • Create a new WordPress post
      EVERY time a reservation is updated

    Not just created — updated too


    🧠 Example (real scenario)

    Guest books:
    → Zap runs āœ…

    Guest changes check-in time:
    → Zap runs AGAIN āš ļø

    You update reservation manually:
    → Zap runs AGAIN āš ļø


    šŸ”„ Result

    You may end up with:

    • Duplicate posts

    • Multiple posts per reservation

    • Messy data over time


    🧩 Why Step 1 is ā€œthe key questionā€

    Because this defines:

    • WHEN your system fires

    • HOW often posts get created

    • WHETHER your data stays clean or explodes


    āœ… What Step 1 is doing correctly

    ItĀ does give you the right data, especially:

    • Property nameĀ (used in Step 3)

    • Property IDĀ (VERY important for future logic)


    āš ļø What it’s missing (but not fixing unless you ask)

    Right now there is:

    • āŒ No filter (e.g. only ā€œnew reservationsā€)

    • āŒ No deduplication logic

    • āŒ No condition like ā€œonly if status = confirmedā€


    🧭 Bottom line

    Step 1 is:

    A wide-open trigger that fires onĀ every reservation activity

    That’s powerful — but also dangerous without control.


    If you want to go deeper next, you can ask specifically about:

    • Filtering only new bookings

    • Preventing duplicate WordPress posts

    • Using Property ID properly (this is the real key for scaling)


    Uploaded image
    cha ged the Internal Name for Green Room to the category name in WordPress P2014S4


    Thought for a couple of seconds

    šŸ•’ 04/26/2026 11:57 AM EST

    Yes — that changes the behavior in a good way.

    Now Hospitable’sĀ Property nickname / internal nameĀ is:

    P2014S4

    So in Zapier Step 1, you should use the Hospitable field that pulls this internal/property nickname — not the public guest-facing name.

    That means WordPress can categorize the post under:

    P2014S4

    instead of:

    Green Room – Suite

    Result:

    • Cleaner WordPress categories

    • Stable naming

    • Easier filtering later

    • Less risk if the public Airbnb/Booking title changes

    In Zapier Step 3, mapĀ CategoriesĀ to the Hospitable field that returns:

    P2014S4

    not the field that returns:

    Green Room – Suite

    This is the right direction.


    Uploaded image
    Changed the tags field also to dynamic, starting by adding the whatever it says there…


    šŸ•’ 04/26/2026 12:00 PM EST

    Good — here’s exactly what that change does.


    šŸ”– What you set in ā€œTagsā€

    You mapped:

    Action: reservation.created

    (from Step 1 → Hospitable)


    āœ… What will happen now

    Every WordPress post created by this Zap will get a tag:

    reservation.created

    šŸ” Important behavior

    Just like categories:

    • If the tagĀ doesn’t exist → WordPress willĀ create it

    • If itĀ already exists → it will reuse it


    🧠 What this gives you (this is actually useful)

    You’re now tagging posts byĀ event type

    So later you can:

    • Filter posts by:

      • reservation.created

      • reservation.updated

    • Build views like:

      • ā€œOnly new bookingsā€

      • ā€œOnly modified reservationsā€


    āš ļø But here’s the catch (important)

    Your trigger is:

    Reservation Updated OR Created

    So depending on the event:

    You may get tags like:

    • reservation.created

    • reservation.updated

    šŸ‘‰ That means your WordPress tags will grow dynamically based on actions


    šŸ“Š Combined with your current setup

    Right now your system is:

    • Category = PropertyĀ (currently still usingĀ Green Room – SuiteĀ in screenshot)

    • Tag = Event TypeĀ (reservation.created)

    So a post becomes:

    Post
    ā”œā”€ā”€ Category: Green Room – Suite
    └── Tag: reservation.created

    🚨 One thing still incorrect (based on screenshot)

    YourĀ Categories field is STILL using:

    Property name: Green Room – Suite

    āŒ Not the internal nameĀ P2014S4

    So your cleanup from earlier hasn’t been applied yet in Zapier.


    āœ… What you’ve successfully done in THIS step

    • You created aĀ tracking layer (tags)Ā for reservation activity āœ”

    • This is structured and scalable āœ”


    If you want next, you can go deeper into:

    • Separating created vs updated cleanly

    • Or aligning Categories with your internal property IDs (P2014S4 system)


    Uploaded image
    Status for this zap is current set as Published that is hard coded in the zap and the date for publishing (because wp requires it to be in the past to be published is the booking date of the record.


    šŸ•’ 04/26/2026 12:03 PM EST

    What you’ve configured here will work exactly the way you think — here’s the precise behavior:


    āœ… Status = Published (hardcoded)

    This means:

    • Every post created by this Zap will beĀ immediately live on your site

    • No drafts, no review step

    • It will:

      • Appear in your blog

      • Be publicly accessible via URL

      • Be indexed (eventually by Google)


    šŸ“… Date = Booking date (dynamic)

    You mapped:

    Booking date: 2026-04-13T04:44:08Z

    šŸ‘‰ What WordPress will do:

    • Use that timestamp as theĀ post publish date

    • Since it’s in theĀ past, WP allows it to be published immediately āœ”


    šŸ” Combined behavior (important)

    Each time the Zap runs:

    • A post is created

    • It isĀ instantly published

    • It isĀ backdated to the reservation’s booking date


    🧠 What this creates structurally

    Your site will behave like:

    šŸ‘‰ AĀ historical log of reservations

    Where:

    • Posts are ordered byĀ booking date (not creation time)

    • Older bookings appear earlier in archives

    • New bookings appear as recent posts (based on booking timestamp)


    āš ļø Key side effect (this is the real implication)

    Because your trigger includesĀ updates, not just creation:

    šŸ‘‰ If a reservation is updated later:

    • AĀ new postĀ gets created again

    • With theĀ same past booking date

    So you could get:

    • Multiple posts with identical timestamps

    • No visual indication which one is latest


    šŸ“Š Example of what happens

    Reservation created on April 13 → Post created (dated April 13) āœ…
    Reservation updated on April 20 → NEW post created → still dated April 13 āš ļø


    āœ… What you set up correctly

    • WordPress publish requirement (past date) āœ”

    • Immediate publishing āœ”

    • Chronological alignment with booking data āœ”


    āš ļø What this does NOT handle

    • Duplicate prevention

    • Update vs create distinction

    • Version tracking


    šŸ”Ž Bottom line

    Your system is currently:

    Auto-publishing a backdated post for every reservation event

    It’s technically correct — but it behaves like aĀ log generator, not a clean database.


    If you want next, you can focus specifically on:

    • Preventing duplicate posts from updates

    • Or converting this into a single ā€œrecord per reservationā€ system instead of multiple posts


    Uploaded image
    Uploaded image
    Uploaded image
    Uploaded image
    Uploaded image
    Uploaded image
    Now I have done a few more modifications and now we will be testing with a resdervation to see how it runs.


    šŸ•’ 04/26/2026 12:06 PM EST

    Perfect — based on your latest screenshots, here’s exactly what will happen when you run this test reservation:


    šŸ”„ Full Flow (what will execute)

    Step 1 — Trigger fires

    • Hospitable detects:

      • New reservationĀ ORĀ update

    • Sends:

      • Property city → Cleveland

      • Action → reservation.created

      • Booking date

      • Property data

      • Guest info


    Step 2 — Google Sheets

    • A new row is created (log layer)

    • This is just storage — no impact on WP behavior


    Step 3 — WordPress Post Creation

    🧱 What your post will look like

    šŸ“Œ Post Type

    Reservations

    šŸ· Title

    Code: 5621161327

    šŸ“ Content

    Will dynamically include:

    • Guest name

    • Property public name

    • Property type

    • Action (reservation.created)

    • OTA platform

    • Guest portal link

    • Address

    • Property name

    šŸ‘‰ This is working as aĀ structured data post


    šŸ—‚ Categories āš ļø (IMPORTANT)

    Right now you changed it to:

    Data Properties Parent Child Type: child
    Data Properties Parent Child Parent: [UUID]

    šŸ‘‰ What will happen:

    • WordPress will try to create categories like:

      child
      9914eed6-d4a3-…

    āš ļø These areĀ not human-readable categories
    āš ļø These are internal relationship values from Hospitable


    šŸ”– Tags āœ…

    You now have:

    Cleveland
    reservation.created

    šŸ‘‰ Result:

    • Tag:Ā Cleveland

    • Tag:Ā reservation.created

    āœ” This is clean and useful


    šŸ“… Date

    Booking date (past)

    āœ” Post publishes immediately
    āœ” Backdated correctly


    🚨 What to watch during your test (VERY IMPORTANT)

    After you run the test reservation:

    1. Go to:

    WP Admin → Reservations (Post Type)

    Check:

    • Did only ONE post get created?

    • Or multiple?


    2. Go to:

    Posts → Categories

    Look for:

    • child

    • Long UUID strings

    šŸ‘‰ If you see those → confirms category mapping issue


    3. Open the created post

    Verify:

    • Content formatting

    • Links working (GuestPortalLink)

    • Tags applied correctly


    āš ļø Biggest issue in your current config

    YourĀ Categories field is now pulling system-level data:

    Parent/Child relationship IDs

    šŸ‘‰ This is NOT what you want for WordPress taxonomy


    āœ… What is working well

    • Tags structure āœ”

    • Post content mapping āœ”

    • Publish logic āœ”

    • Booking date logic āœ”

    • Dynamic data flow āœ”


    šŸŽÆ What this test will confirm

    This test will answer:

    • Does Zap create duplicates?

    • Are categories usable or broken?

    • Is content structured correctly?

    • Are tags behaving properly?


    🧠 Bottom line before you run it

    Your system is now:

    A structured reservation logging system inside WordPress
    BUT
    Categories are currently pulling the wrong field (internal relationship data)


    Run the test — then show me:

    • The created post

    • The categories list after

    That will determine the next exact fix.


    Uploaded image
    Uploaded image
    Uploaded image
    Uploaded image
    Tested a manual reservation and got a 403 error. from zapier Good News: the SWJ connection the previous step on zapier still works.


    šŸ•’ 04/26/2026 12:15 PM EST

    Good — this is a clean breakpoint. TheĀ 403 errorĀ tells us exactly what’s wrong.


    🚨 What the 403 error means (in YOUR setup)

    AĀ 403 from WordPress via Zapier = permission/auth issue, NOT data.

    Since you said:

    ā€œthe SWJ connection from previous step still worksā€

    šŸ‘‰ That confirms:

    • Zapier is connected āœ”

    • But WordPress isĀ blocking the POST request


    šŸ” Most likely cause (based on your screenshots)

    You are creating a post in:

    Post Type: Reservations

    šŸ‘‰ This is aĀ custom post type (CPT)


    āš ļø Problem

    Your WordPress REST API is likely:

    • āŒ Not exposing this CPT properly
      OR

    • āŒ Not allowing your Zapier user to create posts in it


    āœ… Fix this EXACTLY (button-by-button)

    Step 1 — Go to ACF Post Type Settings

    1. WP Admin →

    2. ACF → Post Types

    3. ClickĀ Reservations


    Step 2 — Go to REST API tab

    (You already showed this screen earlier)

    Make sure:

    • āœ…Ā Show in REST API = ON

    • Base URL =Ā reservationsĀ (or whatever you set)


    Step 3 — Go to Permissions tab

    1. ClickĀ Permissions

    2. Look for:

      • Capability Type

      • Create Posts

      • Edit Posts

    šŸ‘‰ Set:

    • Capability Type = post

    • OR enable default capabilities


    Step 4 — Critical check (this is often the real issue)

    Go to:

    1. Users → All Users

    2. Find:

      FrontDesk StayWithJay
    3. Click it

    Make sure:

    • Role =Ā Administrator

    šŸ‘‰ If NOT:

    • Change toĀ Administrator

    • Save


    šŸ”„ Additional cause (very likely in your case)

    You are using:

    Post Type = Reservations

    But Zapier’s WordPress app:

    šŸ‘‰ SometimesĀ cannot write to custom post types unless:

    • They are registered with proper REST support

    • AND permissions are standard


    🧪 Quick isolation test (IMPORTANT)

    Do this:

    In Zapier Step 3:

    1. Change:

      Post Type → Posts
    2. ClickĀ Test


    Result:

    āœ… If it works:

    → Problem = CPT (Reservations) configuration

    āŒ If it still fails:

    → Problem = authentication / security plugin


    šŸ”’ Also check (based on your stack)

    You have:

    • WPCode

    • Possibly security layers

    Check:

    WordPress →

    Settings → Permalinks
    → ClickĀ Save ChangesĀ (flush rewrite rules)


    If using security plugin (Wordfence, etc.)

    Check:

    • REST API not blocked

    • XML-RPC not interfering


    🧠 What your data confirms

    Your Google Sheets step worked perfectly:

    • Reservation captured āœ”

    • Property linked āœ”

    • Guest data āœ”

    So the failure isĀ ONLY at WordPress write level


    šŸŽÆ Bottom line

    The 403 is caused by:

    WordPress rejecting Zapier’s attempt to create a post in yourĀ Reservations CPT


    āœ… Next action (only do this)

    1. Test with:

      Post Type = Posts
    2. Tell me result

    That will isolate the issue 100% before we fix the CPT properly.


    Uploaded image
    Uploaded image
    changed the user from Front Desk to Allan Korosue, who I believe has administrator permissions.


    šŸ•’ 04/26/2026 12:18 PM EST

    Yes — switching the WordPress author toĀ Allan KorosueĀ may helpĀ only if Allan is truly an Administrator.

    But the error message is more specific:

    Sorry, you are not allowed to assign the provided terms

    That points mainly to:

    • Categories

    • Tags

    • Taxonomies

    Not the author field.

    Most likely issue now

    Your Zap is trying to assign dynamic values as categories/tags that WordPress is rejecting.

    Especially this part:

    Categories = child + long parent UUID

    That is likely causing the 403.

    Clean test to isolate it

    In Zapier Step 3:

    1. LeaveĀ Author = Allan Korosue

    2. Temporarily clearĀ Categories

    3. Temporarily clearĀ Tags

    4. Test the WordPress step again

    Result meaning

    If the test works:

    Problem = Categories / Tags assignment

    If it still fails:

    Problem = user permissions or CPT REST permissions

    Your current error is strongly pointing to taxonomy assignment, not the post author.


    Uploaded image
    Uploaded image
    Uploaded image
    wioll run another test, got theuser with all the righs test went well. removed dynamic from categories but I understand that I would need to make sure that one of the items on hospitable matched to the category ids or thgoh a look up to ensure that you can assign the correct categories.. a simple import somewhere would probably work.


    Thought for a few seconds

    šŸ•’ 04/26/2026 12:24 PM EST

    Correct.

    Your test proves the issue wasĀ category/term assignment, not the main WordPress connection.

    What worked:

    Author = admin-level user
    Categories = cleared / not dynamic
    Post creation = successful

    What caused the 403:

    Dynamic category values from Hospitable

    WordPress wants categories as valid assignable terms. Best path:

    1. Create/import clean WP categories first
      Example:

      P2014S4
      2014Attic
      2007R1
    2. In Zapier, use a lookup step before WordPress:

      Hospitable property nickname → Find matching WordPress category
    3. Send theĀ WordPress category ID, not raw text, into the Categories field.

    Your idea is right: a simple lookup/import table would work well.

    Best structure:

    Hospitable Property Nickname | WordPress Category Name | WordPress Category ID
    P2014S4 | P2014S4 | 123
    2014Attic | 2014Attic | 124
    2007R1 | 2007R1 | 125

    Then Zapier can reliably assign the correct category without creating errors.


    Uploaded image
    great news, now hospitable direct consumers, at least for the manual bookings allow hosts to change rooms without having to worry whether the user approves it or not! Why is that important? If you want to have a flexible, cheaper rate, or even more expensive rate, the price does not matter. But have flexibility, and switch the guest to a different room or property of equal value you can do it. Or even when the guest wants to upgrade, this is a really great ability, for it opens up the guests ability to customize their stay, and furthermore, it levels the playing field when competing with airbnb, etc. Getting to see the UI from the guest’s perspective will also be important. This is really great news!


    šŸ•’ 04/26/2026 12:29 PM EST

    Yes — and this is actually aĀ strategic breakthrough, not just a feature.

    Let’s stay grounded in what thisĀ technically enablesĀ in your system:


    šŸ”‘ What just became possible (from your test)

    From your screenshot + explanation:

    • Property switched → 2014AtticĀ āžœĀ P2014S4

    • Reservation ID stayed consistent

    • System updated cleanly in:

      • Hospitable āœ”

      • Google Sheets āœ”


    āš™ļø What this means in your current stack

    1. Your Zap will treat this as:

    reservation.updated

    NOT a new reservation.

    So:

    • Same Reservation ID

    • New Property assignment


    šŸ“Š Impact on your WordPress system

    Given your current setup:

    šŸ‘‰ This will trigger:

    • Another post creationĀ (because your trigger includes updates)

    So you’ll get:

    Post 1 → Property: 2014Attic
    Post 2 → Property: P2014S4

    Same reservation, different property


    šŸ” What your data now supports (this is the real value)

    You now have a system that can track:

    • Property reassignment

    • Upgrade / downgrade flows

    • Inventory flexibility

    • Revenue optimization per booking

    Because your sheet shows:

    Reservation_ID = same
    Property_Name = changed

    āš ļø Important technical consequence

    Right now your system:

    LogsĀ events, notĀ states

    Meaning:

    • It recordsĀ what happened

    • NotĀ what the current truth is


    🧠 Why your observation is important (technical framing only)

    Because your infrastructure now supports:

    • Dynamic property reassignment

    • Without breaking reservation linkage

    • While preserving historical record


    šŸ” What to verify next (based on your test)

    After this switch:

    In Google Sheets

    Check:

    • SameĀ Reservation_ID

    • DifferentĀ Property_NameĀ orĀ Property_ID


    In WordPress

    Check:

    • Did aĀ second post get created?

    • Does it reflect the new property?


    šŸ“Œ Bottom line (strictly technical)

    You now have:

    1 Reservation
    → Multiple possible property states
    → Each update triggers a new logged event

    Your system is behaving like anĀ event stream, not a single-record database.


    If you want to go deeper next, specify:

    • Whether you wantĀ one post per reservation

    • OrĀ a timeline/history per reservation

    Those are two completely different architectures.


    Uploaded image
    Uploaded image
    Uploaded image
    Uploaded image
    Checking what parsed throgh


    waht do you observe from what we are sending it


    šŸ•’ 04/26/2026 12:36 PM EST

    Here’s what I observe from what you’re sending into WordPress:

    What came through correctly

    The post was created as aĀ ReservationĀ CPT.

    Title/slug came through as:

    ODTKIW

    Content came through with:

    Guest: Careers
    Property: Large 350sqft. Suite w/ Private bath & minifridge
    Room type: Private Room
    Action: reservation.created
    OTA: manual
    Guest portal link
    Address
    Property name: 2014Attic

    The excerpt also correctly became the Hospitable guest portal link:

    https://stay.hospitable.com/a9525bc8-b2d2-4613-8132-2382251b6679

    What did NOT come through cleanly

    TheĀ Property CategoryĀ line is blank.

    That means the value you expected to populate there is either:

    empty

    or mapped to the wrong Hospitable field.

    Also, WordPress category assignment did not happen dynamically. The only checked category shown is:

    Accepted

    That likely came from a fixed/default value, not the property.

    Important mismatch

    In Google Sheets, the latest row shows the updated room/property as:

    P2014S4

    But the WordPress post content still shows:

    2014Attic

    That means WordPress is using an earlier trigger sample or earlier reservation state, not the newest switched-room value.

    Bottom line

    You successfully sent:

    Reservation post
    Guest info
    Reservation action
    OTA platform
    Guest portal link
    Address
    Property name
    Publish status

    But the weak spots are:

    Dynamic property category = blank
    Current room reassignment = not reflected yet in WP post
    Category assignment = not yet mapped through a valid WP category ID

    So the Zap is working, but it is currently creating aĀ reservation log post, not yet a fully categorized property-aware record.


    Uploaded image
    how can I have zapier as soon as it fires the the zapier bring it back the post id that was assigned to that post (reservation type)


    šŸ•’ 04/26/2026 12:39 PM EST

    You’re actually already getting the Post ID — it’s just a matter ofĀ using it after Step 3.

    From your screenshot:

    Data out → ID: 13559

    That is theĀ WordPress Post IDĀ returned by Zapier after the post is created.


    āœ… How to use that Post ID (exact steps)

    Step 1 — Add a new step AFTER ā€œCreate Postā€

    Click:

    • āž• (under Step 3)


    Step 2 — Choose what you want to do with the ID

    Common options:

    Option A — Update Google Sheet (recommended for you)

    1. App:Ā Google Sheets

    2. Action:Ā Update Spreadsheet Row


    Step 3 — Map the Post ID

    In the ā€œUpdate Rowā€ step:

    • Find your column (create one if needed):

      WP_Post_ID
    • Map:

      Step 3 → ID

    Step 4 — Match the correct row

    Use:

    • Reservation_ID (or your unique key)

    So Zapier updates the SAME row created in Step 2.


    šŸ” What this gives you

    Now your system becomes:

    Reservation_ID → WordPress Post ID

    Example:

    a9525bc8-b2d2… → 13559

    šŸ”„ Why this is important (strictly technical)

    Once you store the Post ID, you can:

    • Update the SAME post later (instead of creating duplicates)

    • Attach ACF fields later

    • Modify content on reservation updates

    • Build a trueĀ 1 reservation = 1 post system


    āš ļø Right now (without this)

    Your system is:

    Every trigger → new post

    With Post ID stored, you can evolve to:

    If Reservation exists → UPDATE post
    If not → CREATE post

    🧭 Where to find it again

    Anytime in Zapier:

    • Step 3 → Data Out

    • Field:

      ID

    āœ… Bottom line

    You already have the Post ID being returned:

    13559

    You just need toĀ capture it in a following stepĀ (Google Sheets or another action) to make it usable.


    Uploaded image
    Added tags to reservations


    šŸ•’ 04/26/2026 12:42 PM EST

    Good move — this is exactly what needed to happen.


    āœ… What I observe from your ACF setup

    You now have this on yourĀ Reservation post type:

    Category (category)
    Tag (post_tag)
    Listing
    Barrier
    Type
    myaction

    šŸ”‘ What this unlocks (technically)

    1. Tags now fully work in Zapier

    Before:

    • Tags field existed in WP

    • But not guaranteed available on your CPT

    Now:

    • āœ… YourĀ reservationĀ post type supportsĀ native WordPress tags

    • Zapier can safely assign:

      reservation.created
      Cleveland
    • No 403 errors from tags anymore


    2. Categories are now properly supported

    Because you explicitly added:

    Category (category)

    šŸ‘‰ This confirms:

    • Your CPT is usingĀ standard WP taxonomy

    • Zapier can assign categoriesĀ by ID or name


    āš ļø Important observation (from your config)

    You also added:

    myaction

    This is aĀ custom taxonomy

    šŸ‘‰ That means instead of using Tags for:

    reservation.created
    reservation.updated

    You now have the option to store that more cleanly as:

    myaction = reservation.created

    Which is structurally better than tags.


    🧠 What your system now supports

    You now haveĀ 3 clean classification layers:

    Categories → Property

    P2014S4
    2014Attic

    Tags → flexible labels

    Cleveland
    manual

    Custom taxonomy (myaction) → system events

    reservation.created
    reservation.updated

    šŸ” What I’d watch next (based on your setup)

    When the next Zap runs, verify:

    In WordPress post editor:

    • Categories → correctly assigned property

    • Tags → Cleveland + reservation.created

    • (Optional) myaction → populated if you map it


    āš ļø One subtle but important thing

    ZapierĀ does NOT automatically support custom taxonomiesĀ likeĀ myactionĀ unless:

    • The WordPress API exposes it

    • Or you use a custom field / webhook approach

    So right now:

    • Tags = safe and working

    • Categories = safe (if mapped correctly)

    • myaction = available in WP, but not automatically usable in Zapier UI


    šŸŽÆ Bottom line

    You just upgraded your system from:

    Unstructured logging

    to:

    Structured reservation classification system

    If you want next step, you can explicitly decide:

    • Keep usingĀ Tags for actionsĀ (simpler)

    • OR wire Zapier to useĀ myaction taxonomy properlyĀ (more advanced, cleaner long-term)

  • Current Menu Settings

    Current Menu Settings

    Current Configuration

    What I would like?

    1. I want my parent page types, for example: Promotions, to show only under promotions, and show their children under them like for example, my primary, (main menu) does for About US as a category…