Docs & Guides
Stacking & Nesting
7 min
oftentimes, shippers need to pack and ship items whose packed dimensions, when sending multiples, are in reality much smaller than the item count multiplied by the item’s cubic volume items can stack or compress due to their shape, and thus take up less space in a carton or container prime examples of this are things like trash cans, traffic cones, or even baseball caps additionally, items may have space available within them to place other items that may be in an order, creating the opportunity to nest a smaller item inside another one stacking paccurate has a pair of rules to address both of these instances, and they can be combined let’s start with stacking behavior as an example, we can use a traffic cone as the target item which we need to stack and pack the paccurate rule for this is called compact pattern and the options associated with it are compactibleaxes an array, max length of 3, containing the axis index of each changing dimension a value of \[0, 1] would mean that the height (0, x axis) and length (1, y axis) are compactible putting an axis index in this array essentially “activates” the axis to watch for items places alongside it compactproperties an array that contains a list of config objects with the attributes targetrefid (the refid of an item that triggers an item’s compaction), compactedstacksizelimit (maximum amount of items to be stacked before pattern starts over), and compactibleaxisdimensionchange , which is a child array that supports multiple objects which define how each axis should change the child array’s order maps to the compactibleaxes array order the compactibelaxisdimensionchange array sequence is important the index of the compaction definition is applied when the compactibleaxis with the same array index is triggered for example if an item’s x and z axes can compact, the compactibleaxes would be \[0, 2] , and compactibleaxisdimensionchange array would be something like \[{"x" 2 5}, {"z" 0 5}] this means an item placed on top of the item (along the x axis — 0 in the compactibleaxes array) would match the first rule in compactibleaxisdimensionchange array, and the first compacted dimension would be applied accordingly ( {"x" 2 5} ) here is an example of a fully composed “compact pattern” rule { 	"rules" \[ { "itemmatch" { "property" "sequence", "expression" "cone" }, "operation" "compact pattern", "options" { "compactibleaxes" \[ 0 ], "compactproperties" \[ { "targetrefid" null, "compactibleaxisdimensionchange" \[ { "x" 8 5 } ] } ] } } ] } https //inspector manage paccurate io/config editor?config=n4ig9gtgjgphcwuqc4qe4csagahajjrabor4axgawwguyybnfabvahgdmbjjzlegdxjwa5gasykpcqcoavwcgaozlkanigwlf8yjbqgacvigbreiueacamjhfekvrhyyigmz7ubuw5br4uor08hamykaahigajhwg6sgabcqaxiijal4k3ga2kpoaxngazdboocazalokeli5mgespbsuallyzg6ikkaadhbgfxbkcsbolu6%20mbedjcf2%20t72lsrdcj0hiktglh3ybmqatptkfbdba30qob0g8jnn2iowkgr1mnm7%204fwaeynacceuazcwnra3j2bzibkgwwgklbygazgmwjoacuonwuip6jkvtdfgcymd4pqacibvwlrtwurkdhmsioi6jab0ggqpoqjd%20yaiabvvmmmqbbcjxb0oshinftlp9dgabqqiokfybolhvnihakbigkbpfuzlisorimgylaafgvok8iaa7cq3ylih4auetrqqlkxyauegtelzurlvkbfjzfkte79ne8crkyrpzqftq7rlk8hkhmw0ki1hrbbka6e0runfiqm67wvvrax6czfivna6l2ywqjky7h7y7qybook1wqm1nw%20eazfkveumbtthe%2f3pyo5cpnde7am9xnvdqz3rd527d3ixa%201an7lkybftuskmx8mp8fbrpc3eerfl8ma63jg97bkme67qmgphi2x6nhei4fghprrku17ribq5vjuqppu%20mafkebyfsaf5sewghocb5ypk%20yotruh6wur35lvmy4xhaqhrjrye1rhqqhs2vpwxojgdhxv6rjepgbrriaohgb4qxgteisxepkeeaf4nxa6gdh%20hum6gbqdmrhikgcshqa3jubjbmpgpo4pnhpkecx%2fq5urzeaxz0kybxhk1q5kbymzj5iywvlfvkel3lhtkjkpkopxgqntqjspayhowmul8wyrwfgjm%20b7utb6letev41x5hxlokmhjtuowphvwnmaepkxorkh%20awcxfcfo4ykmrlybfwuxm1muovgdvysvkwoenu0awjov%2fpjlebdrs0jel6bput1xiol%20ylqamt2fpiv0ypeeqadxf4ahf7ib1i2oq9pwviqdrqz1ku%2fp2csmod333c5st%2ffhlvdvftufudx23un8kjqtegqr5vxeahnz9wje0oddyxrkmlprc6l0wxg0sdozfeuldw0tfoauvkpdoacjewsat6nfzjzrjuoxqzyrz0lgkv0ojlbm4cv2ohbzuwkb1ols6lszjde%20sdzlg25rnm31clquc%2fxueqpl6u5pr4mxtdpn3ezv1ocqxuoq7kbopmacuwhbsyyralqx7zvbqbieduvyuhdzydr1tguxkposleqk544jspo5jccye7ushena15ydwuiywkg6zbb3wyaeapq3dts55r09edxnyq78dw792mcvhho1ztxebu3v3iwdk1v9nssxzedpzynoda8bz2f5eu%2f7bktujspkelybmro%20pkh72thsw%20oy4d2psvzpeiunz9zl4kq38nwfz3f3ziaosa8s5duts3n6qu9xvvtu9sqn1zpcq%2futz8%2f1azj2rv%20iskmuf3yxmvd0umebvxrmds8log6hxfstj6f8sflzetpeb69ig4qfnavol95zivyb9i6bt3spxfgwzqppwz4lli5cund8ywwijxa6fcyagwblvawbmzainxjfuutdjqypzggleldjhzwygvbh599tsqaklahq9nj7gpjy4gs94evkvikexg8z5fxfolvoymeggonofzqw86gmx%2fgtdxz4kliicx4kcksdfr0liyprzirpzwwteiyiieg4ksz%2fecoc8lwj3rynbuiw4bwnjqqou8iyukvirnqpn8ndsjhnhxycafj1sinlpm1%20ao3on0sjqdoywiphaobidqkh2mexnmfs3hwiuqwpuucitmdcdkwqsbqbuaqncmi7ahhoh5ikeuwwgrghgb4aa4mab4%20hkbghomccgvbgazcaa%3d\&embed=true https //inspector manage paccurate io/config editor?config=n4ig9gtgjgphcwuqc4qe4csagahajjrabor4axgawwguyybnfabvahgdmbjjzlegdxjwa5gasykpcqcoavwcgaozlkanigwlf8yjbqgacvigbreiueacamjhfekvrhyyigmz7ubuw5br4uor08hamykaahigajhwg6sgabcqaxiijal4k3ga2kpoaxngazdboocazalokeli5mgespbsuallyzg6ikkaadhbgfxbkcsbolu6%20mbedjcf2%20t72lsrdcj0hiktglh3ybmqatptkfbdba30qob0g8jnn2iowkgr1mnm7%204fwaeynacceuazcwnra3j2bzibkgwwgklbygazgmwjoacuonwuip6jkvtdfgcymd4pqacibvwlrtwurkdhmsioi6jab0ggqpoqjd%20yaiabvvmmmqbbcjxb0oshinftlp9dgabqqiokfybolhvnihakbigkbpfuzlisorimgylaafgvok8iaa7cq3ylih4auetrqqlkxyauegtelzurlvkbfjzfkte79ne8crkyrpzqftq7rlk8hkhmw0ki1hrbbka6e0runfiqm67wvvrax6czfivna6l2ywqjky7h7y7qybook1wqm1nw%20eazfkveumbtthe%2f3pyo5cpnde7am9xnvdqz3rd527d3ixa%201an7lkybftuskmx8mp8fbrpc3eerfl8ma63jg97bkme67qmgphi2x6nhei4fghprrku17ribq5vjuqppu%20mafkebyfsaf5sewghocb5ypk%20yotruh6wur35lvmy4xhaqhrjrye1rhqqhs2vpwxojgdhxv6rjepgbrriaohgb4qxgteisxepkeeaf4nxa6gdh%20hum6gbqdmrhikgcshqa3jubjbmpgpo4pnhpkecx%2fq5urzeaxz0kybxhk1q5kbymzj5iywvlfvkel3lhtkjkpkopxgqntqjspayhowmul8wyrwfgjm%20b7utb6letev41x5hxlokmhjtuowphvwnmaepkxorkh%20awcxfcfo4ykmrlybfwuxm1muovgdvysvkwoenu0awjov%2fpjlebdrs0jel6bput1xiol%20ylqamt2fpiv0ypeeqadxf4ahf7ib1i2oq9pwviqdrqz1ku%2fp2csmod333c5st%2ffhlvdvftufudx23un8kjqtegqr5vxeahnz9wje0oddyxrkmlprc6l0wxg0sdozfeuldw0tfoauvkpdoacjewsat6nfzjzrjuoxqzyrz0lgkv0ojlbm4cv2ohbzuwkb1ols6lszjde%20sdzlg25rnm31clquc%2fxueqpl6u5pr4mxtdpn3ezv1ocqxuoq7kbopmacuwhbsyyralqx7zvbqbieduvyuhdzydr1tguxkposleqk544jspo5jccye7ushena15ydwuiywkg6zbb3wyaeapq3dts55r09edxnyq78dw792mcvhho1ztxebu3v3iwdk1v9nssxzedpzynoda8bz2f5eu%2f7bktujspkelybmro%20pkh72thsw%20oy4d2psvzpeiunz9zl4kq38nwfz3f3ziaosa8s5duts3n6qu9xvvtu9sqn1zpcq%2futz8%2f1azj2rv%20iskmuf3yxmvd0umebvxrmds8log6hxfstj6f8sflzetpeb69ig4qfnavol95zivyb9i6bt3spxfgwzqppwz4lli5cund8ywwijxa6fcyagwblvawbmzainxjfuutdjqypzggleldjhzwygvbh599tsqaklahq9nj7gpjy4gs94evkvikexg8z5fxfolvoymeggonofzqw86gmx%2fgtdxz4kliicx4kcksdfr0liyprzirpzwwteiyiieg4ksz%2fecoc8lwj3rynbuiw4bwnjqqou8iyukvirnqpn8ndsjhnhxycafj1sinlpm1%20ao3on0sjqdoywiphaobidqkh2mexnmfs3hwiuqwpuucitmdcdkwqsbqbuaqncmi7ahhoh5ikeuwwgrghgb4aa4mab4%20hkbghomccgvbgazcaa%3d\&embed=true in this snippet, we’re creating the rule for items with the sequence property of “cone” when an item that matches that rule is packed on top of another instance of itself ( ”targetrefid”\ null ), it’s height is reduced by 8 5 this means that if our cone is 10” tall, any additional cone placed on top of it only adds 1 5” to the initial cone height (because 10 8 5 = 1 5) the rule can be expanded to have different compaction behaviors based on what other items are packed alongside it, or on top of it each property definition can have different axis changes and refid targets here’s another example of compact pattern https //inspector manage dev paccurate io/config editor/?config=n4igxg9gnlcmybccweb2bjajiaxcanamwbssmza7alqasahmfrytqkxv1g0amvsataezbyvqx4bdaebyancaaoesagukawwaysvlacucrlkxkazhqr58%2fklimnyuhbeskylwgyy0w7tjz4hetfjgrb5bwbhpvhumfgvcaanbfwejjj5kqgadwavae8fwabhaasijhiacqgjkgn1cfmekiqewhvtcjb2zob5jkryhalknbvycsswmoarwauemtx%20et71dfr2phrb4drr8dqabstyadnyjppshav6h3kmug6cag1qcgkkszruyxqcbgadwvgsbyo%2fx6gwasmnzrhqlacgpzqzzghjjp%20iuani9nhfa4iargvasdsweaax3k32ob1af3osaagjlyg93twalo0ulfh5%2flf4fksadmsdgmi66nhcerogrqprmibeaaqplqoskssums8bsqbt6ut%2fkyqgg8t9%20qgoeb0jebbihdcrrqqpuokkkr0qjgnlf1d11nkaeqxiw4qsec2mpeginu1ch3cfea5vyaoly8innbzxhkac9cbqafzbdbhcdjciwfa9orzz0fuqvwiuerjhmi%20gsgbrvg9xqssbundo2dyik%2funkynuukguzjcwwbca3jri5ybmsflu2se%20t4rvn1vh9silbkkao7sy6f4fudoecbhj2atjppdjz0ufufyneatrxer103bdd2jtbus%2fy93v%20c9hxyjsw2pg95tvjmnzvv8qhfydbfherx0nadmmag1f2nzcztxayyj3hi9wpdmyoq09ukiy8slbxdfxvltcnfyib2hfhvwo38qonqc5xakkwigpjok3nioiqjmzj4g1pqbdcr2w3o5q7ut0ofxs3ykod%20hi8d5p%2frsapnvsl1nvdnng9j4o5ryei2htceec0zyiyb1curaqcubbfqbbnlsth1rn9hqjwmgcemi2lkckoaos5ljzh4xl5hy5qedoojhm5ubfncnbud0gaqoggkaqqir2ryjbtdmym03%20cojfqtcm1ai0qg4pmyjrcscdmhbwcrdaaxc%20dvgivijoqukeqsnogvsh90r9p5jpywc8q6greukzlepkyrwaemq6oxbrpuyjctxatqoo%207rece%2frbug1n1xgyap0zwb5rofgacw3bvprth%20wre9tv3o5414oy8eo1pjoy06ltqk1lsym68fyzqwck57so%20ckkuzgrvpjx6pialjaz21r2qgbmer6jkozg2gygmqabzajgc3wch1ppzbvrv9acyfd6nkmbbgutiypqpkawpaqqenoamwooxi8bkawaajbfdkjp1kj6gssywegad1gjajtkvichmmhraocjygiwj4mmg35btenztazbcbzchufj5xcgz3p8%20zhai2ifhv3iq5rn6c54qxjnlub8wc9fkhs5b1chcsaa3kopxahpszqqftqscgkhja3%20eiqhwg4yh1z6aijuqejbdoksslyqpilmaajex72iqr1yofgkeifaynyfa6dol9uhpcfrmnwrz%2fnxfl53%2fiinzzmejzb1ctk5dsea2s8ccmnuanmm5hx4dnfmbcp5ipkkxfaq5g6h3dvcuuzfn4ggwwhbaerphtgodmtejyqb2xjmgtea8wouefjwibogqeixagap2ibnrqj6da9md5lqopvgwzhacsy4ewfiyhucjd4ixnikojcyhnardnbgnbngiwyumjoszraay%20gbdhlsue8nnm7arqdzyzxakixb4i25cckfg%2fgwdvekkuyq%20rpdyg4dohmygnc6f3h0uwnan9bbslmrbuby5efzfscmexccrgsjcuanxlipfejwqgpbyvlfeo8qejrob8dfjpro%202obimgmvmiojodzfwy%2fek6xibifue6xymgdinfskngi5bgcckkokbgup%2fj1ftlqdqupmyvzksiwfvhj52ejk4f08cvd%20f9j9kiozccrlzpgtiyzpisl%20pkfms5ucdg0jfqs4c6zjgtoary%20p1sfbgjacuxgeytkzmzo85botbduiqdcopijbkqmkq82m2dwchowxcn5jcmlz1ivs%20jndfl7ibsko5gj0lpngbgsh2tvjqrybcpfuyeuzluciwjszy61jefu7fbipznjmabnpozivwmhr0siflblgscrcirszngxjwmqpmclpkeozehffz8qemexsutzhinn4tmakol78jxgeodkgz6c5xdlptsmfqr1xavhb4j1uraxamntm41czpkeott8q1xtb5ar6daylvonwqvpa66pgsymfm1bm%205nln4hlca8xpgq8vfpabs61b5guxtlvszjlrnw5jvcmjvrktwpruvm6pp987hkne8pp6thxbmtxceamki3gf6so%201scq3gqvec2djk3upv8em9lrbkn8equs3lmyzkbuyzs813yrytv2d0w5j7qxtvlfohnnavvqqxeuld3roubq0c8rt0tce4qdy5ityrp4nobvgi9sbqvjmvxw9bmj3utpuwyl9660uyu3xcxdpac2ednsko9xcgpjn4kbytcalmqyzfw2dy6m0zo5eu7lnarboz%2faspt%2f7b3gecqoibhgk0oqvfgxvehpglsbv6udftbwuk3z%20xye6auhpw8w35nhhznp4zkvjjgb2cdpfeyjt7qorp1a%2031h7gp5rcsgw9snaolsbepydwiz1cahum%2ftabdoicfce9fub6myyw6sqtibcpkbs2sltatipgd02rtzj6pnibma%209tpkzmweiax96yaqqqd0bhegniga%3d being used with multiple axes being changed { "rules" \[ { "itemrefid" 1, "operation" "compact pattern", "options" { "alternating" "true", "compactibleaxes" \[ 1, 2 ], "compactproperties" \[ { "targetrefid" null, "compactibleaxisdimensionchange" \[ { "y" 0 515 }, { "z" 0 515 } ] } ] } } ], "itemsets" \[ { "originalrefid" "1", "refid" 1, "name" "cup 1 drice10", "weight" 0 4927, "sequence" "1", "dimensions" { "z" 3 707, "y" 3 707, "x" 4 682 }, "orderid" "123350675", "quantity" 9 } ], "boxtypes" \[ { "originalrefid" "10", "name" "b0 10", "dimensions" { "z" 12 75, "y" 17 75, "x" 9 }, "weightmax" 150, "refid" 10 } ] } https //inspector manage dev paccurate io/config editor/?config=n4igxg9gnlcmybccweb2bjajiaxcanamwbssmza7alqasahmfrytqkxv1g0amvsataezbyvqx4bdaebyancaaoesagukawwaysvlacucrlkxkazhqr58%2fklimnyuhbeskylwgyy0w7tjz4hetfjgrb5bwbhpvhumfgvcaanbfwejjj5kqgadwavae8fwabhaasijhiacqgjkgn1cfmekiqewhvtcjb2zob5jkryhalknbvycsswmoarwauemtx%20et71dfr2phrb4drr8dqabstyadnyjppshav6h3kmug6cag1qcgkkszruyxqcbgadwvgsbyo%2fx6gwasmnzrhqlacgpzqzzghjjp%20iuani9nhfa4iargvasdsweaax3k32ob1af3osaagjlyg93twalo0ulfh5%2flf4fksadmsdgmi66nhcerogrqprmibeaaqplqoskssums8bsqbt6ut%2fkyqgg8t9%20qgoeb0jebbihdcrrqqpuokkkr0qjgnlf1d11nkaeqxiw4qsec2mpeginu1ch3cfea5vyaoly8innbzxhkac9cbqafzbdbhcdjciwfa9orzz0fuqvwiuerjhmi%20gsgbrvg9xqssbundo2dyik%2funkynuukguzjcwwbca3jri5ybmsflu2se%20t4rvn1vh9silbkkao7sy6f4fudoecbhj2atjppdjz0ufufyneatrxer103bdd2jtbus%2fy93v%20c9hxyjsw2pg95tvjmnzvv8qhfydbfherx0nadmmag1f2nzcztxayyj3hi9wpdmyoq09ukiy8slbxdfxvltcnfyib2hfhvwo38qonqc5xakkwigpjok3nioiqjmzj4g1pqbdcr2w3o5q7ut0ofxs3ykod%20hi8d5p%2frsapnvsl1nvdnng9j4o5ryei2htceec0zyiyb1curaqcubbfqbbnlsth1rn9hqjwmgcemi2lkckoaos5ljzh4xl5hy5qedoojhm5ubfncnbud0gaqoggkaqqir2ryjbtdmym03%20cojfqtcm1ai0qg4pmyjrcscdmhbwcrdaaxc%20dvgivijoqukeqsnogvsh90r9p5jpywc8q6greukzlepkyrwaemq6oxbrpuyjctxatqoo%207rece%2frbug1n1xgyap0zwb5rofgacw3bvprth%20wre9tv3o5414oy8eo1pjoy06ltqk1lsym68fyzqwck57so%20ckkuzgrvpjx6pialjaz21r2qgbmer6jkozg2gygmqabzajgc3wch1ppzbvrv9acyfd6nkmbbgutiypqpkawpaqqenoamwooxi8bkawaajbfdkjp1kj6gssywegad1gjajtkvichmmhraocjygiwj4mmg35btenztazbcbzchufj5xcgz3p8%20zhai2ifhv3iq5rn6c54qxjnlub8wc9fkhs5b1chcsaa3kopxahpszqqftqscgkhja3%20eiqhwg4yh1z6aijuqejbdoksslyqpilmaajex72iqr1yofgkeifaynyfa6dol9uhpcfrmnwrz%2fnxfl53%2fiinzzmejzb1ctk5dsea2s8ccmnuanmm5hx4dnfmbcp5ipkkxfaq5g6h3dvcuuzfn4ggwwhbaerphtgodmtejyqb2xjmgtea8wouefjwibogqeixagap2ibnrqj6da9md5lqopvgwzhacsy4ewfiyhucjd4ixnikojcyhnardnbgnbngiwyumjoszraay%20gbdhlsue8nnm7arqdzyzxakixb4i25cckfg%2fgwdvekkuyq%20rpdyg4dohmygnc6f3h0uwnan9bbslmrbuby5efzfscmexccrgsjcuanxlipfejwqgpbyvlfeo8qejrob8dfjpro%202obimgmvmiojodzfwy%2fek6xibifue6xymgdinfskngi5bgcckkokbgup%2fj1ftlqdqupmyvzksiwfvhj52ejk4f08cvd%20f9j9kiozccrlzpgtiyzpisl%20pkfms5ucdg0jfqs4c6zjgtoary%20p1sfbgjacuxgeytkzmzo85botbduiqdcopijbkqmkq82m2dwchowxcn5jcmlz1ivs%20jndfl7ibsko5gj0lpngbgsh2tvjqrybcpfuyeuzluciwjszy61jefu7fbipznjmabnpozivwmhr0siflblgscrcirszngxjwmqpmclpkeozehffz8qemexsutzhinn4tmakol78jxgeodkgz6c5xdlptsmfqr1xavhb4j1uraxamntm41czpkeott8q1xtb5ar6daylvonwqvpa66pgsymfm1bm%205nln4hlca8xpgq8vfpabs61b5guxtlvszjlrnw5jvcmjvrktwpruvm6pp987hkne8pp6thxbmtxceamki3gf6so%201scq3gqvec2djk3upv8em9lrbkn8equs3lmyzkbuyzs813yrytv2d0w5j7qxtvlfohnnavvqqxeuld3roubq0c8rt0tce4qdy5ityrp4nobvgi9sbqvjmvxw9bmj3utpuwyl9660uyu3xcxdpac2ednsko9xcgpjn4kbytcalmqyzfw2dy6m0zo5eu7lnarboz%2faspt%2f7b3gecqoibhgk0oqvfgxvehpglsbv6udftbwuk3z%20xye6auhpw8w35nhhznp4zkvjjgb2cdpfeyjt7qorp1a%2031h7gp5rcsgw9snaolsbepydwiz1cahum%2ftabdoicfce9fub6myyw6sqtibcpkbs2sltatipgd02rtzj6pnibma%209tpkzmweiax96yaqqqd0bhegniga%3d\&embed=true https //inspector manage dev paccurate io/config editor/?config=n4igxg9gnlcmybccweb2bjajiaxcanamwbssmza7alqasahmfrytqkxv1g0amvsataezbyvqx4bdaebyancaaoesagukawwaysvlacucrlkxkazhqr58%2fklimnyuhbeskylwgyy0w7tjz4hetfjgrb5bwbhpvhumfgvcaanbfwejjj5kqgadwavae8fwabhaasijhiacqgjkgn1cfmekiqewhvtcjb2zob5jkryhalknbvycsswmoarwauemtx%20et71dfr2phrb4drr8dqabstyadnyjppshav6h3kmug6cag1qcgkkszruyxqcbgadwvgsbyo%2fx6gwasmnzrhqlacgpzqzzghjjp%20iuani9nhfa4iargvasdsweaax3k32ob1af3osaagjlyg93twalo0ulfh5%2flf4fksadmsdgmi66nhcerogrqprmibeaaqplqoskssums8bsqbt6ut%2fkyqgg8t9%20qgoeb0jebbihdcrrqqpuokkkr0qjgnlf1d11nkaeqxiw4qsec2mpeginu1ch3cfea5vyaoly8innbzxhkac9cbqafzbdbhcdjciwfa9orzz0fuqvwiuerjhmi%20gsgbrvg9xqssbundo2dyik%2funkynuukguzjcwwbca3jri5ybmsflu2se%20t4rvn1vh9silbkkao7sy6f4fudoecbhj2atjppdjz0ufufyneatrxer103bdd2jtbus%2fy93v%20c9hxyjsw2pg95tvjmnzvv8qhfydbfherx0nadmmag1f2nzcztxayyj3hi9wpdmyoq09ukiy8slbxdfxvltcnfyib2hfhvwo38qonqc5xakkwigpjok3nioiqjmzj4g1pqbdcr2w3o5q7ut0ofxs3ykod%20hi8d5p%2frsapnvsl1nvdnng9j4o5ryei2htceec0zyiyb1curaqcubbfqbbnlsth1rn9hqjwmgcemi2lkckoaos5ljzh4xl5hy5qedoojhm5ubfncnbud0gaqoggkaqqir2ryjbtdmym03%20cojfqtcm1ai0qg4pmyjrcscdmhbwcrdaaxc%20dvgivijoqukeqsnogvsh90r9p5jpywc8q6greukzlepkyrwaemq6oxbrpuyjctxatqoo%207rece%2frbug1n1xgyap0zwb5rofgacw3bvprth%20wre9tv3o5414oy8eo1pjoy06ltqk1lsym68fyzqwck57so%20ckkuzgrvpjx6pialjaz21r2qgbmer6jkozg2gygmqabzajgc3wch1ppzbvrv9acyfd6nkmbbgutiypqpkawpaqqenoamwooxi8bkawaajbfdkjp1kj6gssywegad1gjajtkvichmmhraocjygiwj4mmg35btenztazbcbzchufj5xcgz3p8%20zhai2ifhv3iq5rn6c54qxjnlub8wc9fkhs5b1chcsaa3kopxahpszqqftqscgkhja3%20eiqhwg4yh1z6aijuqejbdoksslyqpilmaajex72iqr1yofgkeifaynyfa6dol9uhpcfrmnwrz%2fnxfl53%2fiinzzmejzb1ctk5dsea2s8ccmnuanmm5hx4dnfmbcp5ipkkxfaq5g6h3dvcuuzfn4ggwwhbaerphtgodmtejyqb2xjmgtea8wouefjwibogqeixagap2ibnrqj6da9md5lqopvgwzhacsy4ewfiyhucjd4ixnikojcyhnardnbgnbngiwyumjoszraay%20gbdhlsue8nnm7arqdzyzxakixb4i25cckfg%2fgwdvekkuyq%20rpdyg4dohmygnc6f3h0uwnan9bbslmrbuby5efzfscmexccrgsjcuanxlipfejwqgpbyvlfeo8qejrob8dfjpro%202obimgmvmiojodzfwy%2fek6xibifue6xymgdinfskngi5bgcckkokbgup%2fj1ftlqdqupmyvzksiwfvhj52ejk4f08cvd%20f9j9kiozccrlzpgtiyzpisl%20pkfms5ucdg0jfqs4c6zjgtoary%20p1sfbgjacuxgeytkzmzo85botbduiqdcopijbkqmkq82m2dwchowxcn5jcmlz1ivs%20jndfl7ibsko5gj0lpngbgsh2tvjqrybcpfuyeuzluciwjszy61jefu7fbipznjmabnpozivwmhr0siflblgscrcirszngxjwmqpmclpkeozehffz8qemexsutzhinn4tmakol78jxgeodkgz6c5xdlptsmfqr1xavhb4j1uraxamntm41czpkeott8q1xtb5ar6daylvonwqvpa66pgsymfm1bm%205nln4hlca8xpgq8vfpabs61b5guxtlvszjlrnw5jvcmjvrktwpruvm6pp987hkne8pp6thxbmtxceamki3gf6so%201scq3gqvec2djk3upv8em9lrbkn8equs3lmyzkbuyzs813yrytv2d0w5j7qxtvlfohnnavvqqxeuld3roubq0c8rt0tce4qdy5ityrp4nobvgi9sbqvjmvxw9bmj3utpuwyl9660uyu3xcxdpac2ednsko9xcgpjn4kbytcalmqyzfw2dy6m0zo5eu7lnarboz%2faspt%2f7b3gecqoibhgk0oqvfgxvehpglsbv6udftbwuk3z%20xye6auhpw8w35nhhznp4zkvjjgb2cdpfeyjt7qorp1a%2031h7gp5rcsgw9snaolsbepydwiz1cahum%2ftabdoicfce9fub6myyw6sqtibcpkbs2sltatipgd02rtzj6pnibma%209tpkzmweiax96yaqqqd0bhegniga%3d\&embed=true viewing the example in our inspector, you can see that the innermost instance of the item is much smaller than the outermost — it reduces each dimension by 515” as they are placed alongside each other in the width and length dimensions the compactibleaxisdimensionchange values are not restricted to a single dimension you could for example, increase an items height while reducing its length when placed next to itself (or other items!) it is worth noting that the dimension changes and targetrefid mapping are quite strict; you must be specific when creating these rules if an item can compact against n different items, you could wind up with a very long compactproperties list we find in most cases, shippers create rules for specific item shapes primarily (using targetrefid\ null ) which covers the majority of use cases nesting what if, instead of shipping traffic cones, you needed to ship several trash cans, and you want to be able to use the inside of those cans to pack additional items in the shipment? in this case, we want to keep our compact pattern logic, but add in another rule internal space the internal space rule creates a subspace inside an item in which other items can be packed the subspace is defined the same way as any other boxtype — it can have a refid, weightmax, price, etc the available options for the internal space rule are type must be “subspace” boxtype the type definition of the subspace inherits the boxtype schema and should contain, at minimum, a name , weightmax , and dimensions origin a point value where the subspace is positioned relative to the item’s origin point and dimensions blocking a boolean value that defines whether the bounding box of the internal space blocks the placement of other items in the parent box display a boolean value representing the option to display the bounding box of the internal space as a white semi transparent object in the visualization of the containing item displaychildren boolean option to display the children packed within the internals pace in the visualization of its containing parent box {"rules" \[ { "operation" "internal space", "itemmatch" { "property" "sequence", "expression" "basket" }, "options" { "type" "subspace", "boxtype" { "weightmax" 10, "name" "bucket interior", "price" 0, "refid" 202, "dimensions" { "x" 8, "y" 6, "z" 6 } }, "origin" { "x" 0 25, "y" 1, "z" 1 }, "display" false, "displaychildren" true } }, { "itemmatch" { "property" "sequence", "expression" "basket" }, "operation" "compact pattern", "options" { "alternating" true, "compactibleaxes" \[ 0 ], "compactproperties" \[ { "targetrefid" null, "compactibleaxisdimensionchange" \[ { "x" 8 5 } ] } ] } } ] } the combined config above creates a wastebasket with an available internal space for packing to the right, we see the output of the above rules, combined with 3 smaller items that were packed in addition to the wastebaskets 💡 important to note only one subspace will be created when items are compacted this means in reality the “topmost” compacted item is the one that contains the subspace while the api response will return lenboxes 1 , the boxes array in the response will include an additional “box” for the interior space this box has a subspace property with information about its position in its parent, along with the parent box and item indexes "subspace" { "origininparent" { "x" 0 25, "y" 1, "z" 1 }, "parentboxindex" 0, "parentitemindex" 1 } also of note, the outermost box will include the items in the subspace as part of its lenitems if you need to assign an item in a subspace to an outer box, use the subspace property to make that assignment when looping through the output boxes https //inspector manage paccurate io/config editor?config=n4ig9gtgjgphcwuqc4qe4csagahajjrabor4axgawwguyybnfabvahgdmbjjzlegdxjwa5gasykpcqcoavwcgaozlkanigwlf8yjbqga6vpouabacfjaazreq9ghjikaxntsx6nissjxdivtwyieooaaekacmfcdqyabsjabekakaviquyaa2kpoaxngazdboocczrbzc0tikymooxb7+zkehjmgr0qb0mngskshyvxgymscciuj1inq6+iqkqqzkovckwnbzercfcqdsacw4uytpalokeli5mf0s4aaocpiqifqbfbdaoqc09ge8jcdnivaasu8xkiwibnhawk8igr4vzhljnkcsdbwgihh1fpppn5kiqkr9qt0qkjxvp6liaezakf6eimsdhaaqqjp1omyjiumiybiwh07ha5lklm8pm+cgc+xicpgon4nxqpdwwckid8aujxr6ybwjhisraqus6umkbemzhitg43nc2tuumfiboxk8xy8hydlapr9agenjkogwicgylcylaikbwzqowqyxceui4kj6riswyqlj8frcctrly7cj3sfyybsprgs4yp9gwqfktyc9kcaqiho7wtih45ismamycviz7gbbcipzhya4nifnsgaburyjui+qtzi8ggwjoacutshfhccupjy34doypp4pqacjtqj1inke/me3/hb+iuycrnztkever5qafcrhwawifklhaaa0uiqvpdtrpsrtnqztwgu0k2gorbtg5bjgqiv9eozcaisowdxalcnrqq43wqnirtsiiphi2d5bfypkmwvaojwzcxoq+imkyzownfpv4jegimiqxizifasuao8urjakjigkwydiyj8jxkgz2msrjrwkhiym0kudpmkjrisvdunmzc5opeuoktejcothb7l4xz4n0yuomocsyuk/uzoy3zomokzups1tk3u0itpi4soqwctcrerzzkpe0xtwyqptwuknli5zep0alyok9ceu88qqd89klpsj0qruhygvy5qumkkqzm/hyktwps9rquqcqc0budq2lsumrqcpyokuqw/ivsisa2qkzbzos0u5uipabsgskruo1advayaork7djfipqcleg7wryp6qbomimhopktu4+jootcz7vq3lgtc/tximsgpouirfoibbojhrlhsr1auyk8shpbmbupxqzceqit/sely9jeln4syrbpuqhv2o5my8ey4ieaopmcqkit0fejmlo+6jyg9fhbewtibia0tudrix2cxqmfjp36feyw7tojqimfjoqke2vg9zsmigajogxqica8etzneau26/vhpxazf/r+aks6myhnx+fyy1rqfw2aar5mypat6tddku8f6llftqn2jb91x9okwrtjd6wrll7tbojh6hf90sc9j4vlsqpsy4u+3hbz53zatxlkb867ddtrpk6f43haictx6iq4g5npaois+fbconvr5rkawcknuz7dmwuzbnuv9z5h3pc4o2z7q3egjgiz8pnatzd+uq97m6bcw7py5ns3tff7e/igjsax5ahzjlfcakez5/1flvw6t8p6mzzmgzcsdnzqoqggdigdbyv0vjnubj1o6oofpfz2vkvy4jjmre+jtn60lqr7l6bed7wornnda7vk4v3wnhw6fdcbt2rhndwadljvvpt7yevt8hpxengmm59oru2xlzwmcdjf4ifqdihkttz9zib9phvcbf6rpshciacappaihrebxn2fop7rww+cqvacpaw1er/dshynsudfyelt4ki+hzsxopi7ngjvw1eec8aovichhrkdjd91ispo+xm07iuywneh6cub9ukmcxxa8yhiylsqzmtdzbwmmspi+elsmlmok7cpjcqot2acumjcc4q5lsmklhxjjtxp8dfehxjwmiikym6jyna4/2nq0y64cqpanyl0wr6semcjico0rucnkno/mbcpisugmysms8itspezlitsi+7s8mtmiuy2zel1oxacbtx6wbdmshinflaac8kfmsh8mz9thmfrpvq3elznguiat0jasykp5oir9az6jp5azpkhijutlpn2vhlf5+htgnj2zzujkztjkrwh5kljz5kojqqyka61mnfj4qrtpklqelk2vvnfotrhzsyrcnfcc5m0kycc0vqdd682tmw6vrc5kxuyys3rhsezgtexu6rjnjlmsurzpztn6wgvik4hishydubcaghsxqaxbhggbbkviyarjagqgaabxmagz9cudacyf4qzgdpcaa===\&embed=true https //inspector manage paccurate io/config editor?config=n4ig9gtgjgphcwuqc4qe4csagahajjrabor4axgawwguyybnfabvahgdmbjjzlegdxjwa5gasykpcqcoavwcgaozlkanigwlf8yjbqga6vpouabacfjaazreq9ghjikaxntsx6nissjxdivtwyieooaaekacmfcdqyabsjabekakaviquyaa2kpoaxngazdboocczrbzc0tikymooxb7+zkehjmgr0qb0mngskshyvxgymscciuj1inq6+iqkqqzkovckwnbzercfcqdsacw4uytpalokeli5mf0s4aaocpiqifqbfbdaoqc09ge8jcdnivaasu8xkiwibnhawk8igr4vzhljnkcsdbwgihh1fpppn5kiqkr9qt0qkjxvp6liaezakf6eimsdhaaqqjp1omyjiumiybiwh07ha5lklm8pm+cgc+xicpgon4nxqpdwwckid8aujxr6ybwjhisraqus6umkbemzhitg43nc2tuumfiboxk8xy8hydlapr9agenjkogwicgylcylaikbwzqowqyxceui4kj6riswyqlj8frcctrly7cj3sfyybsprgs4yp9gwqfktyc9kcaqiho7wtih45ismamycviz7gbbcipzhya4nifnsgaburyjui+qtzi8ggwjoacutshfhccupjy34doypp4pqacjtqj1inke/me3/hb+iuycrnztkever5qafcrhwawifklhaaa0uiqvpdtrpsrtnqztwgu0k2gorbtg5bjgqiv9eozcaisowdxalcnrqq43wqnirtsiiphi2d5bfypkmwvaojwzcxoq+imkyzownfpv4jegimiqxizifasuao8urjakjigkwydiyj8jxkgz2msrjrwkhiym0kudpmkjrisvdunmzc5opeuoktejcothb7l4xz4n0yuomocsyuk/uzoy3zomokzups1tk3u0itpi4soqwctcrerzzkpe0xtwyqptwuknli5zep0alyok9ceu88qqd89klpsj0qruhygvy5qumkkqzm/hyktwps9rquqcqc0budq2lsumrqcpyokuqw/ivsisa2qkzbzos0u5uipabsgskruo1advayaork7djfipqcleg7wryp6qbomimhopktu4+jootcz7vq3lgtc/tximsgpouirfoibbojhrlhsr1auyk8shpbmbupxqzceqit/sely9jeln4syrbpuqhv2o5my8ey4ieaopmcqkit0fejmlo+6jyg9fhbewtibia0tudrix2cxqmfjp36feyw7tojqimfjoqke2vg9zsmigajogxqica8etzneau26/vhpxazf/r+aks6myhnx+fyy1rqfw2aar5mypat6tddku8f6llftqn2jb91x9okwrtjd6wrll7tbojh6hf90sc9j4vlsqpsy4u+3hbz53zatxlkb867ddtrpk6f43haictx6iq4g5npaois+fbconvr5rkawcknuz7dmwuzbnuv9z5h3pc4o2z7q3egjgiz8pnatzd+uq97m6bcw7py5ns3tff7e/igjsax5ahzjlfcakez5/1flvw6t8p6mzzmgzcsdnzqoqggdigdbyv0vjnubj1o6oofpfz2vkvy4jjmre+jtn60lqr7l6bed7wornnda7vk4v3wnhw6fdcbt2rhndwadljvvpt7yevt8hpxengmm59oru2xlzwmcdjf4ifqdihkttz9zib9phvcbf6rpshciacappaihrebxn2fop7rww+cqvacpaw1er/dshynsudfyelt4ki+hzsxopi7ngjvw1eec8aovichhrkdjd91ispo+xm07iuywneh6cub9ukmcxxa8yhiylsqzmtdzbwmmspi+elsmlmok7cpjcqot2acumjcc4q5lsmklhxjjtxp8dfehxjwmiikym6jyna4/2nq0y64cqpanyl0wr6semcjico0rucnkno/mbcpisugmysms8itspezlitsi+7s8mtmiuy2zel1oxacbtx6wbdmshinflaac8kfmsh8mz9thmfrpvq3elznguiat0jasykp5oir9az6jp5azpkhijutlpn2vhlf5+htgnj2zzujkztjkrwh5kljz5kojqqyka61mnfj4qrtpklqelk2vvnfotrhzsyrcnfcc5m0kycc0vqdd682tmw6vrc5kxuyys3rhsezgtexu6rjnjlmsurzpztn6wgvik4hishydubcaghsxqaxbhggbbkviyarjagqgaabxmagz9cudacyf4qzgdpcaa===\&embed=true if an item is not compacted, the inner space will be assigned for each instance of the packed item, and will also be included in any api response, even if the subspaces are empty since the subspaces are their own boxtype you can create rules to exclude items from them, or make them more or less expensive to incentivize items being packed in them conclusion stacking and nesting are powerful techniques in optimizing packing efficiency by utilizing paccurate's compact pattern and internal space rules, shippers can significantly reduce wasted space and improve their packing strategies the compact pattern rule allows for efficient stacking of items like traffic cones or cups, reducing the overall dimensions when multiple items are packed together this is particularly useful for items that can compress or fit snugly against each other the internal space rule enables the creation of subspaces within larger items, such as packing smaller items inside a trash can this maximizes the use of available space and can lead to more efficient and cost effective shipping by combining these rules and understanding their applications, shippers can create sophisticated packing algorithms that account for the unique characteristics of their inventory this results in optimized space utilization, potentially reduced shipping costs, and improved overall logistics efficiency