A photo is the visual record of a hotspot. ObservV recommends 360 photos for hotspot photos.Photos are usually uploaded directly to the hotspot they belong to. If you do not know which hotspot a photo belongs to, you can move it to the bucket and organize it later.A photo can also have attached photos, which are additional photos linked to a specific point on another photo. Once a photo has attached photos, it becomes a Parent photo.
Hotspot photo. The primary photo stored in a hotspot. 360 photos are recommended.
Attached photo. An additional photo linked to a specific location on a Parent photo.
Parent photo. Any photo that has at least one attached photo.
Snip. A selected area of a photo saved as an attached photo.
Bucket photo. A photo held in the bucket when you do not know which hotspot it belongs to yet.
Sensitive photo. A photo marked as containing sensitive information. Some roles need explicit permission to view sensitive photos.
Opening view. For 360 photos, the position viewers see when they first open the photo.
Use the bucket only when needed. It is best to upload photos directly to the correct hotspot whenever possible, so photos stay organized and easy to find.
Open the property and open the photo you want to move.
2
Open edit mode
Click Edit.
3
Open the Photo tab
Open the Photo tab.
4
Move the photo
Click Move photo to bucket.
5
Confirm
Confirm the move.
The bucket can be used as a temporary collection of photos when you do not know which hotspot they belong to yet. Do not overuse the bucket. It is best to upload photos directly to the correct hotspot whenever possible, so photos stay organized and easier to manage.
How to upload attached photos from the Attached photos tab
1
Open the photo
Open the property and open the photo you want to attach photos to.
2
Open the Attached photos tab
Click Edit and open the Attached photos tab.
3
Upload from device
Click Upload from device and select the file or files.
4
Add photo details
For each photo, choose whether it contains sensitive data and add a comment if needed.
5
Upload
Click Upload.
Once a photo has attached photos, it becomes a Parent photo. If you upload another attached photo, it goes to the same selected location until you change it.
Open the property and open the 360° photo or 2D photo you want to snip from.
2
Click Snip
Click Snip.
3
Draw the selection
Draw a box around the area you want to capture.
4
Check the perimeter
The perimeter is red while the selected area cannot be saved and turns green when the selection is valid.
Use Snip when you want to comment on a specific area of a photo, especially when you are working remotely and cannot take a new photo on site.
The snipped area is saved automatically as an attached photo, but you may need to refresh to see it attached.
Snipping cannot be used on attached photos.
While Snip mode is active, rotation on 360 photos is paused.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ObservV Knowledge Base","description":"Product documentation for administrators, content managers, and end users.","colors":{"primary":"#1D4ED8","light":"#3B82F6","dark":"#1E3A8A"},"logo":{"light":"https://mintcdn.com/observv/cS7OcgIn7GPyFLf0/logo/light.svg?fit=max\u0026auto=format\u0026n=cS7OcgIn7GPyFLf0\u0026q=85\u0026s=05d925b2fbc3c0a0d16c676946e1a6b2","dark":"https://mintcdn.com/observv/cS7OcgIn7GPyFLf0/logo/dark.svg?fit=max\u0026auto=format\u0026n=cS7OcgIn7GPyFLf0\u0026q=85\u0026s=37283a34ea7f494a15c026410718ecad"},"favicon":"https://mintlify.s3.us-west-1.amazonaws.com/observv/favicon.png","navbar":{"links":[{"href":"mailto:support@observv.com","label":"Support"}],"primary":{"type":"button","label":"Open ObservV","href":"https://app.observv.com"}},"footer":{"socials":{"website":"https://observv.com"}},"search":{"prompt":"Search the docs..."},"seo":{"indexing":"navigable"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Status","icon":"signal-stream","href":"https://status.observv.com"},{"anchor":"Support","icon":"envelope","href":"mailto:support@observv.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"observv","hasAudioNarration":false,"actualSubdomain":"observv","customDomains":["docs.observv.com"],"gitSource":{"type":"github","owner":"observv","repo":"documentation-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aa157ea526e02a5d5f70732","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Documentation","count":24},{"language":"default","tag":"Properties \u0026 content","count":7},{"language":"default","tag":"Access","count":6},{"language":"default","tag":"Getting started","count":4},{"language":"default","tag":"Organizing \u0026 sharing","count":3},{"language":"default","tag":"Reference","count":3},{"language":"default","tag":"Billing","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".mdx-content{--table-sticky-bg: #ffffff;--table-sticky-edge: rgba(15, 23, 42, 0.1)}.dark .mdx-content{--table-sticky-bg: #0f1117;--table-sticky-edge: rgba(255, 255, 255, 0.14)}.mdx-content table th:first-child,.mdx-content table td:first-child{position:sticky;left:0;z-index:2;background-color:var(--table-sticky-bg);box-shadow:1px 0 0 0 var(--table-sticky-edge)}.mdx-content table thead th:first-child{z-index:3}.role-hierarchy,.role-list{background-color:rgba(29, 78, 216, 0.06);border:1px solid rgba(29, 78, 216, 0.16);border-radius:0.5rem;padding:0.75rem 1rem;margin:1rem 0;line-height:1.8;overflow-wrap:break-word}.dark .role-hierarchy,.dark .role-list{background-color:rgba(59, 130, 246, 0.12);border-color:rgba(59, 130, 246, 0.3)}.role-hierarchy p,.role-list p{margin:0}"}],"page":{"pagePath":"properties-and-content/photos","slug":"/properties-and-content/photos","pageMetadata":{"title":"Photos","sidebarTitle":"Photos","description":"Upload, edit, move, trash, and organize photos stored in hotspots, including 360 photos, Parent photos, attached photos, and bucket photos.","icon":"image","href":"/properties-and-content/photos"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Upload, edit, move, trash, and organize photos stored in hotspots, including 360 photos, Parent photos, attached photos, and bucket photos.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Info,Note,Step,Steps}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`A photo is the visual record of a hotspot. ObservV recommends 360 photos for hotspot photos.`}),`\n`,_jsx(_components.p,{children:`Photos are usually uploaded directly to the hotspot they belong to. If you do not know which hotspot a photo belongs to, you can move it to the bucket and organize it later.`}),`\n`,_jsx(_components.p,{children:`A photo can also have attached photos, which are additional photos linked to a specific point on another photo. Once a photo has attached photos, it becomes a Parent photo.`}),`\n`,_jsx(Heading,{level:`2`,id:`key-concepts`,children:`Key concepts`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Hotspot photo.`}),` The primary photo stored in a hotspot. 360 photos are recommended.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Attached photo.`}),` An additional photo linked to a specific location on a Parent photo.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Parent photo.`}),` Any photo that has at least one attached photo.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Snip.`}),` A selected area of a photo saved as an attached photo.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Bucket photo.`}),` A photo held in the bucket when you do not know which hotspot it belongs to yet.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sensitive photo.`}),` A photo marked as containing sensitive information. Some roles need explicit permission to view sensitive photos.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Opening view.`}),` For 360 photos, the position viewers see when they first open the photo.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Use the bucket only when needed. It is best to upload photos directly to the correct hotspot whenever possible, so photos stay organized and easy to find.`})}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-upload-photos-to-a-hotspot`,children:`How to upload photos to a hotspot`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the floor`,children:_jsx(_components.p,{children:`Open the property, then open the floor containing the hotspot.`})}),_jsx(Step,{title:`Select the hotspot`,children:_jsx(_components.p,{children:`Select the hotspot.`})}),_jsx(Step,{title:`Choose the source`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Upload`}),`, then choose whether to take a photo or select one from your gallery.`]})}),_jsx(Step,{title:`Add photo details`,children:_jsx(_components.p,{children:`For each photo, choose whether it contains sensitive data and add a comment if needed.`})}),_jsx(Step,{title:`Upload`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Upload`}),`.`]})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Text you enter in the `,_jsx(_components.strong,{children:`Comment`}),` field during upload becomes a comment on that photo. It is visible to anyone who has access to the photo.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-upload-photos-to-a-hotspot-using-edit-hotspots`,children:`How to upload photos to a hotspot using Edit hotspots`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the floor`,children:_jsx(_components.p,{children:`Open the property, then open the floor containing the hotspot.`})}),_jsx(Step,{title:`Click Edit`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),`.`]})}),_jsx(Step,{title:`Edit hotspots`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit hotspots`}),`.`]})}),_jsx(Step,{title:`Select the hotspot`,children:_jsx(_components.p,{children:`Click the hotspot you want to upload photos to.`})}),_jsx(Step,{title:`Choose the source`,children:_jsx(_components.p,{children:`Select the option to upload photos, then choose whether to take a photo or select one from your gallery.`})}),_jsx(Step,{title:`Add photo details`,children:_jsx(_components.p,{children:`For each photo, choose whether it contains sensitive data and add a comment if needed.`})}),_jsx(Step,{title:`Upload`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Upload`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-set-the-opening-view-for-a-photo`,children:`How to set the opening view for a photo`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the photo`,children:_jsx(_components.p,{children:`Open the property and open the photo.`})}),_jsx(Step,{title:`Open edit mode`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),`.`]})}),_jsx(Step,{title:`Position the view`,children:_jsx(_components.p,{children:`Move the photo to the opening position you want, using the opening view controls if needed.`})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-move-a-photo-to-a-different-hotspot`,children:`How to move a photo to a different hotspot`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the photo`,children:_jsx(_components.p,{children:`Open the property and open the photo you want to move.`})}),_jsx(Step,{title:`Open edit mode`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),`.`]})}),_jsx(Step,{title:`Open the Photo tab`,children:_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Photo`}),` tab.`]})}),_jsx(Step,{title:`Move the photo`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Move photo to different hotspot`}),`.`]})}),_jsx(Step,{title:`Select the destination`,children:_jsx(_components.p,{children:`Select the floor and hotspot you want to move the photo to.`})}),_jsx(Step,{title:`Confirm`,children:_jsx(_components.p,{children:`Confirm the move.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-move-a-photo-to-the-bucket`,children:`How to move a photo to the bucket`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the photo`,children:_jsx(_components.p,{children:`Open the property and open the photo you want to move.`})}),_jsx(Step,{title:`Open edit mode`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),`.`]})}),_jsx(Step,{title:`Open the Photo tab`,children:_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Photo`}),` tab.`]})}),_jsx(Step,{title:`Move the photo`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Move photo to bucket`}),`.`]})}),_jsx(Step,{title:`Confirm`,children:_jsx(_components.p,{children:`Confirm the move.`})})]}),`\n`,_jsx(Info,{children:_jsx(_components.p,{children:`The bucket can be used as a temporary collection of photos when you do not know which hotspot they belong to yet. Do not overuse the bucket. It is best to upload photos directly to the correct hotspot whenever possible, so photos stay organized and easier to manage.`})}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-move-a-bucket-photo-to-a-hotspot`,children:`How to move a bucket photo to a hotspot`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the bucket`,children:_jsx(_components.p,{children:`Open the property and open the bucket.`})}),_jsx(Step,{title:`Select the photo`,children:_jsx(_components.p,{children:`Select the photo you want to move.`})}),_jsx(Step,{title:`Open edit`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),`.`]})}),_jsx(Step,{title:`Open the Photo tab`,children:_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Photo`}),` tab.`]})}),_jsx(Step,{title:`Move the photo`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Move photo to different hotspot`}),`.`]})}),_jsx(Step,{title:`Select the destination`,children:_jsx(_components.p,{children:`Select the floor and hotspot where the photo belongs.`})}),_jsx(Step,{title:`Confirm`,children:_jsx(_components.p,{children:`Confirm the move.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-trash-a-photo`,children:`How to trash a photo`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the photo`,children:_jsx(_components.p,{children:`Open the property and open the photo you want to trash.`})}),_jsx(Step,{title:`Open edit`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),`.`]})}),_jsx(Step,{title:`Open the Photo tab`,children:_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Photo`}),` tab.`]})}),_jsx(Step,{title:`Trash the photo`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Trash photo`}),`.`]})}),_jsx(Step,{title:`Confirm`,children:_jsx(_components.p,{children:`Confirm the action.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-upload-attached-photos-from-the-photo-viewer`,children:`How to upload attached photos from the photo viewer`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the photo`,children:_jsx(_components.p,{children:`Open the property and open the photo you want to attach photos to.`})}),_jsx(Step,{title:`Upload`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Upload`}),`.`]})}),_jsx(Step,{title:`Pick the location`,children:_jsx(_components.p,{children:`Click the location on the photo where you want to place the attached photos.`})}),_jsx(Step,{title:`Choose the source`,children:_jsx(_components.p,{children:`Select the option to upload photos, then choose whether to take a photo or select one from your gallery.`})}),_jsx(Step,{title:`Add photo details`,children:_jsx(_components.p,{children:`For each photo, choose whether it contains sensitive data and add a comment if needed.`})}),_jsx(Step,{title:`Upload`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Upload`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-upload-attached-photos-from-the-attached-photos-tab`,children:`How to upload attached photos from the Attached photos tab`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the photo`,children:_jsx(_components.p,{children:`Open the property and open the photo you want to attach photos to.`})}),_jsx(Step,{title:`Open the Attached photos tab`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),` and open the `,_jsx(_components.strong,{children:`Attached photos`}),` tab.`]})}),_jsx(Step,{title:`Upload from device`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Upload from device`}),` and select the file or files.`]})}),_jsx(Step,{title:`Add photo details`,children:_jsx(_components.p,{children:`For each photo, choose whether it contains sensitive data and add a comment if needed.`})}),_jsx(Step,{title:`Upload`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Upload`}),`.`]})})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Once a photo has attached photos, it becomes a Parent photo. If you upload another attached photo, it goes to the same selected location until you change it.`})}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-attach-existing-photos`,children:`How to attach existing photos`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Parent photo`,children:_jsx(_components.p,{children:`Open the property and open the Parent photo.`})}),_jsx(Step,{title:`Open the Attached photos tab`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),` and open the `,_jsx(_components.strong,{children:`Attached photos`}),` tab.`]})}),_jsx(Step,{title:`Attach existing photos`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Attach existing photos`}),`.`]})}),_jsx(Step,{title:`Select photos`,children:_jsx(_components.p,{children:`Select the photo or photos you want to attach.`})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]})})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Only hotspot photos that are not already Parent photos or attached photos can be selected.`})}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-manage-attached-photos`,children:`How to manage attached photos`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Parent photo`,children:_jsx(_components.p,{children:`Open the property and open the Parent photo.`})}),_jsx(Step,{title:`Open the Attached photos tab`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),` and open the `,_jsx(_components.strong,{children:`Attached photos`}),` tab.`]})}),_jsx(Step,{title:`Edit, move, or remove`,children:_jsx(_components.p,{children:`Select the attached photo and edit details, move it, or remove it as needed.`})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-use-snip`,children:`How to use Snip`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the photo`,children:_jsx(_components.p,{children:`Open the property and open the 360° photo or 2D photo you want to snip from.`})}),_jsx(Step,{title:`Click Snip`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Snip`}),`.`]})}),_jsx(Step,{title:`Draw the selection`,children:_jsx(_components.p,{children:`Draw a box around the area you want to capture.`})}),_jsx(Step,{title:`Check the perimeter`,children:_jsx(_components.p,{children:`The perimeter is red while the selected area cannot be saved and turns green when the selection is valid.`})})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Use Snip when you want to comment on a specific area of a photo, especially when you are working remotely and cannot take a new photo on site.\nThe snipped area is saved automatically as an attached photo, but you may need to refresh to see it attached.\nSnipping cannot be used on attached photos.\nWhile Snip mode is active, rotation on 360 photos is paused.`})}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/properties-and-content/hotspots`,children:`Hotspots`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/properties-and-content/redactions`,children:`Redactions`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/properties-and-content/qr-codes`,children:`QR codes`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/properties-and-content/trash`,children:`Trash`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Photos","sidebarTitle":"Photos","description":"Upload, edit, move, trash, and organize photos stored in hotspots, including 360 photos, Parent photos, attached photos, and bucket photos.","icon":"image","href":"/properties-and-content/photos"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Key concepts","slug":"key-concepts","depth":2,"children":[]},{"title":"How to upload photos to a hotspot","slug":"how-to-upload-photos-to-a-hotspot","depth":2,"children":[]},{"title":"How to upload photos to a hotspot using Edit hotspots","slug":"how-to-upload-photos-to-a-hotspot-using-edit-hotspots","depth":2,"children":[]},{"title":"How to set the opening view for a photo","slug":"how-to-set-the-opening-view-for-a-photo","depth":2,"children":[]},{"title":"How to move a photo to a different hotspot","slug":"how-to-move-a-photo-to-a-different-hotspot","depth":2,"children":[]},{"title":"How to move a photo to the bucket","slug":"how-to-move-a-photo-to-the-bucket","depth":2,"children":[]},{"title":"How to move a bucket photo to a hotspot","slug":"how-to-move-a-bucket-photo-to-a-hotspot","depth":2,"children":[]},{"title":"How to trash a photo","slug":"how-to-trash-a-photo","depth":2,"children":[]},{"title":"How to upload attached photos from the photo viewer","slug":"how-to-upload-attached-photos-from-the-photo-viewer","depth":2,"children":[]},{"title":"How to upload attached photos from the Attached photos tab","slug":"how-to-upload-attached-photos-from-the-attached-photos-tab","depth":2,"children":[]},{"title":"How to attach existing photos","slug":"how-to-attach-existing-photos","depth":2,"children":[]},{"title":"How to manage attached photos","slug":"how-to-manage-attached-photos","depth":2,"children":[]},{"title":"How to use Snip","slug":"how-to-use-snip","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/observv/59bbca9d2a80179a/_scaffold.js"],"subdomain":"observv","siteName":"ObservV Knowledge Base","title":"Photos - ObservV Knowledge Base","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-09T12:58:36.890Z","originalFileLocation":"properties-and-content/photos.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Upload, edit, move, trash, and organize photos stored in hotspots, including 360 photos, Parent photos, attached photos, and bucket photos.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ObservV Knowledge Base\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/observv/favicon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/observv/favicon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/observv/favicon.png\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/png\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/observv/favicon.png\">\u003cmeta data-mint-head property=\"og:title\" content=\"Photos - ObservV Knowledge Base\">\u003cmeta data-mint-head property=\"og:description\" content=\"Upload, edit, move, trash, and organize photos stored in hotspots, including 360 photos, Parent photos, attached photos, and bucket photos.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ObservV Knowledge Base\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.observv.com/properties-and-content/photos\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://observv.mintlify.site/_mintlify/api/og/v2?division=Properties+%26+content\u0026amp;title=Photos\u0026amp;description=Upload%2C+edit%2C+move%2C+trash%2C+and+organize+photos+stored+in+hotspots%2C+including+360+photos%2C+Parent+photos%2C+attached+photos%2C+and+bucket+photos.\u0026amp;theme=eacdbde9d381af87d03a249d\u0026amp;signature=7a1163f2d03472c09f655c87ce36e13d6e17a6990624c64b72df49093fe15c3c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Photos - ObservV Knowledge Base\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Upload, edit, move, trash, and organize photos stored in hotspots, including 360 photos, Parent photos, attached photos, and bucket photos.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://observv.mintlify.site/_mintlify/api/og/v2?division=Properties+%26+content\u0026amp;title=Photos\u0026amp;description=Upload%2C+edit%2C+move%2C+trash%2C+and+organize+photos+stored+in+hotspots%2C+including+360+photos%2C+Parent+photos%2C+attached+photos%2C+and+bucket+photos.\u0026amp;theme=eacdbde9d381af87d03a249d\u0026amp;signature=7a1163f2d03472c09f655c87ce36e13d6e17a6990624c64b72df49093fe15c3c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/observv/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ObservV Knowledge Base\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1D4ED8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.observv.com/properties-and-content/photos\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/properties-and-content/photos.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.observv.com/#organization\",\"name\":\"ObservV Knowledge Base\",\"url\":\"https://docs.observv.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/observv/cS7OcgIn7GPyFLf0/logo/light.svg?fit=max\u0026auto=format\u0026n=cS7OcgIn7GPyFLf0\u0026q=85\u0026s=05d925b2fbc3c0a0d16c676946e1a6b2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.observv.com#website\",\"name\":\"ObservV Knowledge Base\",\"url\":\"https://docs.observv.com\",\"publisher\":{\"@id\":\"https://docs.observv.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.observv.com/properties-and-content/photos#webpage\",\"url\":\"https://docs.observv.com/properties-and-content/photos\",\"name\":\"Photos\",\"description\":\"Upload, edit, move, trash, and organize photos stored in hotspots, including 360 photos, Parent photos, attached photos, and bucket photos.\",\"dateModified\":\"2026-09-09T12:58:36.890Z\",\"isPartOf\":{\"@id\":\"https://docs.observv.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.observv.com/properties-and-content/photos#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.observv.com/properties-and-content/photos#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Properties \u0026 content\",\"item\":\"https://docs.observv.com/properties-and-content/properties\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Photos\",\"item\":\"https://docs.observv.com/properties-and-content/photos\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.observv.com/properties-and-content/photos#article\",\"headline\":\"Photos\",\"name\":\"Photos\",\"description\":\"Upload, edit, move, trash, and organize photos stored in hotspots, including 360 photos, Parent photos, attached photos, and bucket photos.\",\"url\":\"https://docs.observv.com/properties-and-content/photos\",\"mainEntityOfPage\":{\"@id\":\"https://docs.observv.com/properties-and-content/photos#webpage\"},\"dateModified\":\"2026-09-09T12:58:36.890Z\",\"publisher\":{\"@id\":\"https://docs.observv.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.observv.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ObservV Knowledge Base\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ObservV Knowledge Base","nav":{"global":{"anchors":[{"anchor":"Status","icon":"signal-stream","href":"https://status.observv.com"},{"anchor":"Support","icon":"envelope","href":"mailto:support@observv.com"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Getting started","pages":[{"title":"ObservV documentation","sidebarTitle":"Home","href":""},{"title":"Welcome to ObservV","sidebarTitle":"Welcome","icon":"house","href":"/getting-started/welcome"},{"title":"Core concepts and the ObservV object model","sidebarTitle":"Object model","icon":"diagram-project","href":"/getting-started/object-model"},{"title":"How this guide is organized","sidebarTitle":"How to use this guide","icon":"compass","href":"/getting-started/how-to-use-this-guide"}]},{"group":"Properties \u0026 content","pages":[{"title":"Properties","sidebarTitle":"Properties","icon":"building","href":"/properties-and-content/properties"},{"title":"Floors","sidebarTitle":"Floors","icon":"layer-group","href":"/properties-and-content/floors"},{"title":"Hotspots","sidebarTitle":"Hotspots","description":"Add, name, move, and trash the points on a floor where photos are stored.","icon":"location-dot","href":"/properties-and-content/hotspots"},{"title":"Photos","sidebarTitle":"Photos","icon":"image","href":"/properties-and-content/photos"},{"title":"Trash","sidebarTitle":"Trash","description":"Review, restore, and permanently delete floors, hotspots, and photos that have been moved to Trash.","icon":"trash","href":"/properties-and-content/trash"},{"title":"Redactions","sidebarTitle":"Redactions","icon":"eye-slash","href":"/properties-and-content/redactions"},{"title":"QR codes \u0026 QR markers","sidebarTitle":"QR codes","icon":"qrcode","href":"/properties-and-content/qr-codes"}]},{"group":"Organizing \u0026 sharing","pages":[{"title":"Tours","sidebarTitle":"Tours","icon":"route","href":"/organizing-and-sharing/tours"},{"title":"Projects","sidebarTitle":"Projects","icon":"folder-tree","href":"/organizing-and-sharing/projects"},{"title":"Markers","sidebarTitle":"Markers","icon":"map-pin","href":"/organizing-and-sharing/markers"}]},{"group":"Access","pages":[{"title":"Access model overview","sidebarTitle":"Overview","href":"/access/overview"},{"title":"Global roles","sidebarTitle":"Global roles","icon":"globe","href":"/access/global-roles"},{"title":"Property roles","sidebarTitle":"Property roles","icon":"building-shield","href":"/access/property-roles"},{"title":"Project roles","sidebarTitle":"Project roles","icon":"users-rectangle","href":"/access/project-roles"},{"title":"Invites","sidebarTitle":"Invites","icon":"envelope-open-text","href":"/access/invites"},{"title":"External access","sidebarTitle":"External access","icon":"users","href":"/access/external-access"}]},{"group":"Billing","pages":[{"title":"Billing and Data Services","sidebarTitle":"Billing \u0026 Data Services","icon":"credit-card","href":"/billing/billing-and-data-services"}]},{"group":"Reference","pages":[{"title":"Permissions matrix","sidebarTitle":"Permissions","icon":"table-list","href":"/reference/permissions"},{"title":"Visibility settings","sidebarTitle":"Visibility","icon":"eye","href":"/reference/visibility"},{"title":"Glossary","sidebarTitle":"Glossary","icon":"book-open","href":"/reference/glossary"}]}]}]},"basePath":"","title":"Photos - ObservV Knowledge Base","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}